public class TypeVariableBinding extends ReferenceBinding
| Modifier and Type | Field and Description |
|---|---|
Binding |
declaringElement |
TypeBinding |
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.
|
char[] |
genericTypeSignature |
int |
rank |
ReferenceBinding |
superclass |
ReferenceBinding[] |
superInterfaces |
compoundName, fPackage, LUB_GENERIC, modifiers, sourceNameBOOLEAN, BYTE, CHAR, DOUBLE, FLOAT, id, INT, LONG, NULL, SHORT, tagBits, VOIDANY_EXCEPTION, ARRAY_TYPE, BASE_TYPE, FIELD, GENERIC_TYPE, IMPORT, INTERSECTION_TYPE, LOCAL, METHOD, NO_ANNOTATIONS, NO_ELEMENT_VALUE_PAIRS, NO_EXCEPTIONS, NO_FIELDS, NO_MEMBER_TYPES, NO_METHODS, NO_NULL_DEFAULT, NO_PARAMETERS, NO_SUPERINTERFACES, NO_TYPE_VARIABLES, NO_TYPES, NONNULL_BY_DEFAULT, NULL_UNSPECIFIED_BY_DEFAULT, PACKAGE, PARAMETERIZED_TYPE, RAW_TYPE, TYPE, TYPE_PARAMETER, UNINITIALIZED_FIELDS, UNINITIALIZED_METHODS, UNINITIALIZED_REFERENCE_TYPES, VARIABLE, WILDCARD_TYPE| Constructor and Description |
|---|
TypeVariableBinding(char[] sourceName,
Binding declaringElement,
int rank,
LookupEnvironment environment) |
| Modifier and Type | Method and Description |
|---|---|
int |
boundCheck(Substitution substitution,
TypeBinding argumentType,
Scope scope)
Returns true if the argument type satisfies all bounds of the type parameter
|
int |
boundsCount() |
boolean |
canBeInstantiated()
Answer true if the receiver can be instantiated
|
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.
|
char[] |
computeUniqueKey(boolean isLeaf)
p.X
|
char[] |
constantPoolName()
Answer the receiver's constant pool name.
|
String |
debugName() |
TypeBinding |
erasure() |
char[] |
genericSignature()
T::Ljava/util/Map;:Ljava/io/Serializable;
T:LY
|
char[] |
genericTypeSignature()
T::Ljava/util/Map;:Ljava/io/Serializable;
T:LY
|
boolean |
hasTypeBit(int bit)
Answer an additional bit characterizing this type, like
TypeIds.BitAutoCloseable. |
boolean |
isErasureBoundTo(TypeBinding type)
Returns true if the type variable is directly bound to a given type
|
boolean |
isHierarchyConnected()
Returns true if the type hierarchy is connected
|
boolean |
isInterchangeableWith(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:
|
boolean |
isTypeVariable()
Returns true if the type was declared as a type variable
|
int |
kind() |
TypeBinding[] |
otherUpperBounds() |
char[] |
readableName()
Answer the receiver's signature.
|
char[] |
shortReadableName() |
ReferenceBinding |
superclass() |
ReferenceBinding[] |
superInterfaces() |
String |
toString() |
TypeBinding |
upperBound()
Upper bound doesn't perform erasure
|
applyCloseableWhitelists, availableFields, availableMethods, binarySearch, binarySearch, canBeSeenBy, canBeSeenBy, canBeSeenBy, computeGenericTypeSignature, computeId, depth, detectAnnotationCycle, enclosingTypeAt, enumConstantCount, fieldCount, fields, getAccessFlags, getAnnotations, getAnnotationTagBits, getEnclosingInstancesSlotSize, getExactConstructor, getExactMethod, getField, getFileName, getMemberType, getMethods, getMethods, getOuterLocalVariablesSlotSize, getPackage, getTypeVariable, hashCode, hasIncompatibleSuperType, hasMemberTypes, hasRestrictedAccess, implementsInterface, isAbstract, isAnnotationType, isBinaryBinding, isClass, isCompatibleWith, isDefault, isDeprecated, isEnum, isFinal, isHierarchyBeingActivelyConnected, isHierarchyBeingConnected, isInterface, isOrEnclosedByPrivateType, isPrivate, isProtected, isPublic, isStatic, isStrictfp, isSuperclassOf, isThrowable, isUncheckedException, isUsed, isViewedAsDeprecated, memberTypes, methods, outermostEnclosingType, qualifiedSourceName, retrieveAnnotationHolder, setAnnotations, signature, sortFields, sortMethods, sourceName, syntheticEnclosingInstanceTypes, syntheticOuterLocalVariables, unResolvedFieldscapture, closestMatch, collectMissingTypes, dimensions, enclosingType, findSuperTypeOriginatingFrom, findSuperTypeOriginatingFrom, genericCast, getErasureCompatibleType, isAnonymousType, isArrayType, isBaseType, isBoundParameterizedType, isCapture, isCompatibleWith, isEquivalentTo, isGenericType, isHierarchyInconsistent, isIntersectionType, isLocalType, isMemberType, isNestedType, isNumericType, isParameterizedType, isParameterizedTypeWithActualArguments, isParameterizedWithOwnVariables, isProvablyDistinct, isRawType, isReifiable, isTypeArgumentContainedBy, isUnboundWildcard, isWildcard, leafComponentType, needsUncheckedConversion, original, qualifiedPackageName, swapUnresolved, typeVariables, wellKnownTypecomputeUniqueKey, initializeDeprecatedAnnotationTagBits, isParameter, isValidBinding, isVolatile, problemIdpublic Binding declaringElement
public int rank
public TypeBinding firstBound
public ReferenceBinding superclass
public ReferenceBinding[] superInterfaces
public char[] genericTypeSignature
public TypeVariableBinding(char[] sourceName,
Binding declaringElement,
int rank,
LookupEnvironment environment)
public int boundCheck(Substitution substitution, TypeBinding argumentType, Scope scope)
public int boundsCount()
public boolean canBeInstantiated()
ReferenceBindingcanBeInstantiated in class ReferenceBindingReferenceBinding.canBeInstantiated()public void collectSubstitutes(Scope scope, TypeBinding actualType, InferenceContext inferenceContext, int constraint)
collectSubstitutes in class TypeBindingpublic char[] computeUniqueKey(boolean isLeaf)
ReferenceBindingcomputeUniqueKey in class ReferenceBindingpublic char[] constantPoolName()
ReferenceBindingconstantPoolName in class ReferenceBindingpublic String debugName()
debugName in class ReferenceBindingTypeBinding.debugName()public TypeBinding erasure()
erasure in class TypeBindingpublic char[] genericSignature()
public char[] genericTypeSignature()
genericTypeSignature in class TypeBindingpublic boolean hasTypeBit(int bit)
ReferenceBindingTypeIds.BitAutoCloseable.hasTypeBit in class ReferenceBindingpublic boolean isErasureBoundTo(TypeBinding type)
public boolean isHierarchyConnected()
ReferenceBindingisHierarchyConnected in class ReferenceBindingpublic boolean isInterchangeableWith(TypeVariableBinding otherVariable, Substitution substitute)
public boolean isTypeVariable()
isTypeVariable in class TypeBindingpublic int kind()
kind in class TypeBindingpublic TypeBinding[] otherUpperBounds()
public char[] readableName()
ReferenceBindingreadableName in class ReferenceBindingReferenceBinding.readableName()public char[] shortReadableName()
shortReadableName in class ReferenceBindingReferenceBinding.shortReadableName()public ReferenceBinding superclass()
superclass in class ReferenceBindingpublic ReferenceBinding[] superInterfaces()
superInterfaces in class ReferenceBindingpublic String toString()
toString in class ObjectObject.toString()public TypeBinding upperBound()
Copyright © 2013. All rights reserved.