All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.checkerframework.javacutil.AnnotationProvider Maven / Gradle / Ivy

package org.checkerframework.javacutil;

import com.sun.source.tree.Tree;
import java.lang.annotation.Annotation;
import javax.lang.model.element.AnnotationMirror;
import javax.lang.model.element.Element;

/** 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 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 target);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy