Class AnnotatedTypeMirror.AnnotatedExecutableType
java.lang.Object
org.checkerframework.framework.type.AnnotatedTypeMirror
org.checkerframework.framework.type.AnnotatedTypeMirror.AnnotatedExecutableType
- All Implemented Interfaces:
org.plumelib.util.DeepCopyable<AnnotatedTypeMirror>
- Enclosing class:
AnnotatedTypeMirror
Represents a type of an executable. An executable is a method, constructor, or initializer.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.checkerframework.framework.type.AnnotatedTypeMirror
AnnotatedTypeMirror.AnnotatedArrayType, AnnotatedTypeMirror.AnnotatedDeclaredType, AnnotatedTypeMirror.AnnotatedExecutableType, AnnotatedTypeMirror.AnnotatedIntersectionType, AnnotatedTypeMirror.AnnotatedNoType, AnnotatedTypeMirror.AnnotatedNullType, AnnotatedTypeMirror.AnnotatedPrimitiveType, AnnotatedTypeMirror.AnnotatedTypeVariable, AnnotatedTypeMirror.AnnotatedUnionType, AnnotatedTypeMirror.AnnotatedWildcardType -
Field Summary
Fields inherited from class org.checkerframework.framework.type.AnnotatedTypeMirror
atypeFactory, EQUALITY_COMPARER, HASHCODE_VISITOR, primaryAnnotations, underlyingType -
Method Summary
Modifier and TypeMethodDescription<R,P> R accept(AnnotatedTypeVisitor<R, P> v, P p) Applies a visitor to this type.voidaddAnnotation(AnnotationMirror annotation) Deprecated.add to the appropriate componentdeepCopy()Returns a deep copy of this type with annotations.deepCopy(boolean copyAnnotations) Returns a deep copy of this type.Returns the element of this AnnotatedExecutableType.Returns the erasure type of this type, according to JLS specifications.Returns the parameter types of this executable type, excluding the receiver.Returns the receiver type of this executable type; null for static methods and constructors of top-level classes.The return type of a method or constructor.Returns the thrown types of this executable type.Returns the type variables of this executable type, if any.Returns the underlying unannotated Java type, which this wraps.booleanReturns true if this type represents a varargs method.voidsetElement(ExecutableElement elem) Sets the element of this AnnotatedExecutableType.voidSets the receiver type on this executable type.Returns a shallow copy of this type with annotations.shallowCopy(boolean copyAnnotations) Returns a shallow copy of this type.voidReplaces the return type by a shallow copy of itself.Methods inherited from class org.checkerframework.framework.type.AnnotatedTypeMirror
addAnnotation, addAnnotations, addMissingAnnotation, addMissingAnnotations, asUse, clearAnnotations, clearPrimaryAnnotations, containsCapturedTypes, createType, createTypeOfObject, createTypeOfRecord, directSupertypes, equals, getAnnotation, getAnnotation, getAnnotation, getAnnotationInHierarchy, getAnnotations, getAnnotationsField, getEffectiveAnnotation, getEffectiveAnnotation, getEffectiveAnnotationInHierarchy, getEffectiveAnnotations, getExplicitAnnotations, getKind, getPrimaryAnnotation, getPrimaryAnnotation, getPrimaryAnnotation, getPrimaryAnnotationInHierarchy, getPrimaryAnnotations, getPrimaryAnnotationsField, getPrimitiveKind, getUnderlyingTypeHashCode, hasAnnotation, hasAnnotation, hasAnnotationInHierarchy, hasAnnotationRelaxed, hasEffectiveAnnotation, hasEffectiveAnnotation, hasEffectiveAnnotationRelaxed, hasExplicitAnnotation, hasExplicitAnnotation, hasExplicitAnnotationRelaxed, hashCode, hasPrimaryAnnotation, hasPrimaryAnnotation, hasPrimaryAnnotationInHierarchy, hasPrimaryAnnotationRelaxed, isAnnotatedInHierarchy, isDeclaration, removeAnnotation, removeAnnotationByClass, removeAnnotationInHierarchy, removeNonTopAnnotationInHierarchy, removePrimaryAnnotation, removePrimaryAnnotationByClass, removePrimaryAnnotationInHierarchy, removePrimaryAnnotations, replaceAnnotation, replaceAnnotations, toString, toString
-
Method Details
-
isVarargs
public boolean isVarargs()Returns true if this type represents a varargs method.- Returns:
- true if this type represents a varargs method
-
accept
Description copied from class:AnnotatedTypeMirrorApplies a visitor to this type.- Specified by:
acceptin classAnnotatedTypeMirror- Type Parameters:
R- the return type of the visitor's methodsP- the type of the additional parameter to the visitor's methods- Parameters:
v- the visitor operating on this typep- additional parameter to the visitor- Returns:
- a visitor-specified result
-
getUnderlyingType
Description copied from class:AnnotatedTypeMirrorReturns the underlying unannotated Java type, which this wraps.- Overrides:
getUnderlyingTypein classAnnotatedTypeMirror- Returns:
- the underlying type
-
addAnnotation
Deprecated.add to the appropriate componentIt never makes sense to add annotations to an executable type. Instead, they should be added to the appropriate component.- Overrides:
addAnnotationin classAnnotatedTypeMirror- Parameters:
annotation- the annotation to add
-
getParameterTypes
Returns the parameter types of this executable type, excluding the receiver.- Returns:
- the parameter types of this executable type, excluding the receiver
-
shallowCopyReturnType
public void shallowCopyReturnType()Replaces the return type by a shallow copy of itself. -
getReturnType
The return type of a method or constructor. For constructors, the return type is not VOID, but the type of the enclosing class.- Returns:
- the return type of this executable type
-
setReceiverType
Sets the receiver type on this executable type.- Parameters:
receiverType- the receiver type
-
getReceiverType
Returns the receiver type of this executable type; null for static methods and constructors of top-level classes.- Returns:
- the receiver type of this executable type; null for static methods and constructors of top-level classes
-
getThrownTypes
Returns the thrown types of this executable type.- Returns:
- the thrown types of this executable type
-
getTypeVariables
Returns the type variables of this executable type, if any.- Returns:
- the type variables of this executable type, if any
-
deepCopy
Description copied from class:AnnotatedTypeMirrorReturns a deep copy of this type. A deep copy implies that each component type is copied recursively and the returned type refers to those copies in its component locations.Note: deepCopy provides two important properties in the returned copy:
- Structure preservation -- The exact structure of the original AnnotatedTypeMirror is preserved in the copy including all component types.
- Annotation preservation -- All of the annotations from the original AnnotatedTypeMirror and its components have been copied to the new type.
- Specified by:
deepCopyin classAnnotatedTypeMirror- Returns:
- a deep copy
-
deepCopy
Description copied from class:AnnotatedTypeMirrorReturns a deep copy of this type with annotations.Each subclass implements this method with the subclass return type. The method body must always be a call to deepCopy(true).
- Specified by:
deepCopyin interfaceorg.plumelib.util.DeepCopyable<AnnotatedTypeMirror>- Specified by:
deepCopyin classAnnotatedTypeMirror- Returns:
- a deep copy of this type with annotations
- See Also:
-
shallowCopy
Description copied from class:AnnotatedTypeMirrorReturns a shallow copy of this type. A shallow copy implies that each component type in the output copy refers to the same object as the object being copied.- Specified by:
shallowCopyin classAnnotatedTypeMirror- Parameters:
copyAnnotations- whether copy should have annotations, i.e. whether fieldannotationsshould be copied.
-
shallowCopy
Description copied from class:AnnotatedTypeMirrorReturns a shallow copy of this type with annotations.Each subclass implements this method with the subclass return type. The method body must always be a call to shallowCopy(true).
- Specified by:
shallowCopyin classAnnotatedTypeMirror- Returns:
- a shallow copy of this type with annotations
- See Also:
-
getElement
Returns the element of this AnnotatedExecutableType.- Returns:
- the element of this AnnotatedExecutableType
-
setElement
Sets the element of this AnnotatedExecutableType.- Parameters:
elem- the new element for this AnnotatedExecutableType
-
getErased
Description copied from class:AnnotatedTypeMirrorReturns the erasure type of this type, according to JLS specifications.- Overrides:
getErasedin classAnnotatedTypeMirror- Returns:
- the erasure of this AnnotatedTypeMirror, this is always a copy even if the erasure and the original type are equivalent
- See Also:
-