public class CaptureBinding18 extends CaptureBinding
captureID, cud, end, lowerBound, sourceType, start, wildcarddeclaringElement, 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, DefaultLocationsForTrueValue, DefaultLocationTypeArgument, DefaultLocationTypeBound, DefaultLocationTypeParameter, FIELD, GENERIC_TYPE, IMPORT, INTERSECTION_TYPE, INTERSECTION_TYPE18, LOCAL, METHOD, MODULE, NO_ANNOTATIONS, NO_ELEMENT_VALUE_PAIRS, NO_EXCEPTIONS, NO_FIELDS, NO_MEMBER_TYPES, NO_METHODS, NO_MODULES, NO_NULL_DEFAULT, NO_PACKAGES, NO_PARAMETER_NAMES, NO_PARAMETERS, NO_PLAIN_PACKAGES, NO_REFERENCE_TYPES, NO_SUPERINTERFACES, NO_TYPE_VARIABLES, NO_TYPES, 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| Constructor and Description |
|---|
CaptureBinding18(ReferenceBinding contextType,
char[] sourceName,
char[] originalName,
int start,
int end,
int captureID,
LookupEnvironment environment) |
| 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
|
TypeBinding |
erasure() |
TypeBinding |
findSuperTypeOriginatingFrom(TypeBinding otherType)
Find supertype which originates from a given type, or null if not found
|
MethodBinding[] |
getMethods(char[] selector) |
void |
initializeBounds(Scope scope,
ParameterizedTypeBinding capturedParameterizedType)
Initialize capture bounds using substituted supertypes
e.g.
|
boolean |
isCompatibleWith(TypeBinding otherType,
Scope captureScope)
Answer true if the receiver type can be assigned to the argument type (right)
In addition to improving performance, caching also ensures there is no infinite regression
since per nature, the compatibility check is recursive through parameterized type arguments (122775)
|
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[] |
readableName()
Answer the receiver's signature.
|
boolean |
setUpperBounds(TypeBinding[] upperBounds,
ReferenceBinding javaLangObject) |
char[] |
shortReadableName() |
TypeBinding |
uncapture(Scope scope)
Perform capture "deconversion" on a given type
|
debugName, downwardsProjection, genericTypeSignature, getDerivedTypesForDeferredInitialization, isCapture, nullAnnotatedReadableName, setTypeAnnotations, signableName, toString, upperBoundForProjection, upwardsProjection, withoutToplevelNullAnnotationacceptsNonNullDefault, allUpperBounds, annotatedDebugName, appendNullAnnotation, boundCheck, boundsCount, canBeInstantiated, collectSubstitutes, combineTypeAnnotations, constantPoolName, enterRecursiveFunction, enterRecursiveProjectionFunction, evaluateNullAnnotations, exitRecursiveFunction, exitRecursiveProjectionFunction, 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, getOuterLocalVariablesSlotSize, getPackage, getSingleAbstractMethod, getTypeVariable, hasEnclosingInstanceContext, hashCode, hasHierarchyCheckStarted, hasIncompatibleSuperType, hasMemberTypes, hasMethodWithNumArgs, hasNullBit, hasRestrictedAccess, implementsInterface, innerCanBeSeenBy, innerCanBeSeenBy, isAbstract, isAnnotationType, isBinaryBinding, isClass, isConsistentIntersection, isDefault, isDeprecated, isEnum, isFinal, isFunctionalInterface, isHierarchyBeingActivelyConnected, isHierarchyBeingConnected, isInterface, isNestmateOf, isOrEnclosedByPrivateType, isPrivate, isProtected, isPublic, isStatic, isStrictfp, isSubTypeOfRTL, isSuperclassOf, isThrowable, isUncheckedException, isUsed, isViewedAsDeprecated, memberTypes, methods, module, outermostEnclosingType, qualifiedSourceName, readableName, retrieveAnnotationHolder, setAnnotations, setContainerAnnotationType, setHierarchyCheckDone, shortReadableName, signature, sortFields, sortMethods, sourceName, syntheticEnclosingInstanceTypes, tagAsHavingDefectiveContainerType, unResolvedFieldsactualType, capture, closestMatch, collectMissingTypes, containerAnnotationType, dimensions, enclosingMethod, enclosingType, equalsEquals, 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, isRecord, isReifiable, isRepeatableAnnotationType, isTypeArgumentContainedBy, isUnboundWildcard, isUnresolvedType, isWildcard, leafComponentType, needsUncheckedConversion, notEquals, original, prototype, qualifiedPackageName, sIsMoreSpecific, swapUnresolved, syntheticOuterLocalVariables, typeVariables, wellKnownBaseType, wellKnownTypecomputeUniqueKey, initializeDeprecatedAnnotationTagBits, isParameter, isTaggedRepeatable, isValid, isValidBinding, isVolatile, problemId, setAnnotationspublic CaptureBinding18(ReferenceBinding contextType, char[] sourceName, char[] originalName, int start, int end, int captureID, LookupEnvironment environment)
public boolean setUpperBounds(TypeBinding[] upperBounds, ReferenceBinding javaLangObject)
public void initializeBounds(Scope scope, ParameterizedTypeBinding capturedParameterizedType)
CaptureBindinginitializeBounds in class CaptureBindingpublic TypeBinding clone(TypeBinding enclosingType)
TypeBindingclone in class CaptureBindingpublic MethodBinding[] getMethods(char[] selector)
getMethods in class ReferenceBindingpublic TypeBinding erasure()
erasure in class TypeVariableBindingpublic boolean isEquivalentTo(TypeBinding otherType)
TypeBindingisEquivalentTo in class CaptureBindingTypeBinding.isEquivalentTo(TypeBinding)public boolean isCompatibleWith(TypeBinding otherType, Scope captureScope)
ReferenceBindingisCompatibleWith in class ReferenceBindingpublic TypeBinding findSuperTypeOriginatingFrom(TypeBinding otherType)
TypeBindingfindSuperTypeOriginatingFrom in class TypeBindingpublic boolean isProperType(boolean admitCapture18)
TypeBindingisProperType in class CaptureBindingadmitCapture18 - 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 CaptureBindingReferenceBinding.readableName()public char[] shortReadableName()
shortReadableName in class CaptureBindingReferenceBinding.shortReadableName()public TypeBinding uncapture(Scope scope)
TypeBindinguncapture in class CaptureBindingpublic char[] computeUniqueKey(boolean isLeaf)
ReferenceBindingcomputeUniqueKey in class CaptureBinding