Klasse TypeVariableBinding
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
- Bekannte direkte Unterklassen:
CaptureBinding
,InferenceVariable
Binding for a type parameter, held by source/binary type or method.
-
Feldübersicht
Modifizierer und TypFeldBeschreibungDenote the first explicit (binding) bound amongst the supertypes (from declaration in source) If no superclass was specified, then it denotes the first superinterface, or null if none was specified.char[]
int
Von Klasse geerbte Felder org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
compoundName, fPackage, LUB_GENERIC, modifiers, samProblemBinding, singleAbstractMethod, sourceName
Von Klasse geerbte Felder org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding
BOOLEAN, BYTE, CHAR, DOUBLE, extendedTagBits, FLOAT, id, INT, LONG, NULL, SHORT, tagBits, TYPE_USE_BINDING, typeAnnotations, VOID
Von Klasse geerbte Felder org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
ANY_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_COMPONENTS, 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_PERMITTEDTYPES, NO_PLAIN_PACKAGES, NO_REFERENCE_TYPES, NO_SUPERINTERFACES, NO_TYPE_VARIABLES, NO_TYPES, NULL_UNSPECIFIED_BY_DEFAULT, NullnessDefaultMASK, PACKAGE, PARAMETERIZED_TYPE, PATTERN, POLY_TYPE, RAW_TYPE, RECORD_COMPONENT, TYPE, TYPE_PARAMETER, TYPE_USE, UNINITIALIZED_COMPONENTS, UNINITIALIZED_FIELDS, UNINITIALIZED_METHODS, UNINITIALIZED_REFERENCE_TYPES, VARIABLE, WILDCARD_TYPE
-
Konstruktorübersicht
ModifiziererKonstruktorBeschreibungTypeVariableBinding
(char[] sourceName, Binding declaringElement, int rank, LookupEnvironment environment) protected
TypeVariableBinding
(char[] sourceName, LookupEnvironment environment) TypeVariableBinding
(TypeVariableBinding prototype) -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungboolean
Used to implement this sentence from o.e.j.annotation.DefaultLocation: "Wildcards and the use of type variables are always excluded from NonNullByDefault."protected void
appendNullAnnotation
(StringBuilder nameBuffer, CompilerOptions options) boundCheck
(Substitution substitution, TypeBinding argumentType, Scope scope, ASTNode location) Returns true if the argument type satisfies all bounds of the type parameterint
boolean
Answer true if the receiver can be instantiatedclone
(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.void
collectSubstitutes
(Scope scope, TypeBinding actualType, InferenceContext inferenceContext, int constraint) Collect the substitutes into a map for certain type variables inside the receiver type e.g.combineTypeAnnotations
(TypeBinding substitute) char[]
computeUniqueKey
(boolean isLeaf) p.XUngültige Eingabe: "<"T extends Y Ungültige Eingabe: "&" I, U extends Y> {} -> Lp/XUngültige Eingabe: "<"TT;TU;>;char[]
Answer the receiver's constant pool name.downwardsProjection
(Scope scope, TypeBinding[] mentionedTypeVariables) Perform a downwards type projection as per JLS 4.10.5boolean
Call this before descending into type details to prevent infinite recursion.boolean
erasure()
void
evaluateNullAnnotations
(Scope scope, TypeParameter parameter) void
Exit the context of a potentially recursive function.void
char[]
T::Ljava/util/Map;:Ljava/io/Serializable; T:LYUngültige Eingabe: "<"TT;>char[]
T::Ljava/util/Map;:Ljava/io/Serializable; T:LYUngültige Eingabe: "<"TT;>protected TypeBinding[]
boolean
hasTypeBit
(int bit) Answer an additional bit characterizing this type, likeTypeIds.BitAutoCloseable
.boolean
isErasureBoundTo
(TypeBinding type) Returns true if the type variable is directly bound to a given typeboolean
boolean
Returns true if the type hierarchy is connectedboolean
isInterchangeableWith
(TypeVariableBinding otherVariable, Substitution substitute) Returns true if the 2 variables are playing exact same role: they have the same bounds, providing one is substituted with the other: Ungültige Eingabe: "<"T1 extends List> is interchangeable with Ungültige Eingabe: "<"T2 extends List >. boolean
isProperType
(boolean admitCapture18) JLS8 Sect 18.1.1boolean
isSubtypeOf
(TypeBinding other, boolean simulatingBugJDK8026527) boolean
Returns true if the type was declared as a type variableint
kind()
boolean
mentionsAny
(TypeBinding[] parameters, int idx) Does this type mention any of the given type parameters, except the one at position 'idx'?char[]
nullAnnotatedReadableName
(CompilerOptions options, boolean shortNames) Answer a readable name (for error reporting) that includes nullness type annotations.char[]
Answer the receiver's signature.setFirstBound
(TypeBinding firstBound) setSuperClass
(ReferenceBinding superclass) setSuperInterfaces
(ReferenceBinding[] superInterfaces) void
setTypeAnnotations
(AnnotationBinding[] annotations, boolean evalNullAnnotations) char[]
toString()
Return this type minus its type annotationslong
Refresh some tagBits from details into the main type.Upper bound doesn't perform erasureupwardsProjection
(Scope scope, TypeBinding[] mentionedTypeVariables) Perform an upwards type projection as per JLS 4.10.5Return this type minus its toplevel null annotations.Von Klasse geerbte Methoden org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
applyCloseableClassWhitelists, applyCloseableInterfaceWhitelists, availableFields, availableMethods, binarySearch, binarySearch, canBeSeenBy, canBeSeenBy, canBeSeenBy, computeGenericTypeSignature, computeId, computeId, depth, detectAnnotationCycle, enclosingTypeAt, enumConstantCount, fieldCount, fields, getAccessFlags, getAnnotations, getAnnotationTagBits, getComponent, getEnclosingInstancesSlotSize, getExactConstructor, getExactMethod, getField, getField, getFileName, getInterfaceAbstractContracts, getMemberType, getMethods, getMethods, getOuterLocalVariablesSlotSize, getPackage, getRecordComponent, getRecordComponentAccessor, getSingleAbstractMethod, getTypeVariable, hasEnclosingInstanceContext, hashCode, hasHierarchyCheckStarted, hasIncompatibleSuperType, hasMemberTypes, hasMethodWithNumArgs, hasNullBit, hasRestrictedAccess, implementsInterface, innerCanBeSeenBy, innerCanBeSeenBy, isAbstract, isAnnotationType, isBinaryBinding, isClass, isCompatibleWith, isConsistentIntersection, isDefault, isDeprecated, isEnum, isFieldInitializationFinished, isFinal, isFunctionalInterface, isHierarchyBeingActivelyConnected, isHierarchyBeingConnected, isInterface, isNestmateOf, isNonSealed, isOrEnclosedByPrivateType, isPrivate, isProtected, isPublic, isSealed, isStatic, isStrictfp, isSubTypeOfRTL, isSuperclassOf, isThrowable, isUncheckedException, isUsed, isViewedAsDeprecated, memberTypes, methods, module, outermostEnclosingType, permittedTypes, qualifiedSourceName, readableName, retrieveAnnotationHolder, setAnnotations, setContainerAnnotationType, setHierarchyCheckDone, shortReadableName, signature, sortFields, sortMethods, sourceName, syntheticEnclosingInstanceTypes, tagAsHavingDefectiveContainerType, unResolvedComponents, unResolvedFields
Von Klasse geerbte Methoden org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding
actualType, capture, closestMatch, collectMissingTypes, components, containerAnnotationType, dimensions, enclosingMethod, enclosingType, equalsEquals, findSuperTypeOriginatingFrom, findSuperTypeOriginatingFrom, genericCast, getErasureCompatibleType, getIntersectingTypes, getTypeAnnotations, hasNullTypeAnnotations, hasTypeAnnotations, hasValueBasedTypeAnnotation, isAnonymousType, isArrayType, isBaseType, isBoundParameterizedType, isBoxedPrimitiveType, isBoxingCompatibleWith, isCapture, isCompatibleWith, isEquivalentTo, isFunctionalType, isGenericType, isHierarchyInconsistent, isIntersectionType, isIntersectionType18, isLocalType, isMemberType, isNestedType, isNonDenotable, isNumericType, isParameterizedType, isParameterizedTypeWithActualArguments, isParameterizedWithOwnVariables, isPolyType, isPotentiallyCompatibleWith, isPrimitiveOrBoxedPrimitiveType, isPrimitiveType, isProvablyDistinct, isRawType, isReadyForAnnotations, isRecord, isReifiable, isRepeatableAnnotationType, isTypeArgumentContainedBy, isUnboundWildcard, isUnresolvedType, isWildcard, leafComponentType, needsUncheckedConversion, notEquals, original, prototype, qualifiedPackageName, signableName, sIsMoreSpecific, swapUnresolved, syntheticOuterLocalVariables, typeVariables, uncapture, wellKnownBaseType, wellKnownType
Von Klasse geerbte Methoden org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
computeUniqueKey, initializeDeprecatedAnnotationTagBits, isParameter, isTaggedRepeatable, isValid, isValidBinding, isVolatile, problemId, setAnnotations
-
Felddetails
-
declaringElement
-
rank
public int rank -
firstBound
Denote the first explicit (binding) bound amongst the supertypes (from declaration in source) If no superclass was specified, then it denotes the first superinterface, or null if none was specified. -
superclass
-
superInterfaces
-
genericTypeSignature
public char[] genericTypeSignature
-
-
Konstruktordetails
-
TypeVariableBinding
public TypeVariableBinding(char[] sourceName, Binding declaringElement, int rank, LookupEnvironment environment) -
TypeVariableBinding
-
TypeVariableBinding
-
-
Methodendetails
-
boundCheck
public TypeConstants.BoundCheckStatus boundCheck(Substitution substitution, TypeBinding argumentType, Scope scope, ASTNode location) Returns true if the argument type satisfies all bounds of the type parameter- Parameter:
location
- if non-null this may be used for reporting errors relating to null type annotations (if enabled)
-
boundsCount
public int boundsCount() -
canBeInstantiated
public boolean canBeInstantiated()Beschreibung aus Klasse kopiert:ReferenceBinding
Answer true if the receiver can be instantiated- Setzt außer Kraft:
canBeInstantiated
in KlasseReferenceBinding
- Siehe auch:
-
collectSubstitutes
public void collectSubstitutes(Scope scope, TypeBinding actualType, InferenceContext inferenceContext, int constraint) Collect the substitutes into a map for certain type variables inside the receiver type e.g. Collection.collectSubstitutes(CollectionUngültige Eingabe: "<"List >, Map), will populate Map with: T --> List Constraints: A Ungültige Eingabe: "<"Ungültige Eingabe: "<" F corresponds to: F.collectSubstitutes(..., A, ..., CONSTRAINT_EXTENDS (1)) A = F corresponds to: F.collectSubstitutes(..., A, ..., CONSTRAINT_EQUAL (0)) A >> F corresponds to: F.collectSubstitutes(..., A, ..., CONSTRAINT_SUPER (2)) - Setzt außer Kraft:
collectSubstitutes
in KlasseTypeBinding
-
computeUniqueKey
public char[] computeUniqueKey(boolean isLeaf) Beschreibung aus Klasse kopiert:ReferenceBinding
p.XUngültige Eingabe: "<"T extends Y Ungültige Eingabe: "&" I, U extends Y> {} -> Lp/XUngültige Eingabe: "<"TT;TU;>;- Setzt außer Kraft:
computeUniqueKey
in KlasseReferenceBinding
-
constantPoolName
public char[] constantPoolName()Beschreibung aus Klasse kopiert:ReferenceBinding
Answer the receiver's constant pool name. NOTE: This method should only be used during/after code gen.- Setzt außer Kraft:
constantPoolName
in KlasseReferenceBinding
-
clone
Beschreibung aus Klasse kopiert:TypeBinding
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. Parameters may not make sense for every type in the hierarchy, in which case they are silently ignored. A type may choose to retain a copy of the prototype for reference.- Setzt außer Kraft:
clone
in KlasseTypeBinding
-
annotatedDebugName
- Setzt außer Kraft:
annotatedDebugName
in KlasseTypeBinding
-
debugName
- Setzt außer Kraft:
debugName
in KlasseReferenceBinding
- Siehe auch:
-
erasure
- Setzt außer Kraft:
erasure
in KlasseTypeBinding
-
genericSignature
public char[] genericSignature()T::Ljava/util/Map;:Ljava/io/Serializable; T:LYUngültige Eingabe: "<"TT;> -
genericTypeSignature
public char[] genericTypeSignature()T::Ljava/util/Map;:Ljava/io/Serializable; T:LYUngültige Eingabe: "<"TT;>- Setzt außer Kraft:
genericTypeSignature
in KlasseTypeBinding
-
hasTypeBit
public boolean hasTypeBit(int bit) Beschreibung aus Klasse kopiert:TypeBinding
Answer an additional bit characterizing this type, likeTypeIds.BitAutoCloseable
.- Setzt außer Kraft:
hasTypeBit
in KlasseTypeBinding
-
isErasureBoundTo
Returns true if the type variable is directly bound to a given type -
isHierarchyConnected
public boolean isHierarchyConnected()Beschreibung aus Klasse kopiert:ReferenceBinding
Returns true if the type hierarchy is connected- Setzt außer Kraft:
isHierarchyConnected
in KlasseReferenceBinding
-
isInterchangeableWith
Returns true if the 2 variables are playing exact same role: they have the same bounds, providing one is substituted with the other: Ungültige Eingabe: "<"T1 extends List> is interchangeable with Ungültige Eingabe: "<"T2 extends List >. -
isSubtypeOf
- Setzt außer Kraft:
isSubtypeOf
in KlasseReferenceBinding
-
enterRecursiveFunction
public boolean enterRecursiveFunction()Beschreibung aus Klasse kopiert:TypeBinding
Call this before descending into type details to prevent infinite recursion.- Setzt außer Kraft:
enterRecursiveFunction
in KlasseTypeBinding
- Gibt zurück:
- true if a recursion was not already started.
-
exitRecursiveFunction
public void exitRecursiveFunction()Beschreibung aus Klasse kopiert:TypeBinding
Exit the context of a potentially recursive function.- Setzt außer Kraft:
exitRecursiveFunction
in KlasseTypeBinding
-
enterRecursiveProjectionFunction
public boolean enterRecursiveProjectionFunction() -
exitRecursiveProjectionFunction
public void exitRecursiveProjectionFunction() -
isProperType
public boolean isProperType(boolean admitCapture18) Beschreibung aus Klasse kopiert:TypeBinding
JLS8 Sect 18.1.1- Setzt außer Kraft:
isProperType
in KlasseReferenceBinding
- Parameter:
admitCapture18
- request ifCaptureBinding18
shuld be considered as a proper type. If unsure say 'true', only inScope.greaterLowerBound(TypeBinding[], Scope, LookupEnvironment)
CaptureBinding18 has to be excluded to prevent an NPE on a branch that heuristically tries to avoid inconsistent intersections.
-
isTypeVariable
public boolean isTypeVariable()Returns true if the type was declared as a type variable- Setzt außer Kraft:
isTypeVariable
in KlasseTypeBinding
-
kind
public int kind()- Setzt außer Kraft:
kind
in KlasseTypeBinding
-
mentionsAny
Beschreibung aus Klasse kopiert:TypeBinding
Does this type mention any of the given type parameters, except the one at position 'idx'?- Setzt außer Kraft:
mentionsAny
in KlasseTypeBinding
-
otherUpperBounds
-
readableName
public char[] readableName()Beschreibung aus Klasse kopiert:ReferenceBinding
Answer the receiver's signature. NOTE: This method should only be used during/after code gen.- Setzt außer Kraft:
readableName
in KlasseReferenceBinding
- Siehe auch:
-
setTypeAnnotations
- Setzt außer Kraft:
setTypeAnnotations
in KlasseTypeBinding
-
shortReadableName
public char[] shortReadableName()- Setzt außer Kraft:
shortReadableName
in KlasseReferenceBinding
- Siehe auch:
-
superclass
- Setzt außer Kraft:
superclass
in KlasseReferenceBinding
-
superInterfaces
- Setzt außer Kraft:
superInterfaces
in KlasseReferenceBinding
-
toString
-
nullAnnotatedReadableName
Beschreibung aus Klasse kopiert:TypeBinding
Answer a readable name (for error reporting) that includes nullness type annotations.- Setzt außer Kraft:
nullAnnotatedReadableName
in KlasseReferenceBinding
- Siehe auch:
-
appendNullAnnotation
- Setzt außer Kraft:
appendNullAnnotation
in KlasseReferenceBinding
-
unannotated
Beschreibung aus Klasse kopiert:TypeBinding
Return this type minus its type annotations- Setzt außer Kraft:
unannotated
in KlasseTypeBinding
-
withoutToplevelNullAnnotation
Beschreibung aus Klasse kopiert:TypeBinding
Return this type minus its toplevel null annotations. Any annotations on type arguments or bounds are retained.- Setzt außer Kraft:
withoutToplevelNullAnnotation
in KlasseTypeBinding
-
upperBound
Upper bound doesn't perform erasure -
allUpperBounds
-
evaluateNullAnnotations
-
setFirstBound
-
setSuperClass
-
setSuperInterfaces
-
getDerivedTypesForDeferredInitialization
-
combineTypeAnnotations
-
acceptsNonNullDefault
public boolean acceptsNonNullDefault()Beschreibung aus Klasse kopiert:TypeBinding
Used to implement this sentence from o.e.j.annotation.DefaultLocation: "Wildcards and the use of type variables are always excluded from NonNullByDefault."- Setzt außer Kraft:
acceptsNonNullDefault
in KlasseReferenceBinding
-
updateTagBits
public long updateTagBits()Beschreibung aus Klasse kopiert:TypeBinding
Refresh some tagBits from details into the main type. Currently handled: TagBits.HasNullTypeAnnotation- Setzt außer Kraft:
updateTagBits
in KlasseTypeBinding
-
isFreeTypeVariable
public boolean isFreeTypeVariable()- Setzt außer Kraft:
isFreeTypeVariable
in KlasseTypeBinding
-
upwardsProjection
Beschreibung aus Klasse kopiert:ReferenceBinding
Perform an upwards type projection as per JLS 4.10.5- Setzt außer Kraft:
upwardsProjection
in KlasseReferenceBinding
- Parameter:
scope
- Relevant scope for evaluating type projectionmentionedTypeVariables
- Filter for mentioned type variabled- Gibt zurück:
- Upwards type projection of 'this', or null if downwards projection is undefined
-
downwardsProjection
Beschreibung aus Klasse kopiert:ReferenceBinding
Perform a downwards type projection as per JLS 4.10.5- Setzt außer Kraft:
downwardsProjection
in KlasseReferenceBinding
- Parameter:
scope
- Relevant scope for evaluating type projectionmentionedTypeVariables
- Filter for mentioned type variabled- Gibt zurück:
- Downwards type projection of 'this', or null if downwards projection is undefined
-