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 TypFeldBeschreibungintintVon 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
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 TypMethodeBeschreibungbooleanUsed to implement this sentence from o.e.j.annotation.DefaultLocation: "Wildcards and the use of type variables are always excluded from NonNullByDefault."booleanboundCheck(TypeBinding argumentType) Returns true if the argument type satisfies the wildcard bound(s)booleanAnswer 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 typesvoidcollectSubstitutes(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.longdetermineNullBitsFromDeclaration(Scope scope, Wildcard wildcard) compute the nullTagBits from type annotations and bound.booleanCall this before descending into type details to prevent infinite recursion.erasure()voidevaluateNullAnnotations(Scope scope, Wildcard wildcard) evaluate null type annotations and check / copy nullTagBits from bound and typevariable.voidExit the context of a potentially recursive function.char[]Answer the receiver classfile signature.inthashCode()booleanhasTypeBit(int bit) Answer an additional bit characterizing this type, likeTypeIds.BitAutoCloseable.booleanReturns true if the type hierarchy is connectedbooleanReturns true if the current type denotes an intersection type: Number Ungültige Eingabe: "&" ComparableUngültige Eingabe: "<"?booleanisProperType(boolean admitCapture18) JLS8 Sect 18.1.1booleanisSuperclassOf(ReferenceBinding otherType) Answer true if the receiver is in the superclass hierarchy of aType NOTE: Object.isSuperclassOf(Object) -> falsebooleanReturns true if wildcard type of the form '?'booleanReturns true if the type is a wildcardintkind()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.voidsetTypeAnnotations(AnnotationBinding[] annotations, boolean evalNullAnnotations) char[]char[]Answer the receiver classfile signature.char[]voidswapUnresolved(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 typelongRefresh 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, getEnclosingInstancesSlotSize, getExactConstructor, getExactMethod, getField, getField, getFileName, getInterfaceAbstractContracts, getMemberType, getMethods, getMethods, getOuterLocalVariablesSlotSize, getPackage, 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, unResolvedFields, upwardsProjectionVon 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, isRecord, isReifiable, isRepeatableAnnotationType, isTypeArgumentContainedBy, isTypeVariable, isUnresolvedType, leafComponentType, needsUncheckedConversion, notEquals, original, prototype, qualifiedPackageName, signableName, sIsMoreSpecific, syntheticOuterLocalVariables, typeVariables, wellKnownBaseType, wellKnownTypeVon 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:
setTypeAnnotationsin 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:
actualTypein KlasseTypeBinding
-
kind
public int kind()- Setzt außer Kraft:
kindin KlasseTypeBinding
-
boundCheck
Returns true if the argument type satisfies the wildcard bound(s) -
canBeInstantiated
public boolean canBeInstantiated()Beschreibung aus Klasse kopiert:ReferenceBindingAnswer true if the receiver can be instantiated- Setzt außer Kraft:
canBeInstantiatedin KlasseReferenceBinding- Siehe auch:
-
collectMissingTypes
Beschreibung aus Klasse kopiert:TypeBindingIterate through the type components to collect instances of leaf missing types- Setzt außer Kraft:
collectMissingTypesin KlasseTypeBinding- 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:
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- Siehe auch:
-
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
-
genericTypeSignature
public char[] genericTypeSignature()Beschreibung aus Klasse kopiert:TypeBindingAnswer 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:
genericTypeSignaturein KlasseTypeBinding
-
hashCode
public int hashCode()- Setzt außer Kraft:
hashCodein KlasseReferenceBinding
-
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
-
isSuperclassOf
Beschreibung aus Klasse kopiert:ReferenceBindingAnswer true if the receiver is in the superclass hierarchy of aType NOTE: Object.isSuperclassOf(Object) -> false- Setzt außer Kraft:
isSuperclassOfin KlasseReferenceBinding- Siehe auch:
-
isIntersectionType
public boolean isIntersectionType()Beschreibung aus Klasse kopiert:TypeBindingReturns true if the current type denotes an intersection type: Number Ungültige Eingabe: "&" ComparableUngültige Eingabe: "<"?>- Setzt außer Kraft:
isIntersectionTypein KlasseTypeBinding
-
getIntersectingTypes
- Setzt außer Kraft:
getIntersectingTypesin KlasseTypeBinding
-
isHierarchyConnected
public boolean isHierarchyConnected()Beschreibung aus Klasse kopiert:ReferenceBindingReturns true if the type hierarchy is connected- Setzt außer Kraft:
isHierarchyConnectedin 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
-
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.
-
isUnboundWildcard
public boolean isUnboundWildcard()Beschreibung aus Klasse kopiert:TypeBindingReturns true if wildcard type of the form '?' (no bound)- Setzt außer Kraft:
isUnboundWildcardin KlasseTypeBinding
-
isWildcard
public boolean isWildcard()Beschreibung aus Klasse kopiert:TypeBindingReturns true if the type is a wildcard- Setzt außer Kraft:
isWildcardin KlasseTypeBinding
-
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
-
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:
-
shortReadableName
public char[] shortReadableName()- Setzt außer Kraft:
shortReadableNamein KlasseReferenceBinding
-
signature
public char[] signature()Beschreibung aus Klasse kopiert:TypeBindingAnswer 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:
signaturein KlasseReferenceBinding- Siehe auch:
-
sourceName
public char[] sourceName()- Setzt außer Kraft:
sourceNamein KlasseReferenceBinding
-
superclass
- Setzt außer Kraft:
superclassin KlasseReferenceBinding
-
superInterfaces
- Setzt außer Kraft:
superInterfacesin KlasseReferenceBinding
-
swapUnresolved
public void swapUnresolved(UnresolvedReferenceBinding unresolvedType, ReferenceBinding resolvedType, LookupEnvironment env) - Setzt außer Kraft:
swapUnresolvedin KlasseTypeBinding
-
toString
-
typeVariable
Returns associated type variable, or null in case of inconsistency -
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
-
uncapture
Beschreibung aus Klasse kopiert:TypeBindingPerform capture "deconversion" on a given type- Setzt außer Kraft:
uncapturein 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
-
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
-