org.eclipse.jdt.internal.compiler.lookup
类 TypeVariableBinding

java.lang.Object
  继承者 org.eclipse.jdt.internal.compiler.lookup.Binding
      继承者 org.eclipse.jdt.internal.compiler.lookup.TypeBinding
          继承者 org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
              继承者 org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
直接已知子类:
CaptureBinding

public class TypeVariableBinding
extends ReferenceBinding

Binding for a type parameter, held by source/binary type or method.


字段摘要
 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
           
 
从类 org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding 继承的字段
compoundName, fPackage, LUB_GENERIC, modifiers, sourceName
 
从类 org.eclipse.jdt.internal.compiler.lookup.TypeBinding 继承的字段
BOOLEAN, BYTE, CHAR, DOUBLE, FLOAT, id, INT, LONG, NULL, SHORT, tagBits, VOID
 
从类 org.eclipse.jdt.internal.compiler.lookup.Binding 继承的字段
ANY_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_PARAMETERS, NO_SUPERINTERFACES, NO_TYPE_VARIABLES, NO_TYPES, PACKAGE, PARAMETERIZED_TYPE, RAW_TYPE, TYPE, TYPE_PARAMETER, UNINITIALIZED_FIELDS, UNINITIALIZED_METHODS, UNINITIALIZED_REFERENCE_TYPES, VARIABLE, WILDCARD_TYPE
 
构造方法摘要
TypeVariableBinding(char[] sourceName, Binding declaringElement, int rank, LookupEnvironment environment)
           
 
方法摘要
 int boundCheck(Substitution substitution, TypeBinding argumentType)
          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 {} -> Lp/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 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: > is interchangeable with >.
 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
 
从类 org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding 继承的方法
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, unResolvedFields
 
从类 org.eclipse.jdt.internal.compiler.lookup.TypeBinding 继承的方法
capture, closestMatch, collectMissingTypes, dimensions, enclosingType, findSuperTypeOriginatingFrom, findSuperTypeOriginatingFrom, genericCast, getErasureCompatibleType, isAnonymousType, isArrayType, isBaseType, isBoundParameterizedType, isCapture, isEquivalentTo, isGenericType, isHierarchyInconsistent, isIntersectionType, isLocalType, isMemberType, isNestedType, isNumericType, isParameterizedType, isParameterizedTypeWithActualArguments, isParameterizedWithOwnVariables, isProvablyDistinct, isRawType, isReifiable, isTypeArgumentContainedBy, isUnboundWildcard, isWildcard, leafComponentType, needsUncheckedConversion, original, qualifiedPackageName, swapUnresolved, typeVariables, wellKnownType
 
从类 org.eclipse.jdt.internal.compiler.lookup.Binding 继承的方法
computeUniqueKey, initializeDeprecatedAnnotationTagBits, isParameter, isValidBinding, isVolatile, problemId
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

字段详细信息

declaringElement

public Binding declaringElement

rank

public int rank

firstBound

public 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.


superclass

public ReferenceBinding superclass

superInterfaces

public ReferenceBinding[] superInterfaces

genericTypeSignature

public char[] genericTypeSignature
构造方法详细信息

TypeVariableBinding

public TypeVariableBinding(char[] sourceName,
                           Binding declaringElement,
                           int rank,
                           LookupEnvironment environment)
方法详细信息

boundCheck

public int boundCheck(Substitution substitution,
                      TypeBinding argumentType)
Returns true if the argument type satisfies all bounds of the type parameter


boundsCount

public int boundsCount()

canBeInstantiated

public boolean canBeInstantiated()
从类 ReferenceBinding 复制的描述
Answer true if the receiver can be instantiated

覆盖:
ReferenceBinding 中的 canBeInstantiated
另请参见:
ReferenceBinding.canBeInstantiated()

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(Collection>, Map), will populate Map with: T --> List Constraints: A << 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))

覆盖:
TypeBinding 中的 collectSubstitutes

computeUniqueKey

public char[] computeUniqueKey(boolean isLeaf)
从类 ReferenceBinding 复制的描述
p.X {} -> Lp/X;

覆盖:
ReferenceBinding 中的 computeUniqueKey

constantPoolName

public char[] constantPoolName()
从类 ReferenceBinding 复制的描述
Answer the receiver's constant pool name. NOTE: This method should only be used during/after code gen.

覆盖:
ReferenceBinding 中的 constantPoolName

debugName

public String debugName()
覆盖:
ReferenceBinding 中的 debugName
另请参见:
TypeBinding.debugName()

erasure

public TypeBinding erasure()
覆盖:
TypeBinding 中的 erasure

genericSignature

public char[] genericSignature()
T::Ljava/util/Map;:Ljava/io/Serializable; T:LY


genericTypeSignature

public char[] genericTypeSignature()
T::Ljava/util/Map;:Ljava/io/Serializable; T:LY

覆盖:
TypeBinding 中的 genericTypeSignature

isErasureBoundTo

public boolean isErasureBoundTo(TypeBinding type)
Returns true if the type variable is directly bound to a given type


isHierarchyConnected

public boolean isHierarchyConnected()
从类 ReferenceBinding 复制的描述
Returns true if the type hierarchy is connected

覆盖:
ReferenceBinding 中的 isHierarchyConnected

isInterchangeableWith

public 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: > is interchangeable with >.


isTypeVariable

public boolean isTypeVariable()
Returns true if the type was declared as a type variable

覆盖:
TypeBinding 中的 isTypeVariable

kind

public int kind()
覆盖:
TypeBinding 中的 kind

otherUpperBounds

public TypeBinding[] otherUpperBounds()

readableName

public char[] readableName()
从类 ReferenceBinding 复制的描述
Answer the receiver's signature. NOTE: This method should only be used during/after code gen.

覆盖:
ReferenceBinding 中的 readableName
另请参见:
ReferenceBinding.readableName()

shortReadableName

public char[] shortReadableName()
覆盖:
ReferenceBinding 中的 shortReadableName
另请参见:
ReferenceBinding.shortReadableName()

superclass

public ReferenceBinding superclass()
覆盖:
ReferenceBinding 中的 superclass

superInterfaces

public ReferenceBinding[] superInterfaces()
覆盖:
ReferenceBinding 中的 superInterfaces

toString

public String toString()
覆盖:
Object 中的 toString
另请参见:
Object.toString()

upperBound

public TypeBinding upperBound()
Upper bound doesn't perform erasure



Copyright © 2013. All Rights Reserved.