Klasse InferenceVariable
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
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
Implementation of 18.1.1 in JLS8
-
Feldübersicht
FelderVon Klasse geerbte Felder org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
declaringElement, firstBound, genericTypeSignature, rank, superclass, superInterfacesVon 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 -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungclone(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[]Answer the receiver's constant pool name.booleanerasure()static InferenceVariableget(TypeBinding typeParameter, int rank, InvocationSite site, Scope scope, ReferenceBinding object, boolean initial) Create or retrieve the inference variable representing the given typeParameter.inthashCode()booleanhasTypeBit(int bit) Answer an additional bit characterizing this type, likeTypeIds.BitAutoCloseable.booleanisCompatibleWith(TypeBinding right, Scope scope) 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)booleanisProperType(boolean admitCapture18) JLS8 Sect 18.1.1Return the primordial type from which the receiver was cloned.char[]Answer the source name for the type.char[]Answer the receiver's signature.char[]toString()Von Klasse geerbte Methoden org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
acceptsNonNullDefault, allUpperBounds, annotatedDebugName, appendNullAnnotation, boundCheck, boundsCount, canBeInstantiated, collectSubstitutes, combineTypeAnnotations, computeUniqueKey, downwardsProjection, enterRecursiveFunction, enterRecursiveProjectionFunction, evaluateNullAnnotations, exitRecursiveFunction, exitRecursiveProjectionFunction, genericSignature, genericTypeSignature, getDerivedTypesForDeferredInitialization, isErasureBoundTo, isFreeTypeVariable, isHierarchyConnected, isInterchangeableWith, isSubtypeOf, isTypeVariable, kind, mentionsAny, nullAnnotatedReadableName, otherUpperBounds, setFirstBound, setSuperClass, setSuperInterfaces, setTypeAnnotations, shortReadableName, superclass, unannotated, updateTagBits, upperBound, upwardsProjection, withoutToplevelNullAnnotationVon 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, getSingleAbstractMethod, getTypeVariable, hasEnclosingInstanceContext, hasHierarchyCheckStarted, hasIncompatibleSuperType, hasMemberTypes, hasMethodWithNumArgs, hasNullBit, hasRestrictedAccess, implementsInterface, innerCanBeSeenBy, innerCanBeSeenBy, isAbstract, isAnnotationType, isBinaryBinding, isClass, 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, readableName, retrieveAnnotationHolder, setAnnotations, setContainerAnnotationType, setHierarchyCheckDone, shortReadableName, signature, sortFields, sortMethods, 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, 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
-
isFromInitialSubstitution
public boolean isFromInitialSubstitution
-
-
Methodendetails
-
get
public static InferenceVariable get(TypeBinding typeParameter, int rank, InvocationSite site, Scope scope, ReferenceBinding object, boolean initial) Create or retrieve the inference variable representing the given typeParameter. Inference variables are interned to avoid duplication due to lambda copying. -
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 KlasseTypeVariableBinding
-
prototype
Beschreibung aus Klasse kopiert:TypeBindingReturn the primordial type from which the receiver was cloned. Not all types track a prototype, onlySourceTypeBinding,BinaryTypeBindingandUnresolvedReferenceBindingdo so as of now. In fact some types e.gParameterizedTypeBindingshould not do so. Deflecting a query to a prototype would lead to wrong results in the case ofParameterizedTypeBinding- Setzt außer Kraft:
prototypein KlasseTypeBinding
-
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 KlasseTypeVariableBinding
-
getPackage
- Setzt außer Kraft:
getPackagein KlasseReferenceBinding
-
isCompatibleWith
Beschreibung aus Klasse kopiert:ReferenceBindingAnswer 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)- Setzt außer Kraft:
isCompatibleWithin KlasseReferenceBinding
-
isProperType
public boolean isProperType(boolean admitCapture18) Beschreibung aus Klasse kopiert:TypeBindingJLS8 Sect 18.1.1- Setzt außer Kraft:
isProperTypein KlasseTypeVariableBinding- 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.
-
superInterfaces
- Setzt außer Kraft:
superInterfacesin KlasseTypeVariableBinding
-
qualifiedSourceName
public char[] qualifiedSourceName()Beschreibung aus Klasse kopiert:ReferenceBindingAnswer the source name for the type. In the case of member types, as the qualified name from its top level type. For example, for a member type N defined inside M Ungültige Eingabe: "&" A: "A.M.N".- Setzt außer Kraft:
qualifiedSourceNamein KlasseReferenceBinding
-
sourceName
public char[] sourceName()- Setzt außer Kraft:
sourceNamein KlasseReferenceBinding
-
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 KlasseTypeVariableBinding- Siehe auch:
-
hasTypeBit
public boolean hasTypeBit(int bit) Beschreibung aus Klasse kopiert:TypeBindingAnswer an additional bit characterizing this type, likeTypeIds.BitAutoCloseable.- Setzt außer Kraft:
hasTypeBitin KlasseTypeVariableBinding
-
debugName
- Setzt außer Kraft:
debugNamein KlasseTypeVariableBinding- Siehe auch:
-
toString
- Setzt außer Kraft:
toStringin KlasseTypeVariableBinding- Siehe auch:
-
hashCode
public int hashCode()- Setzt außer Kraft:
hashCodein KlasseReferenceBinding
-
equals
-
erasure
- Setzt außer Kraft:
erasurein KlasseTypeVariableBinding
-