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
FelderModifizierer 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[]intVon Klasse geerbte Felder org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
compoundName, fPackage, LUB_GENERIC, modifiers, samProblemBinding, singleAbstractMethod, sourceNameVon 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, VOIDVon 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
KonstruktorenModifiziererKonstruktorBeschreibungTypeVariableBinding(char[] sourceName, Binding declaringElement, int rank, LookupEnvironment environment) protectedTypeVariableBinding(char[] sourceName, LookupEnvironment environment) TypeVariableBinding(TypeVariableBinding prototype) -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungbooleanUsed to implement this sentence from o.e.j.annotation.DefaultLocation: "Wildcards and the use of type variables are always excluded from NonNullByDefault."protected voidappendNullAnnotation(StringBuffer nameBuffer, CompilerOptions options) boundCheck(Substitution substitution, TypeBinding argumentType, Scope scope, ASTNode location) Returns true if the argument type satisfies all bounds of the type parameterintbooleanAnswer 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.voidcollectSubstitutes(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.5booleanCall this before descending into type details to prevent infinite recursion.booleanerasure()voidevaluateNullAnnotations(Scope scope, TypeParameter parameter) voidExit the context of a potentially recursive function.voidchar[]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[]booleanhasTypeBit(int bit) Answer an additional bit characterizing this type, likeTypeIds.BitAutoCloseable.booleanisErasureBoundTo(TypeBinding type) Returns true if the type variable is directly bound to a given typebooleanbooleanReturns true if the type hierarchy is connectedbooleanisInterchangeableWith(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 >. booleanisProperType(boolean admitCapture18) JLS8 Sect 18.1.1booleanisSubtypeOf(TypeBinding other, boolean simulatingBugJDK8026527) booleanReturns true if the type was declared as a type variableintkind()booleanmentionsAny(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) voidsetTypeAnnotations(AnnotationBinding[] annotations, boolean evalNullAnnotations) char[]toString()Return this type minus its type annotationslongRefresh 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, getEnclosingInstancesSlotSize, getExactConstructor, getExactMethod, getField, getField, getFileName, getInterfaceAbstractContracts, getMemberType, getMethods, getMethods, getOuterLocalVariablesSlotSize, getPackage, 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, unResolvedFieldsVon 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, isNumericType, isParameterizedType, isParameterizedTypeWithActualArguments, isParameterizedWithOwnVariables, isPolyType, isPotentiallyCompatibleWith, isPrimitiveOrBoxedPrimitiveType, isPrimitiveType, isProvablyDistinct, isRawType, isRecord, isReifiable, isRepeatableAnnotationType, isTypeArgumentContainedBy, isUnboundWildcard, isUnresolvedType, isWildcard, leafComponentType, needsUncheckedConversion, notEquals, original, prototype, qualifiedPackageName, signableName, sIsMoreSpecific, swapUnresolved, syntheticOuterLocalVariables, typeVariables, uncapture, wellKnownBaseType, wellKnownTypeVon 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:ReferenceBindingAnswer true if the receiver can be instantiated- Setzt außer Kraft:
canBeInstantiatedin 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:
collectSubstitutesin KlasseTypeBinding
-
computeUniqueKey
public char[] computeUniqueKey(boolean isLeaf) Beschreibung aus Klasse kopiert:ReferenceBindingp.XUngültige Eingabe: "<"T extends Y Ungültige Eingabe: "&" I, U extends Y> {} -> Lp/XUngültige Eingabe: "<"TT;TU;>;- Setzt außer Kraft:
computeUniqueKeyin KlasseReferenceBinding
-
constantPoolName
public char[] constantPoolName()Beschreibung aus Klasse kopiert:ReferenceBindingAnswer the receiver's constant pool name. NOTE: This method should only be used during/after code gen.- Setzt außer Kraft:
constantPoolNamein KlasseReferenceBinding
-
clone
Beschreibung aus Klasse kopiert:TypeBindingVirtual 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:
clonein KlasseTypeBinding
-
annotatedDebugName
- Setzt außer Kraft:
annotatedDebugNamein KlasseTypeBinding
-
debugName
- Setzt außer Kraft:
debugNamein KlasseReferenceBinding- Siehe auch:
-
erasure
- Setzt außer Kraft:
erasurein 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:
genericTypeSignaturein KlasseTypeBinding
-
hasTypeBit
public boolean hasTypeBit(int bit) Beschreibung aus Klasse kopiert:TypeBindingAnswer an additional bit characterizing this type, likeTypeIds.BitAutoCloseable.- Setzt außer Kraft:
hasTypeBitin KlasseTypeBinding
-
isErasureBoundTo
Returns true if the type variable is directly bound to a given type -
isHierarchyConnected
public boolean isHierarchyConnected()Beschreibung aus Klasse kopiert:ReferenceBindingReturns true if the type hierarchy is connected- Setzt außer Kraft:
isHierarchyConnectedin 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:
isSubtypeOfin KlasseReferenceBinding
-
enterRecursiveFunction
public boolean enterRecursiveFunction()Beschreibung aus Klasse kopiert:TypeBindingCall this before descending into type details to prevent infinite recursion.- Setzt außer Kraft:
enterRecursiveFunctionin KlasseTypeBinding- Gibt zurück:
- true if a recursion was not already started.
-
exitRecursiveFunction
public void exitRecursiveFunction()Beschreibung aus Klasse kopiert:TypeBindingExit the context of a potentially recursive function.- Setzt außer Kraft:
exitRecursiveFunctionin KlasseTypeBinding
-
enterRecursiveProjectionFunction
public boolean enterRecursiveProjectionFunction() -
exitRecursiveProjectionFunction
public void exitRecursiveProjectionFunction() -
isProperType
public boolean isProperType(boolean admitCapture18) Beschreibung aus Klasse kopiert:TypeBindingJLS8 Sect 18.1.1- Setzt außer Kraft:
isProperTypein KlasseReferenceBinding- Parameter:
admitCapture18- request ifCaptureBinding18shuld 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:
isTypeVariablein KlasseTypeBinding
-
kind
public int kind()- Setzt außer Kraft:
kindin KlasseTypeBinding
-
mentionsAny
Beschreibung aus Klasse kopiert:TypeBindingDoes this type mention any of the given type parameters, except the one at position 'idx'?- Setzt außer Kraft:
mentionsAnyin KlasseTypeBinding
-
otherUpperBounds
-
readableName
public char[] readableName()Beschreibung aus Klasse kopiert:ReferenceBindingAnswer the receiver's signature. NOTE: This method should only be used during/after code gen.- Setzt außer Kraft:
readableNamein KlasseReferenceBinding- Siehe auch:
-
setTypeAnnotations
- Setzt außer Kraft:
setTypeAnnotationsin KlasseTypeBinding
-
shortReadableName
public char[] shortReadableName()- Setzt außer Kraft:
shortReadableNamein KlasseReferenceBinding- Siehe auch:
-
superclass
- Setzt außer Kraft:
superclassin KlasseReferenceBinding
-
superInterfaces
- Setzt außer Kraft:
superInterfacesin KlasseReferenceBinding
-
toString
-
nullAnnotatedReadableName
Beschreibung aus Klasse kopiert:TypeBindingAnswer a readable name (for error reporting) that includes nullness type annotations.- Setzt außer Kraft:
nullAnnotatedReadableNamein KlasseReferenceBinding- Siehe auch:
-
appendNullAnnotation
- Setzt außer Kraft:
appendNullAnnotationin KlasseReferenceBinding
-
unannotated
Beschreibung aus Klasse kopiert:TypeBindingReturn this type minus its type annotations- Setzt außer Kraft:
unannotatedin KlasseTypeBinding
-
withoutToplevelNullAnnotation
Beschreibung aus Klasse kopiert:TypeBindingReturn this type minus its toplevel null annotations. Any annotations on type arguments or bounds are retained.- Setzt außer Kraft:
withoutToplevelNullAnnotationin KlasseTypeBinding
-
upperBound
Upper bound doesn't perform erasure -
allUpperBounds
-
evaluateNullAnnotations
-
setFirstBound
-
setSuperClass
-
setSuperInterfaces
-
getDerivedTypesForDeferredInitialization
-
combineTypeAnnotations
-
acceptsNonNullDefault
public boolean acceptsNonNullDefault()Beschreibung aus Klasse kopiert:TypeBindingUsed 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:
acceptsNonNullDefaultin KlasseReferenceBinding
-
updateTagBits
public long updateTagBits()Beschreibung aus Klasse kopiert:TypeBindingRefresh some tagBits from details into the main type. Currently handled: TagBits.HasNullTypeAnnotation- Setzt außer Kraft:
updateTagBitsin KlasseTypeBinding
-
isFreeTypeVariable
public boolean isFreeTypeVariable()- Setzt außer Kraft:
isFreeTypeVariablein KlasseTypeBinding
-
upwardsProjection
Beschreibung aus Klasse kopiert:ReferenceBindingPerform an upwards type projection as per JLS 4.10.5- Setzt außer Kraft:
upwardsProjectionin KlasseReferenceBinding- Parameter:
scope- Relevant scope for evaluating type projectionmentionedTypeVariables- Filter for mentioned type variabled
-
downwardsProjection
Beschreibung aus Klasse kopiert:ReferenceBindingPerform a downwards type projection as per JLS 4.10.5- Setzt außer Kraft:
downwardsProjectionin KlasseReferenceBinding- Parameter:
scope- Relevant scope for evaluating type projectionmentionedTypeVariables- Filter for mentioned type variabled
-