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
 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, 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, 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)
           
 
Method Summary
 char[] computeUniqueKey(boolean isLeaf)
           
 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()
           
 char[] shortReadableName()
           
 java.lang.String toString()
           
 
Methods inherited from class org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
boundCheck, canBeInstantiated, collectSubstitutes, constantPoolName, erasure, genericSignature, isErasureBoundTo, isInterchangeableWith, isTypeVariable, kind, original, 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, findSuperTypeErasingTo, 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, isUncheckedException, isUsed, isViewedAsDeprecated, memberTypes, methods, outermostEnclosingType, qualifiedSourceName, setAnnotations, signature, sortFields, sortMethods, sourceName, syntheticEnclosingInstanceTypes, syntheticOuterLocalVariables
 
Methods inherited from class org.eclipse.jdt.internal.compiler.lookup.TypeBinding
capture, dimensions, enclosingType, findSuperTypeWithSameErasure, genericCast, isAnonymousType, isArrayType, isBaseType, isBoundParameterizedType, isGenericType, isHierarchyInconsistent, isIntersectingWith, isIntersectionType, isLocalType, isMemberType, isNestedType, isNumericType, isParameterizedType, isParameterizedWithOwnVariables, isProvablyDistinctFrom, isRawType, isReifiable, isTypeArgumentContainedBy, isTypeArgumentIntersecting, isUnboundWildcard, isWildcard, leafComponentType, needsUncheckedConversion, 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
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

lowerBound

public TypeBinding lowerBound

wildcard

public WildcardBinding wildcard

sourceType

public ReferenceBinding sourceType

position

public int position
Constructor Detail

CaptureBinding

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

computeUniqueKey

public char[] computeUniqueKey(boolean isLeaf)
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()
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()