public interface AnnotationProvider
Modifier and Type | Method and Description |
---|---|
@Nullable AnnotationMirror |
getAnnotationMirror(Tree tree,
Class<? extends Annotation> target)
Return the annotation on
tree that is in the hierarchy that contains the qualifier
target . |
@Nullable AnnotationMirror |
getDeclAnnotation(Element elt,
Class<? extends Annotation> anno)
Returns the AnnotationMirror, of the given class or an alias of it, used to annotate the
element.
|
boolean |
isSideEffectFree(ExecutableElement methodElement)
Returns true if the given method is side-effect-free according to this AnnotationProvider
— that is, if a call to the given method does not undo flow-sensitive type refinement.
|
@Nullable AnnotationMirror getDeclAnnotation(Element elt, Class<? extends Annotation> anno)
anno
exists on elt
.elt
- the elementanno
- annotation classanno
on elt
, or an equivalent one, or
null if none exists on anno
@Nullable AnnotationMirror getAnnotationMirror(Tree tree, Class<? extends Annotation> target)
tree
that is in the hierarchy that contains the qualifier
target
. Returns null if none exists.tree
- the tree of which the annotation is returnedtarget
- the class of the annotationtree
that has the class target
, or nullboolean isSideEffectFree(ExecutableElement methodElement)
Note that this method takes account of this AnnotationProvider's semantics, whereas org.checkerframework.dataflow.util.PurityUtils#isSideEffectFree
does not.
methodElement
- a method