org.eclipse.jdt.internal.compiler.lookup
Class CaptureBinding

java.lang.Object
  extended by org.eclipse.jdt.internal.compiler.lookup.Binding
      extended by org.eclipse.jdt.internal.compiler.lookup.TypeBinding
          extended by org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
              extended by org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
                  extended by org.eclipse.jdt.internal.compiler.lookup.CaptureBinding
All Implemented Interfaces:
IDependent

public class CaptureBinding
extends TypeVariableBinding


Field Summary
 int captureID
           
 TypeBinding lowerBound
           
 int position
           
 ReferenceBinding sourceType
           
 WildcardBinding wildcard
           
 
Fields inherited from class org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
declaringElement, firstBound, genericTypeSignature, rank, superclass, superInterfaces
 
Fields inherited from class org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
compoundName, fPackage, LUB_GENERIC, modifiers, sourceName
 
Fields inherited from class org.eclipse.jdt.internal.compiler.lookup.TypeBinding
BOOLEAN, BYTE, CHAR, DOUBLE, FLOAT, id, INT, LONG, NULL, SHORT, tagBits, VOID
 
Fields inherited from class 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, VARIABLE, WILDCARD_TYPE
 
Fields inherited from interface org.eclipse.jdt.internal.compiler.env.IDependent
JAR_FILE_ENTRY_SEPARATOR
 
Constructor Summary
CaptureBinding(WildcardBinding wildcard, ReferenceBinding sourceType, int position, int captureID)
           
 
Method Summary
 char[] computeUniqueKey(boolean isLeaf)
          p.X {} -> Lp/X;
 java.lang.String debugName()
           
 char[] genericTypeSignature()
          T::Ljava/util/Map;:Ljava/io/Serializable; T:LY
 void initializeBounds(Scope scope, ParameterizedTypeBinding capturedParameterizedType)
          Initialize capture bounds using substituted supertypes e.g.
 boolean isCapture()
          Returns true if the type is the capture of some wildcard
 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.
 char[] readableName()
          Answer the receiver's signature.
 char[] shortReadableName()
           
 java.lang.String toString()
           
 
Methods inherited from class org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
boundCheck, boundsCount, canBeInstantiated, collectSubstitutes, constantPoolName, erasure, genericSignature, isErasureBoundTo, isInterchangeableWith, isTypeVariable, kind, otherUpperBounds, superclass, superInterfaces, upperBound
 
Methods inherited from class 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, getExactConstructor, getExactMethod, getField, getFileName, getMemberType, getMethods, getPackage, getTypeVariable, hashCode, hasIncompatibleSuperType, hasMemberTypes, hasRestrictedAccess, implementsInterface, isAbstract, isAnnotationType, isBinaryBinding, isClass, isCompatibleWith, isDefault, isDeprecated, isEnum, isFinal, isHierarchyBeingConnected, isInterface, isPrivate, isProtected, isPublic, isStatic, isStrictfp, isSuperclassOf, isThrowable, isUncheckedException, isUsed, isViewedAsDeprecated, memberTypes, methods, outermostEnclosingType, qualifiedSourceName, retrieveAnnotationHolder, setAnnotations, signature, sortFields, sortMethods, sourceName, syntheticEnclosingInstanceTypes, syntheticOuterLocalVariables
 
Methods inherited from class org.eclipse.jdt.internal.compiler.lookup.TypeBinding
capture, closestMatch, collectMissingTypes, dimensions, enclosingType, findSuperTypeOriginatingFrom, findSuperTypeOriginatingFrom, genericCast, isAnonymousType, isArrayType, isBaseType, isBoundParameterizedType, isGenericType, isHierarchyInconsistent, isIntersectionType, isLocalType, isMemberType, isNestedType, isNumericType, isParameterizedType, isParameterizedWithOwnVariables, isProvablyDistinct, isRawType, isReifiable, isTypeArgumentContainedBy, isUnboundWildcard, isWildcard, leafComponentType, needsUncheckedConversion, original, qualifiedPackageName, swapUnresolved, typeVariables, wellKnownType
 
Methods inherited from class org.eclipse.jdt.internal.compiler.lookup.Binding
computeUniqueKey, initializeDeprecatedAnnotationTagBits, isValidBinding, problemId
 
Methods inherited from class java.lang.Object
equals, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

lowerBound

public TypeBinding lowerBound

wildcard

public WildcardBinding wildcard

captureID

public int captureID

sourceType

public ReferenceBinding sourceType

position

public int position
Constructor Detail

CaptureBinding

public CaptureBinding(WildcardBinding wildcard,
                      ReferenceBinding sourceType,
                      int position,
                      int captureID)
Method Detail

computeUniqueKey

public char[] computeUniqueKey(boolean isLeaf)
Description copied from class: ReferenceBinding
p.X {} -> Lp/X;

Overrides:
computeUniqueKey in class TypeVariableBinding

debugName

public java.lang.String debugName()
Overrides:
debugName in class TypeVariableBinding
See Also:
TypeBinding.debugName()

genericTypeSignature

public char[] genericTypeSignature()
Description copied from class: TypeVariableBinding
T::Ljava/util/Map;:Ljava/io/Serializable; T:LY

Overrides:
genericTypeSignature in class TypeVariableBinding

initializeBounds

public void initializeBounds(Scope scope,
                             ParameterizedTypeBinding capturedParameterizedType)
Initialize capture bounds using substituted supertypes e.g. given X>, capture(X) = X, where capture extends X


isCapture

public boolean isCapture()
Description copied from class: TypeBinding
Returns true if the type is the capture of some wildcard

Overrides:
isCapture in class TypeBinding
See Also:
TypeBinding.isCapture()

isEquivalentTo

public boolean isEquivalentTo(TypeBinding otherType)
Description copied from class: TypeBinding
Returns true if a type is identical to another one, or for generic types, true if compared to its raw type.

Overrides:
isEquivalentTo in class TypeBinding
See Also:
TypeBinding.isEquivalentTo(TypeBinding)

readableName

public char[] readableName()
Description copied from class: ReferenceBinding
Answer the receiver's signature. NOTE: This method should only be used during/after code gen.

Overrides:
readableName in class TypeVariableBinding
See Also:
ReferenceBinding.readableName()

shortReadableName

public char[] shortReadableName()
Overrides:
shortReadableName in class TypeVariableBinding
See Also:
ReferenceBinding.shortReadableName()

toString

public java.lang.String toString()
Overrides:
toString in class TypeVariableBinding
See Also:
Object.toString()