Klasse WildcardBinding
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.WildcardBinding
-
Feldübersicht
FelderModifizierer und TypFeldBeschreibungint
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
KonstruktorenKonstruktorBeschreibungWildcardBinding
(ReferenceBinding genericType, int rank, TypeBinding bound, TypeBinding[] otherBounds, int boundKind, LookupEnvironment environment) When unbound, the bound denotes the corresponding type variable (so as to retrieve its bound lazily) -
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."boolean
boundCheck
(TypeBinding argumentType) Returns true if the argument type satisfies the wildcard bound(s)boolean
Answer true if the receiver can be instantiatedclone
(TypeBinding immaterial) 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.collectMissingTypes
(List<TypeBinding> missingTypes) Iterate through the type components to collect instances of leaf missing typesvoid
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.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.long
determineNullBitsFromDeclaration
(Scope scope, Wildcard wildcard) compute the nullTagBits from type annotations and bound.boolean
Call this before descending into type details to prevent infinite recursion.erasure()
void
evaluateNullAnnotations
(Scope scope, Wildcard wildcard) evaluate null type annotations and check / copy nullTagBits from bound and typevariable.void
Exit the context of a potentially recursive function.char[]
Answer the receiver classfile signature.int
hashCode()
boolean
hasTypeBit
(int bit) Answer an additional bit characterizing this type, likeTypeIds.BitAutoCloseable
.boolean
Returns true if the type hierarchy is connectedboolean
Returns true if the current type denotes an intersection type: Number Ungültige Eingabe: "&" ComparableUngültige Eingabe: "<"?boolean
Does this type lack a class file representation on its own ?boolean
isProperType
(boolean admitCapture18) JLS8 Sect 18.1.1boolean
isSuperclassOf
(ReferenceBinding otherType) Answer true if the receiver is in the superclass hierarchy of aType NOTE: Object.isSuperclassOf(Object) -> falseboolean
Returns true if wildcard type of the form '?'boolean
Returns true if the type is a wildcardint
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.void
setTypeAnnotations
(AnnotationBinding[] annotations, boolean evalNullAnnotations) char[]
char[]
Answer the receiver classfile signature.char[]
void
swapUnresolved
(UnresolvedReferenceBinding unresolvedType, ReferenceBinding resolvedType, LookupEnvironment env) toString()
Returns associated type variable, or null in case of inconsistencyReturn this type minus its type annotationsPerform capture "deconversion" on a given typelong
Refresh some tagBits from details into the main type.Return this type minus its toplevel null annotations.Von Klasse geerbte Methoden org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
appendNullAnnotation, applyCloseableClassWhitelists, applyCloseableInterfaceWhitelists, availableFields, availableMethods, binarySearch, binarySearch, canBeSeenBy, canBeSeenBy, canBeSeenBy, computeGenericTypeSignature, computeId, computeId, depth, detectAnnotationCycle, downwardsProjection, 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, 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, isSubtypeOf, isSubTypeOfRTL, isThrowable, isUncheckedException, isUsed, isViewedAsDeprecated, memberTypes, methods, module, outermostEnclosingType, permittedTypes, qualifiedSourceName, readableName, retrieveAnnotationHolder, setAnnotations, setContainerAnnotationType, setHierarchyCheckDone, shortReadableName, sortFields, sortMethods, syntheticEnclosingInstanceTypes, tagAsHavingDefectiveContainerType, unResolvedComponents, unResolvedFields, upwardsProjection
Von Klasse geerbte Methoden org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding
capture, closestMatch, components, containerAnnotationType, dimensions, enclosingMethod, enclosingType, equalsEquals, findSuperTypeOriginatingFrom, findSuperTypeOriginatingFrom, genericCast, getErasureCompatibleType, getTypeAnnotations, hasNullTypeAnnotations, hasTypeAnnotations, hasValueBasedTypeAnnotation, isAnonymousType, isArrayType, isBaseType, isBoundParameterizedType, isBoxedPrimitiveType, isBoxingCompatibleWith, isCapture, isCompatibleWith, isEquivalentTo, isFreeTypeVariable, isFunctionalType, isGenericType, isHierarchyInconsistent, isIntersectionType18, isLocalType, isMemberType, isNestedType, isNumericType, isParameterizedType, isParameterizedTypeWithActualArguments, isParameterizedWithOwnVariables, isPolyType, isPotentiallyCompatibleWith, isPrimitiveOrBoxedPrimitiveType, isPrimitiveType, isProvablyDistinct, isRawType, isReadyForAnnotations, isRecord, isReifiable, isRepeatableAnnotationType, isTypeArgumentContainedBy, isTypeVariable, isUnresolvedType, leafComponentType, needsUncheckedConversion, notEquals, original, prototype, qualifiedPackageName, signableName, sIsMoreSpecific, syntheticOuterLocalVariables, typeVariables, 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
-
genericType
-
rank
public int rank -
bound
-
otherBounds
-
boundKind
public int boundKind
-
-
Konstruktordetails
-
WildcardBinding
public WildcardBinding(ReferenceBinding genericType, int rank, TypeBinding bound, TypeBinding[] otherBounds, int boundKind, LookupEnvironment environment) When unbound, the bound denotes the corresponding type variable (so as to retrieve its bound lazily)
-
-
Methodendetails
-
allBounds
-
setTypeAnnotations
- Setzt außer Kraft:
setTypeAnnotations
in KlasseTypeBinding
-
evaluateNullAnnotations
evaluate null type annotations and check / copy nullTagBits from bound and typevariable. may be invoked repeatedly.- Parameter:
scope
- (may be null, if wildcard is null)wildcard
- (may be null. if non-null, errors are reported and type annotations are dropped from this.bound in case of conflicts.)
-
determineNullBitsFromDeclaration
compute the nullTagBits from type annotations and bound.- Parameter:
scope
- (may be null, if wildcard is null)wildcard
- (may be null. if non-null, errors are reported and type annotations are dropped from this.bound in case of conflicts.)
-
actualType
- Setzt außer Kraft:
actualType
in KlasseTypeBinding
-
kind
public int kind()- Setzt außer Kraft:
kind
in KlasseTypeBinding
-
boundCheck
Returns true if the argument type satisfies the wildcard bound(s) -
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:
-
collectMissingTypes
Beschreibung aus Klasse kopiert:TypeBinding
Iterate through the type components to collect instances of leaf missing types- Setzt außer Kraft:
collectMissingTypes
in KlasseTypeBinding
- Parameter:
missingTypes
-- Gibt zurück:
- missing types
- 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
- Siehe auch:
-
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
-
genericTypeSignature
public char[] genericTypeSignature()Beschreibung aus Klasse kopiert:TypeBinding
Answer the receiver classfile signature. Arrays Ungültige Eingabe: "&" base types do not distinguish between signature() Ungültige Eingabe: "&" constantPoolName(). NOTE: This method should only be used during/after code gen.- Setzt außer Kraft:
genericTypeSignature
in KlasseTypeBinding
-
hashCode
public int hashCode()- Setzt außer Kraft:
hashCode
in KlasseReferenceBinding
-
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
-
isSuperclassOf
Beschreibung aus Klasse kopiert:ReferenceBinding
Answer true if the receiver is in the superclass hierarchy of aType NOTE: Object.isSuperclassOf(Object) -> false- Setzt außer Kraft:
isSuperclassOf
in KlasseReferenceBinding
- Siehe auch:
-
isIntersectionType
public boolean isIntersectionType()Beschreibung aus Klasse kopiert:TypeBinding
Returns true if the current type denotes an intersection type: Number Ungültige Eingabe: "&" ComparableUngültige Eingabe: "<"?>- Setzt außer Kraft:
isIntersectionType
in KlasseTypeBinding
-
getIntersectingTypes
- Setzt außer Kraft:
getIntersectingTypes
in KlasseTypeBinding
-
isHierarchyConnected
public boolean isHierarchyConnected()Beschreibung aus Klasse kopiert:ReferenceBinding
Returns true if the type hierarchy is connected- Setzt außer Kraft:
isHierarchyConnected
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
-
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.
-
isUnboundWildcard
public boolean isUnboundWildcard()Beschreibung aus Klasse kopiert:TypeBinding
Returns true if wildcard type of the form '?' (no bound)- Setzt außer Kraft:
isUnboundWildcard
in KlasseTypeBinding
-
isWildcard
public boolean isWildcard()Beschreibung aus Klasse kopiert:TypeBinding
Returns true if the type is a wildcard- Setzt außer Kraft:
isWildcard
in KlasseTypeBinding
-
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
-
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:
-
shortReadableName
public char[] shortReadableName()- Setzt außer Kraft:
shortReadableName
in KlasseReferenceBinding
-
signature
public char[] signature()Beschreibung aus Klasse kopiert:TypeBinding
Answer the receiver classfile signature. Arrays Ungültige Eingabe: "&" base types do not distinguish between signature() Ungültige Eingabe: "&" constantPoolName(). NOTE: This method should only be used during/after code gen.- Setzt außer Kraft:
signature
in KlasseReferenceBinding
- Siehe auch:
-
sourceName
public char[] sourceName()- Setzt außer Kraft:
sourceName
in KlasseReferenceBinding
-
superclass
- Setzt außer Kraft:
superclass
in KlasseReferenceBinding
-
superInterfaces
- Setzt außer Kraft:
superInterfaces
in KlasseReferenceBinding
-
swapUnresolved
public void swapUnresolved(UnresolvedReferenceBinding unresolvedType, ReferenceBinding resolvedType, LookupEnvironment env) - Setzt außer Kraft:
swapUnresolved
in KlasseTypeBinding
-
toString
-
typeVariable
Returns associated type variable, or null in case of inconsistency -
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
-
uncapture
Beschreibung aus Klasse kopiert:TypeBinding
Perform capture "deconversion" on a given type- Setzt außer Kraft:
uncapture
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
-
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
-
isNonDenotable
public boolean isNonDenotable()Beschreibung aus Klasse kopiert:TypeBinding
Does this type lack a class file representation on its own ?- Setzt außer Kraft:
isNonDenotable
in KlasseTypeBinding
-