public class CaptureBinding extends TypeVariableBinding
| Modifier and Type | Field and Description |
|---|---|
int |
captureID |
ASTNode |
cud |
int |
end |
TypeBinding |
lowerBound |
ReferenceBinding |
sourceType |
int |
start |
WildcardBinding |
wildcard |
declaringElement, firstBound, genericTypeSignature, rank, superclass, superInterfacescompoundName, fPackage, LUB_GENERIC, modifiers, samProblemBinding, singleAbstractMethod, sourceNameBOOLEAN, BYTE, CHAR, DOUBLE, FLOAT, id, INT, LONG, NULL, SHORT, tagBits, TYPE_USE_BINDING, typeAnnotations, VOIDANY_EXCEPTION, ARRAY_TYPE, BASE_TYPE, DefaultLocationArrayContents, DefaultLocationField, DefaultLocationParameter, DefaultLocationReturnType, DefaultLocationTypeArgument, DefaultLocationTypeBound, DefaultLocationTypeParameter, FIELD, GENERIC_TYPE, IMPORT, INTERSECTION_TYPE, INTERSECTION_TYPE18, LOCAL, METHOD, NO_ANNOTATIONS, NO_ELEMENT_VALUE_PAIRS, NO_EXCEPTIONS, NO_FIELDS, NO_MEMBER_TYPES, NO_METHODS, NO_NULL_DEFAULT, NO_PARAMETER_NAMES, NO_PARAMETERS, NO_REFERENCE_TYPES, NO_SUPERINTERFACES, NO_TYPE_VARIABLES, NO_TYPES, NONNULL_BY_DEFAULT, NULL_UNSPECIFIED_BY_DEFAULT, NullnessDefaultMASK, PACKAGE, PARAMETERIZED_TYPE, POLY_TYPE, RAW_TYPE, TYPE, TYPE_PARAMETER, TYPE_USE, UNINITIALIZED_FIELDS, UNINITIALIZED_METHODS, UNINITIALIZED_REFERENCE_TYPES, VARIABLE, WILDCARD_TYPE| Modifier | Constructor and Description |
|---|---|
|
CaptureBinding(CaptureBinding prototype) |
protected |
CaptureBinding(ReferenceBinding sourceType,
char[] sourceName,
int start,
int end,
int captureID,
LookupEnvironment environment) |
|
CaptureBinding(WildcardBinding wildcard,
ReferenceBinding sourceType,
int start,
int end,
ASTNode cud,
int captureID) |
| Modifier and Type | Method and Description |
|---|---|
TypeBinding |
clone(TypeBinding enclosingType)
Virtual copy constructor: a copy is made of the receiver's entire instance state and then suitably
parameterized by the arguments to the clone operation as seen fit by each type.
|
char[] |
computeUniqueKey(boolean isLeaf)
p.X
|
java.lang.String |
debugName() |
char[] |
genericTypeSignature()
T::Ljava/util/Map;:Ljava/io/Serializable;
T:LY
|
protected TypeBinding[] |
getDerivedTypesForDeferredInitialization() |
void |
initializeBounds(Scope scope,
ParameterizedTypeBinding capturedParameterizedType)
Initialize capture bounds using substituted supertypes
e.g.
|
boolean |
isCapture()
Returns true if the type is the capture of some wildcard
|
boolean |
isEquivalentTo(TypeBinding otherType)
Returns true if a type is identical to another one,
or for generic types, true if compared to its raw type.
|
boolean |
isProperType(boolean admitCapture18)
JLS8 Sect 18.1.1
|
char[] |
nullAnnotatedReadableName(CompilerOptions options,
boolean shortNames)
Answer a readable name (for error reporting) that includes nullness type annotations.
|
char[] |
readableName()
Answer the receiver's signature.
|
void |
setTypeAnnotations(AnnotationBinding[] annotations,
boolean evalNullAnnotations) |
char[] |
shortReadableName() |
char[] |
signableName() |
java.lang.String |
toString() |
TypeBinding |
uncapture(Scope scope)
Perform capture "deconversion" on a given type
|
TypeBinding |
withoutToplevelNullAnnotation()
Return this type minus its toplevel null annotations.
|
acceptsNonNullDefault, annotatedDebugName, appendNullAnnotation, boundCheck, boundsCount, canBeInstantiated, collectSubstitutes, combineTypeAnnotations, constantPoolName, enterRecursiveFunction, erasure, evaluateNullAnnotations, exitRecursiveFunction, genericSignature, hasTypeBit, isErasureBoundTo, isFreeTypeVariable, isHierarchyConnected, isInterchangeableWith, isSubtypeOf, isTypeVariable, kind, mentionsAny, otherUpperBounds, setFirstBound, setSuperClass, setSuperInterfaces, superclass, superInterfaces, unannotated, updateTagBits, upperBoundapplyCloseableClassWhitelists, applyCloseableInterfaceWhitelists, availableFields, availableMethods, binarySearch, binarySearch, canBeSeenBy, canBeSeenBy, canBeSeenBy, computeGenericTypeSignature, computeId, computeId, depth, detectAnnotationCycle, enclosingTypeAt, enumConstantCount, fieldCount, fields, getAccessFlags, getAnnotations, getAnnotationTagBits, getEnclosingInstancesSlotSize, getExactConstructor, getExactMethod, getField, getField, getFileName, getInterfaceAbstractContracts, getMemberType, getMethods, getMethods, getOuterLocalVariablesSlotSize, getPackage, getSingleAbstractMethod, getTypeVariable, hashCode, hasIncompatibleSuperType, hasMemberTypes, hasNullBit, hasRestrictedAccess, implementsInterface, innerCanBeSeenBy, innerCanBeSeenBy, isAbstract, isAnnotationType, isBinaryBinding, isClass, isCompatibleWith, isConsistentIntersection, isDefault, isDeprecated, isEnum, isFinal, isFunctionalInterface, isHierarchyBeingActivelyConnected, isHierarchyBeingConnected, isInterface, isOrEnclosedByPrivateType, isPrivate, isProtected, isPublic, isStatic, isStrictfp, isSubTypeOfRTL, isSuperclassOf, isThrowable, isUncheckedException, isUsed, isViewedAsDeprecated, memberTypes, methods, outermostEnclosingType, qualifiedSourceName, readableName, retrieveAnnotationHolder, setAnnotations, setContainerAnnotationType, shortReadableName, signature, sortFields, sortMethods, sourceName, syntheticEnclosingInstanceTypes, tagAsHavingDefectiveContainerType, unResolvedFieldsactualType, capture, closestMatch, collectMissingTypes, containerAnnotationType, dimensions, enclosingMethod, enclosingType, equalsEquals, findSuperTypeOriginatingFrom, findSuperTypeOriginatingFrom, genericCast, getErasureCompatibleType, getIntersectingTypes, getTypeAnnotations, hasNullTypeAnnotations, hasTypeAnnotations, isAnonymousType, isArrayType, isBaseType, isBoundParameterizedType, isBoxedPrimitiveType, isBoxingCompatibleWith, isCompatibleWith, isFunctionalType, isGenericType, isHierarchyInconsistent, isIntersectionType, isIntersectionType18, isLocalType, isMemberType, isNestedType, isNumericType, isParameterizedType, isParameterizedTypeWithActualArguments, isParameterizedWithOwnVariables, isPolyType, isPotentiallyCompatibleWith, isPrimitiveOrBoxedPrimitiveType, isPrimitiveType, isProvablyDistinct, isRawType, isReifiable, isRepeatableAnnotationType, isTypeArgumentContainedBy, isUnboundWildcard, isUnresolvedType, isWildcard, leafComponentType, needsUncheckedConversion, notEquals, original, prototype, qualifiedPackageName, sIsMoreSpecific, swapUnresolved, syntheticOuterLocalVariables, typeVariables, wellKnownTypecomputeUniqueKey, initializeDeprecatedAnnotationTagBits, isParameter, isTaggedRepeatable, isValidBinding, isVolatile, problemId, setAnnotationspublic TypeBinding lowerBound
public WildcardBinding wildcard
public int captureID
public ReferenceBinding sourceType
public int start
public int end
public ASTNode cud
public CaptureBinding(WildcardBinding wildcard, ReferenceBinding sourceType, int start, int end, ASTNode cud, int captureID)
protected CaptureBinding(ReferenceBinding sourceType, char[] sourceName, int start, int end, int captureID, LookupEnvironment environment)
public CaptureBinding(CaptureBinding prototype)
public TypeBinding clone(TypeBinding enclosingType)
TypeBindingclone in class TypeVariableBindingpublic char[] computeUniqueKey(boolean isLeaf)
ReferenceBindingcomputeUniqueKey in class TypeVariableBindingpublic java.lang.String debugName()
debugName in class TypeVariableBindingTypeBinding.debugName()public char[] genericTypeSignature()
TypeVariableBindinggenericTypeSignature in class TypeVariableBindingpublic void initializeBounds(Scope scope, ParameterizedTypeBinding capturedParameterizedType)
public boolean isCapture()
TypeBindingisCapture in class TypeBindingTypeBinding.isCapture()public boolean isEquivalentTo(TypeBinding otherType)
TypeBindingisEquivalentTo in class TypeBindingTypeBinding.isEquivalentTo(TypeBinding)public boolean isProperType(boolean admitCapture18)
TypeBindingisProperType in class TypeVariableBindingadmitCapture18 - request if CaptureBinding18 shuld be considered as a proper type.
If unsure say 'true', only in Scope.greaterLowerBound(TypeBinding[], Scope, LookupEnvironment)
CaptureBinding18 has to be excluded to prevent an NPE on a branch that heuristically tries to avoid
inconsistent intersections.public char[] readableName()
ReferenceBindingreadableName in class TypeVariableBindingReferenceBinding.readableName()public char[] signableName()
signableName in class TypeBindingpublic char[] shortReadableName()
shortReadableName in class TypeVariableBindingReferenceBinding.shortReadableName()public char[] nullAnnotatedReadableName(CompilerOptions options, boolean shortNames)
TypeBindingnullAnnotatedReadableName in class TypeVariableBindingTypeBinding.nullAnnotatedReadableName(CompilerOptions,boolean)public TypeBinding withoutToplevelNullAnnotation()
TypeBindingwithoutToplevelNullAnnotation in class TypeVariableBindingpublic void setTypeAnnotations(AnnotationBinding[] annotations, boolean evalNullAnnotations)
setTypeAnnotations in class TypeVariableBindingpublic TypeBinding uncapture(Scope scope)
TypeBindinguncapture in class TypeBindingprotected TypeBinding[] getDerivedTypesForDeferredInitialization()
getDerivedTypesForDeferredInitialization in class TypeVariableBindingpublic java.lang.String toString()
toString in class TypeVariableBindingObject.toString()