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, atypeFactory, equalityComparer, formatter, hashcodeVisitor
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() |
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() |
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, createType, createTypeOfObject, equals, getAnnotation, getAnnotation, getAnnotation, getAnnotationInHierarchy, getAnnotations, getAnnotationsField, getEffectiveAnnotation, getEffectiveAnnotationInHierarchy, getEffectiveAnnotations, getErased, getExplicitAnnotations, getKind, getUnderlyingType, hasAnnotation, 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 AnnotatedTypeMirror.AnnotatedIntersectionType deepCopy(boolean copyAnnotations)
AnnotatedTypeMirror
Note: deepCopy provides two important properties in the returned copy:
deepCopy
in class AnnotatedTypeMirror
public AnnotatedTypeMirror.AnnotatedIntersectionType deepCopy()
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
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()