Class MethodApplier
java.lang.Object
org.checkerframework.framework.util.element.MethodApplier
Adds annotations from element to the return type, formal parameter types, type parameters, and
 throws clauses of the AnnotatedExecutableType type.
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected final ElementAn Element that type represents.protected final AnnotatedTypeMirrorThe type to which we wish to apply annotations.
- 
Method SummaryModifier and TypeMethodDescriptionstatic booleanaccepts(AnnotatedTypeMirror typeMirror, Element element) protected com.sun.tools.javac.code.TargetType[]Returns receiver, returns, and throws.static voidapply(AnnotatedTypeMirror type, Element element, AnnotatedTypeFactory typeFactory) Apply annotations fromelementtotype.voidSets the method's element, annotates its return type, parameters, type parameters, and throws annotations.protected Iterable<com.sun.tools.javac.code.Attribute.TypeCompound>Returns the annotations on the method symbol (element).protected voidhandleInvalid(List<com.sun.tools.javac.code.Attribute.TypeCompound> invalid) This implementation reports all invalid annotations as errors.protected voidhandleTargeted(List<com.sun.tools.javac.code.Attribute.TypeCompound> targeted) This method should apply all annotations that are handled by this object.protected voidhandleValid(List<com.sun.tools.javac.code.Attribute.TypeCompound> valid) The default implementation of this method does nothing.protected booleanTests 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>> 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[]Returns all possible annotation positions for a method except those in annotatedTargets.
- 
Field Details- 
typeThe type to which we wish to apply annotations.
- 
elementAn Element that type represents.
 
- 
- 
Method Details- 
applypublic static void apply(AnnotatedTypeMirror type, Element element, AnnotatedTypeFactory typeFactory) throws ElementAnnotationUtil.UnexpectedAnnotationLocationException Apply annotations fromelementtotype.
- 
accepts
- 
annotatedTargetsprotected com.sun.tools.javac.code.TargetType[] annotatedTargets()Returns receiver, returns, and throws. See extract and apply as we also annotate type params.- Returns:
- receiver, returns, and throws
 
- 
validTargetsprotected com.sun.tools.javac.code.TargetType[] validTargets()Returns all possible annotation positions for a method except those in annotatedTargets.- Returns:
- all possible annotation positions for a method except those in annotatedTargets
 
- 
getRawTypeAttributesReturns the annotations on the method symbol (element).- Returns:
- the annotations on the method symbol (element)
 
- 
isAcceptedprotected boolean isAccepted()Tests element/type fields to ensure that this TargetedElementAnnotationApplier is valid for this element/type pair.- Returns:
- true if the type/element members are handled by this class false otherwise
 
- 
extractAndApplySets the method's element, annotates its return type, parameters, type parameters, and throws annotations.
- 
handleTargetedprotected void handleTargeted(List<com.sun.tools.javac.code.Attribute.TypeCompound> targeted) throws ElementAnnotationUtil.UnexpectedAnnotationLocationException This method should apply all annotations that are handled by this object.- Parameters:
- targeted- the list of annotations that were returned by getRawTypeAttributes and had a TargetType contained by annotatedTargets
- Throws:
- ElementAnnotationUtil.UnexpectedAnnotationLocationException
 
- 
handleValidThe default implementation of this method does nothing.- Parameters:
- valid- the list of annotations that were returned by getRawTypeAttributes and had a TargetType contained by valid and NOT annotatedTargets
 
- 
handleInvalidThis implementation reports all invalid annotations as errors.- Parameters:
- invalid- the list of annotations that were returned by getRawTypeAttributes and were not handled by handleTargeted or handleValid
 
- 
siftprotected 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.- Parameters:
- typeCompounds- annotations to sift through, should be those returned by getRawTypeAttributes
- Returns:
- a Map<TargetClass => Annotations>.
 
 
-