public class MethodApplier extends Object
| Modifier and Type | Field and Description | 
|---|---|
protected Element | 
element
An Element that type represents. 
 | 
protected AnnotatedTypeMirror | 
type
The type to which we wish to apply annotations. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
static boolean | 
accepts(AnnotatedTypeMirror typeMirror,
       Element element)  | 
protected com.sun.tools.javac.code.TargetType[] | 
annotatedTargets()
Returns receiver, returns, and throws. 
 | 
static void | 
apply(AnnotatedTypeMirror type,
     Element element,
     AnnotatedTypeFactory typeFactory)
Apply annotations from  
element to type. | 
void | 
extractAndApply()
Sets the method's element, annotates its return type, parameters, type parameters, and throws
 annotations. 
 | 
protected Iterable<com.sun.tools.javac.code.Attribute.TypeCompound> | 
getRawTypeAttributes()
Returns the annotations on the method symbol (element). 
 | 
protected void | 
handleInvalid(List<com.sun.tools.javac.code.Attribute.TypeCompound> invalid)
This implementation reports all invalid annotations as errors. 
 | 
protected void | 
handleTargeted(List<com.sun.tools.javac.code.Attribute.TypeCompound> targeted)
This method should apply all annotations that are handled by this object. 
 | 
protected void | 
handleValid(List<com.sun.tools.javac.code.Attribute.TypeCompound> valid)
The default implementation of this method does nothing. 
 | 
protected boolean | 
isAccepted()
Tests element/type fields to ensure that this TargetedElementAnnotationApplier is valid for
 this element/type pair. 
 | 
protected Map<org.checkerframework.framework.util.element.TargetedElementAnnotationApplier.TargetClass,List<com.sun.tools.javac.code.Attribute.TypeCompound>> | 
sift(Iterable<com.sun.tools.javac.code.Attribute.TypeCompound> typeCompounds)
Separate the input annotations into a Map of TargetClass (TARGETED, VALID, INVALID) to the
 annotations that fall into each of those categories. 
 | 
protected com.sun.tools.javac.code.TargetType[] | 
validTargets()
Returns all possible annotation positions for a method except those in annotatedTargets. 
 | 
protected final AnnotatedTypeMirror type
protected final Element element
public static void apply(AnnotatedTypeMirror type, Element element, AnnotatedTypeFactory typeFactory) throws ElementAnnotationUtil.UnexpectedAnnotationLocationException
element to type.public static boolean accepts(AnnotatedTypeMirror typeMirror, Element element)
protected com.sun.tools.javac.code.TargetType[] annotatedTargets()
protected com.sun.tools.javac.code.TargetType[] validTargets()
protected Iterable<com.sun.tools.javac.code.Attribute.TypeCompound> getRawTypeAttributes()
protected boolean isAccepted()
public void extractAndApply()
                     throws ElementAnnotationUtil.UnexpectedAnnotationLocationException
protected void handleTargeted(List<com.sun.tools.javac.code.Attribute.TypeCompound> targeted) throws ElementAnnotationUtil.UnexpectedAnnotationLocationException
targeted - the list of annotations that were returned by getRawTypeAttributes and had a
     TargetType contained by annotatedTargetsElementAnnotationUtil.UnexpectedAnnotationLocationExceptionprotected void handleValid(List<com.sun.tools.javac.code.Attribute.TypeCompound> valid)
valid - the list of annotations that were returned by getRawTypeAttributes and had a
     TargetType contained by valid and NOT annotatedTargetsprotected void handleInvalid(List<com.sun.tools.javac.code.Attribute.TypeCompound> invalid)
invalid - the list of annotations that were returned by getRawTypeAttributes and were not
     handled by handleTargeted or handleValidprotected Map<org.checkerframework.framework.util.element.TargetedElementAnnotationApplier.TargetClass,List<com.sun.tools.javac.code.Attribute.TypeCompound>> sift(Iterable<com.sun.tools.javac.code.Attribute.TypeCompound> typeCompounds)
typeCompounds - annotations to sift through, should be those returned by
     getRawTypeAttributes