public static class AnnotatedTypeMirror.AnnotatedIntersectionType extends AnnotatedTypeMirror
AnnotatedTypeMirror.AnnotatedArrayType, AnnotatedTypeMirror.AnnotatedDeclaredType, AnnotatedTypeMirror.AnnotatedExecutableType, AnnotatedTypeMirror.AnnotatedIntersectionType, AnnotatedTypeMirror.AnnotatedNoType, AnnotatedTypeMirror.AnnotatedNullType, AnnotatedTypeMirror.AnnotatedPrimitiveType, AnnotatedTypeMirror.AnnotatedTypeVariable, AnnotatedTypeMirror.AnnotatedUnionType, AnnotatedTypeMirror.AnnotatedWildcardType
Modifier and Type | Field and Description |
---|---|
protected List<AnnotatedTypeMirror.AnnotatedDeclaredType> |
supertypes |
actualType, annotations, atypeFactory, EQUALITY_COMPARER, HASHCODE_VISITOR
Modifier and Type | Method and Description |
---|---|
<R,P> R |
accept(AnnotatedTypeVisitor<R,P> v,
P p)
Applies a visitor to this type.
|
AnnotatedTypeMirror.AnnotatedIntersectionType |
deepCopy()
Returns a deep copy of this type with annotations.
|
AnnotatedTypeMirror.AnnotatedIntersectionType |
deepCopy(boolean copyAnnotations)
Returns a deep copy of this type.
|
List<AnnotatedTypeMirror.AnnotatedDeclaredType> |
directSuperTypes()
This method returns a list of AnnotatedTypeMirrors where the Java type of each ATM is an
immediate supertype (class or interface) of the Java type of this.
|
List<AnnotatedTypeMirror.AnnotatedDeclaredType> |
directSuperTypesField() |
IntersectionType |
getUnderlyingType()
Returns the underlying unannotated Java type, which this wraps.
|
AnnotatedTypeMirror.AnnotatedIntersectionType |
shallowCopy()
Returns a shallow copy of this type with annotations.
|
AnnotatedTypeMirror.AnnotatedIntersectionType |
shallowCopy(boolean copyAnnotations)
Returns a shallow copy of this type.
|
addAnnotation, addAnnotation, addAnnotations, addMissingAnnotations, asUse, clearAnnotations, containsUninferredTypeArguments, createType, createTypeOfObject, equals, getAnnotation, getAnnotation, getAnnotationInHierarchy, getAnnotations, getAnnotationsField, getEffectiveAnnotation, getEffectiveAnnotationInHierarchy, getEffectiveAnnotations, getErased, getExplicitAnnotations, getKind, getPrimitiveKind, hasAnnotation, hasAnnotation, hasAnnotationRelaxed, hasEffectiveAnnotation, hasEffectiveAnnotation, hasEffectiveAnnotationRelaxed, hasExplicitAnnotation, hasExplicitAnnotation, hasExplicitAnnotationRelaxed, hashCode, isAnnotatedInHierarchy, isDeclaration, removeAnnotation, removeAnnotation, removeAnnotationInHierarchy, removeAnnotations, removeNonTopAnnotationInHierarchy, replaceAnnotation, replaceAnnotations, toString, toString
protected List<AnnotatedTypeMirror.AnnotatedDeclaredType> supertypes
public <R,P> R accept(AnnotatedTypeVisitor<R,P> v, P p)
AnnotatedTypeMirror
accept
in class AnnotatedTypeMirror
R
- the return type of the visitor's methodsP
- the type of the additional parameter to the visitor's methodsv
- the visitor operating on this typep
- additional parameter to the visitorpublic IntersectionType getUnderlyingType()
AnnotatedTypeMirror
getUnderlyingType
in class AnnotatedTypeMirror
public AnnotatedTypeMirror.AnnotatedIntersectionType deepCopy(boolean copyAnnotations)
AnnotatedTypeMirror
Note: deepCopy provides two important properties in the returned copy:
deepCopy
in class AnnotatedTypeMirror
public AnnotatedTypeMirror.AnnotatedIntersectionType deepCopy()
AnnotatedTypeMirror
Each subclass implements this method with the subclass return type. The method body must always be a call to deepCopy(true).
deepCopy
in class AnnotatedTypeMirror
AnnotatedTypeMirror.deepCopy(boolean)
public AnnotatedTypeMirror.AnnotatedIntersectionType shallowCopy(boolean copyAnnotations)
AnnotatedTypeMirror
shallowCopy
in class AnnotatedTypeMirror
copyAnnotations
- whether copy should have annotations, i.e. whether field annotations
should be copied.public AnnotatedTypeMirror.AnnotatedIntersectionType shallowCopy()
AnnotatedTypeMirror
Each subclass implements this method with the subclass return type. The method body must always be a call to shallowCopy(true).
shallowCopy
in class AnnotatedTypeMirror
AnnotatedTypeMirror.shallowCopy(boolean)
public List<AnnotatedTypeMirror.AnnotatedDeclaredType> directSuperTypes()
AnnotatedTypeMirror
For example,
The direct supertype of the ATMclass B<T> { ... }
class A extends B<@NonNull String> { ... }
@Nullable A a;
@Nullable A
is @Nullable B<@NonNull String>
.
An example with more complex type arguments:
The direct supertype of the ATMclass D<Q,R> { ... }
class A<T,S> extends D<S,T> { ... }
@Nullable A<@NonNull String, @NonNull Object> a;
@Nullable A<@NonNull String, @NonNull Object>
is
@Nullable B<@NonNull Object, @NonNull String>
.
An example with more than one direct supertype:
The direct supertypes of the ATMclass B<T> implements List<Integer> { ... }
class A extends B<@NonNull String> implements List<Integer> { ... }
@Nullable A a;
@Nullable A
are @Nullable B <@NonNull
String>
and @Nullable List<@NonNull Integer>
.directSuperTypes
in class AnnotatedTypeMirror
Types.directSupertypes(TypeMirror)
public List<AnnotatedTypeMirror.AnnotatedDeclaredType> directSuperTypesField()