blob: 580be40ef4982eebc0088059e0b34786a74b33c2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
package org.checkerframework.javacutil;
import java.lang.annotation.Annotation;
import javax.lang.model.element.AnnotationMirror;
import javax.lang.model.element.Element;
import com.sun.source.tree.Tree;
/**
* An implementation of AnnotationProvider returns annotations on
* Java AST elements.
*/
public interface AnnotationProvider {
/**
* Returns the actual annotation mirror used to annotate this type,
* whose name equals the passed annotationName if one exists, null otherwise.
*
* @param anno annotation class
* @return the annotation mirror for anno
*/
public AnnotationMirror getDeclAnnotation(Element elt,
Class<? extends Annotation> anno);
/**
* Return the annotation on {@code tree} that has the class
* {@code target}. If no annotation for the given target class exists,
* the result is {@code null}
*
* @param tree
* The tree of which the annotation is returned
* @param target
* The class of the annotation
*/
public AnnotationMirror getAnnotationMirror(Tree tree,
Class<? extends Annotation> target);
}
|