public class RawTypeBinding extends ParameterizedTypeBinding
Substitution.NullSubstitutionarguments, enclosingType, environment, fields, genericTypeSignature, memberTypes, methods, superclass, superInterfaces, typecompoundName, fPackage, LUB_GENERIC, modifiers, samProblemBinding, singleAbstractMethod, sourceNameBOOLEAN, BYTE, CHAR, DOUBLE, FLOAT, id, INT, LONG, NULL, SHORT, tagBits, TYPE_USE_BINDING, typeAnnotations, VOIDANY_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_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_PLAIN_PACKAGES, NO_REFERENCE_TYPES, NO_SUPERINTERFACES, NO_TYPE_VARIABLES, NO_TYPES, NULL_UNSPECIFIED_BY_DEFAULT, NullnessDefaultMASK, PACKAGE, PARAMETERIZED_TYPE, POLY_TYPE, RAW_TYPE, TYPE, TYPE_PARAMETER, TYPE_USE, UNINITIALIZED_FIELDS, UNINITIALIZED_METHODS, UNINITIALIZED_REFERENCE_TYPES, VARIABLE, WILDCARD_TYPE| Constructor and Description |
|---|
RawTypeBinding(ReferenceBinding type,
ReferenceBinding enclosingType,
LookupEnvironment environment)
Raw type arguments are erasure of respective parameter bounds.
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
annotatedDebugName() |
ParameterizedTypeBinding |
capture(Scope scope,
int start,
int end)
Perform capture conversion for a parameterized type with wildcard arguments
|
TypeBinding |
clone(TypeBinding outerType)
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[] |
computeUniqueKey(boolean isLeaf)
p.X
|
ParameterizedMethodBinding |
createParameterizedMethod(MethodBinding originalMethod) |
java.lang.String |
debugName() |
ReferenceBinding |
downwardsProjection(Scope scope,
TypeBinding[] mentionedTypeVariables)
Perform a downwards type projection as per JLS 4.10.5
|
ReferenceBinding |
enclosingType() |
char[] |
genericTypeSignature()
Ltype |
MethodBinding |
getSingleAbstractMethod(Scope scope,
boolean replaceWildcards)
Return the single abstract method of a functional interface, or one of
null or ReferenceBinding.samProblemBinding, if the receiver is not a functional interface as defined in JLS 9.8. |
protected void |
initializeArguments() |
boolean |
isEquivalentTo(TypeBinding otherType)
Returns true if a type is identical to another one,
or for generic types, true if compared to its raw type.
|
boolean |
isParameterizedType()
Returns true if the type is parameterized, e.g.
|
boolean |
isProperType(boolean admitCapture18)
JLS8 Sect 18.1.1
|
boolean |
isProvablyDistinct(TypeBinding otherType)
Returns true if a type is provably distinct from another one,
|
boolean |
isSubtypeOf(TypeBinding right,
boolean simulatingBugJDK8026527) |
int |
kind() |
boolean |
mentionsAny(TypeBinding[] parameters,
int idx)
Does this type mention any of the given type parameters, except the one at position 'idx'?
|
char[] |
readableName(boolean showGenerics) |
char[] |
shortReadableName(boolean showGenerics) |
TypeBinding |
uncapture(Scope scope)
Perform capture deconversion for a parameterized type with captured wildcard arguments
|
ReferenceBinding |
upwardsProjection(Scope scope,
TypeBinding[] mentionedTypeVariables)
Perform an upwards type projection as per JLS 4.10.5
|
TypeBinding |
withoutToplevelNullAnnotation()
Return this type minus its toplevel null annotations.
|
actualType, boundCheck, canBeInstantiated, collectMissingTypes, collectSubstitutes, computeId, constantPoolName, environment, erasure, fieldCount, fields, genericType, getAnnotationTagBits, getEnclosingInstancesSlotSize, getExactConstructor, getExactMethod, getExactMethodBase, getField, getField, getInterfaceAbstractContracts, getMethods, getMethodsBase, getNonWildcardParameterization, getOuterLocalVariablesSlotSize, getSingleAbstractMethod, hasMemberTypes, hasMethodWithNumArgs, hasTypeBit, implementsMethod, isBoundParameterizedType, isHierarchyConnected, isRawSubstitution, memberTypes, methods, nullAnnotatedReadableName, problemId, qualifiedPackageName, qualifiedSourceName, readableName, shortReadableName, signature, sourceName, substitute, superclass, superInterfaces, swapUnresolved, syntheticEnclosingInstanceTypes, syntheticOuterLocalVariables, toString, typeArguments, typeVariables, unannotated, unResolvedFields, updateTagBitsacceptsNonNullDefault, appendNullAnnotation, applyCloseableClassWhitelists, applyCloseableInterfaceWhitelists, availableFields, availableMethods, binarySearch, binarySearch, canBeSeenBy, canBeSeenBy, canBeSeenBy, computeGenericTypeSignature, computeId, depth, detectAnnotationCycle, enclosingTypeAt, enumConstantCount, getAccessFlags, getAnnotations, getFileName, getMemberType, getMethods, getPackage, getTypeVariable, hasEnclosingInstanceContext, hashCode, hasHierarchyCheckStarted, hasIncompatibleSuperType, hasNullBit, hasRestrictedAccess, implementsInterface, innerCanBeSeenBy, innerCanBeSeenBy, isAbstract, isAnnotationType, isBinaryBinding, isClass, isCompatibleWith, isConsistentIntersection, isDefault, isDeprecated, isEnum, isFinal, isFunctionalInterface, isHierarchyBeingActivelyConnected, isHierarchyBeingConnected, isInterface, isNestmateOf, isOrEnclosedByPrivateType, isPrivate, isProtected, isPublic, isStatic, isStrictfp, isSubTypeOfRTL, isSuperclassOf, isThrowable, isUncheckedException, isUsed, isViewedAsDeprecated, module, outermostEnclosingType, retrieveAnnotationHolder, setAnnotations, setContainerAnnotationType, setHierarchyCheckDone, sortFields, sortMethods, tagAsHavingDefectiveContainerTypeclosestMatch, containerAnnotationType, dimensions, enclosingMethod, enterRecursiveFunction, equalsEquals, exitRecursiveFunction, findSuperTypeOriginatingFrom, findSuperTypeOriginatingFrom, genericCast, getErasureCompatibleType, getIntersectingTypes, getTypeAnnotations, hasNullTypeAnnotations, hasTypeAnnotations, isAnonymousType, isArrayType, isBaseType, isBoxedPrimitiveType, isBoxingCompatibleWith, isCapture, isCompatibleWith, isFreeTypeVariable, isFunctionalType, isGenericType, isHierarchyInconsistent, isIntersectionType, isIntersectionType18, isLocalType, isMemberType, isNestedType, isNumericType, isParameterizedTypeWithActualArguments, isParameterizedWithOwnVariables, isPolyType, isPotentiallyCompatibleWith, isPrimitiveOrBoxedPrimitiveType, isPrimitiveType, isRawType, isRecord, isReifiable, isRepeatableAnnotationType, isTypeArgumentContainedBy, isTypeVariable, isUnboundWildcard, isUnresolvedType, isWildcard, leafComponentType, needsUncheckedConversion, notEquals, original, prototype, setTypeAnnotations, signableName, sIsMoreSpecific, wellKnownBaseType, wellKnownTypecomputeUniqueKey, initializeDeprecatedAnnotationTagBits, isParameter, isTaggedRepeatable, isValid, isValidBinding, isVolatile, setAnnotationspublic RawTypeBinding(ReferenceBinding type, ReferenceBinding enclosingType, LookupEnvironment environment)
public char[] computeUniqueKey(boolean isLeaf)
ReferenceBindingcomputeUniqueKey in class ParameterizedTypeBindingpublic TypeBinding clone(TypeBinding outerType)
TypeBindingclone in class ParameterizedTypeBindingpublic TypeBinding withoutToplevelNullAnnotation()
TypeBindingwithoutToplevelNullAnnotation in class ParameterizedTypeBindingpublic ParameterizedMethodBinding createParameterizedMethod(MethodBinding originalMethod)
public boolean isParameterizedType()
TypeBindingTypeBinding.isParameterizedTypeWithActualArguments() instead to find out.isParameterizedType in class ParameterizedTypeBindingpublic int kind()
kind in class ParameterizedTypeBindingpublic java.lang.String debugName()
debugName in class ParameterizedTypeBindingTypeBinding.debugName()public java.lang.String annotatedDebugName()
annotatedDebugName in class ParameterizedTypeBindingpublic char[] genericTypeSignature()
genericTypeSignature in class ParameterizedTypeBindingpublic boolean isEquivalentTo(TypeBinding otherType)
TypeBindingisEquivalentTo in class ParameterizedTypeBindingpublic boolean isProvablyDistinct(TypeBinding otherType)
TypeBindingisProvablyDistinct in class TypeBindingpublic boolean isSubtypeOf(TypeBinding right, boolean simulatingBugJDK8026527)
isSubtypeOf in class ReferenceBindingpublic boolean isProperType(boolean admitCapture18)
TypeBindingisProperType in class ParameterizedTypeBindingadmitCapture18 - request if CaptureBinding18 shuld be considered as a proper type.
If unsure say 'true', only in Scope.greaterLowerBound(TypeBinding[], Scope, LookupEnvironment)
CaptureBinding18 has to be excluded to prevent an NPE on a branch that heuristically tries to avoid
inconsistent intersections.protected void initializeArguments()
initializeArguments in class ParameterizedTypeBindingpublic ParameterizedTypeBinding capture(Scope scope, int start, int end)
ParameterizedTypeBindingcapture in class ParameterizedTypeBindingTypeBinding.capture(Scope,int, int)public TypeBinding uncapture(Scope scope)
ParameterizedTypeBindinguncapture in class ParameterizedTypeBindingTypeBinding.uncapture(Scope)public MethodBinding getSingleAbstractMethod(Scope scope, boolean replaceWildcards)
TypeBindingnull or ReferenceBinding.samProblemBinding, if the receiver is not a functional interface as defined in JLS 9.8.
In particular null is answered if the receiver is not a reference type, or is a problem type.getSingleAbstractMethod in class ParameterizedTypeBindingscope - scopereplaceWildcards - Should wildcards be replaced following JLS 9.8? Say false for lambdas with explicit argument types which should apply 18.5.3null or ReferenceBinding.samProblemBinding, if the receiver is not a functional interface.public boolean mentionsAny(TypeBinding[] parameters, int idx)
TypeBindingmentionsAny in class ParameterizedTypeBindingpublic char[] readableName(boolean showGenerics)
readableName in class ParameterizedTypeBindingBinding.readableName()public char[] shortReadableName(boolean showGenerics)
shortReadableName in class ParameterizedTypeBindingBinding.shortReadableName()public ReferenceBinding upwardsProjection(Scope scope, TypeBinding[] mentionedTypeVariables)
ReferenceBindingupwardsProjection in class ParameterizedTypeBindingscope - Relevant scope for evaluating type projectionmentionedTypeVariables - Filter for mentioned type variabledpublic ReferenceBinding downwardsProjection(Scope scope, TypeBinding[] mentionedTypeVariables)
ReferenceBindingdownwardsProjection in class ParameterizedTypeBindingscope - Relevant scope for evaluating type projectionmentionedTypeVariables - Filter for mentioned type variabledpublic ReferenceBinding enclosingType()
enclosingType in class ParameterizedTypeBindingTypeBinding.enclosingType()