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

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.ParameterizedTypeBinding
                  extended by org.eclipse.jdt.internal.compiler.lookup.RawTypeBinding
All Implemented Interfaces:
Substitution

public class RawTypeBinding
extends ParameterizedTypeBinding

Denote a raw type, i.e. a generic type referenced without any type arguments. e.g. X can be used a raw type 'X', in which case it will behave as X


Field Summary
 
Fields inherited from class org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
arguments, environment, fields, genericTypeSignature, memberTypes, methods, 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, UNINITIALIZED_REFERENCE_TYPES, VARIABLE, WILDCARD_TYPE
 
Constructor Summary
RawTypeBinding(ReferenceBinding type, ReferenceBinding enclosingType, LookupEnvironment environment)
          Raw type arguments are erasure of respective parameter bounds.
 
Method Summary
 char[] computeUniqueKey(boolean isLeaf)
          p.X {} -> Lp/X;
 ParameterizedMethodBinding createParameterizedMethod(MethodBinding originalMethod)
           
 String debugName()
           
 char[] genericTypeSignature()
          Ltype
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 isProvablyDistinct(TypeBinding otherType)
          Returns true if a type is provably distinct from another one,
 int kind()
           
 char[] readableName()
          Answer the receiver's signature.
 char[] shortReadableName()
           
 
Methods inherited from class org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
actualType, boundCheck, canBeInstantiated, capture, collectMissingTypes, collectSubstitutes, computeId, constantPoolName, enclosingType, environment, erasure, fieldCount, fields, genericType, getAnnotationTagBits, getEnclosingInstancesSlotSize, getExactConstructor, getExactMethod, getField, getMemberType, getMethods, getOuterLocalVariablesSlotSize, hasMemberTypes, implementsMethod, isHierarchyConnected, isRawSubstitution, memberTypes, methods, problemId, qualifiedPackageName, qualifiedSourceName, signature, sourceName, substitute, superclass, superInterfaces, swapUnresolved, syntheticEnclosingInstanceTypes, syntheticOuterLocalVariables, toString, typeVariables, unResolvedFields
 
Methods inherited from class org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
availableFields, availableMethods, binarySearch, binarySearch, canBeSeenBy, canBeSeenBy, canBeSeenBy, computeGenericTypeSignature, depth, detectAnnotationCycle, enclosingTypeAt, enumConstantCount, getAccessFlags, getAnnotations, getFileName, getMethods, getPackage, getTypeVariable, hashCode, hasIncompatibleSuperType, 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, outermostEnclosingType, retrieveAnnotationHolder, setAnnotations, sortFields, sortMethods
 
Methods inherited from class org.eclipse.jdt.internal.compiler.lookup.TypeBinding
closestMatch, dimensions, findSuperTypeOriginatingFrom, findSuperTypeOriginatingFrom, genericCast, getErasureCompatibleType, isAnonymousType, isArrayType, isBaseType, isBoundParameterizedType, isCapture, isGenericType, isHierarchyInconsistent, isIntersectionType, isLocalType, isMemberType, isNestedType, isNumericType, isParameterizedType, isParameterizedTypeWithActualArguments, isParameterizedWithOwnVariables, isRawType, isReifiable, isTypeArgumentContainedBy, isTypeVariable, isUnboundWildcard, isWildcard, leafComponentType, needsUncheckedConversion, original, wellKnownType
 
Methods inherited from class org.eclipse.jdt.internal.compiler.lookup.Binding
computeUniqueKey, initializeDeprecatedAnnotationTagBits, isParameter, isValidBinding, isVolatile
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RawTypeBinding

public RawTypeBinding(ReferenceBinding type,
                      ReferenceBinding enclosingType,
                      LookupEnvironment environment)
Raw type arguments are erasure of respective parameter bounds. But we may not have resolved these bounds yet if creating raw types while supertype hierarchies are being connected. Therefore, use 'null' instead, and access these in a lazy way later on (when substituting).

Method Detail

computeUniqueKey

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

Overrides:
computeUniqueKey in class ParameterizedTypeBinding

createParameterizedMethod

public ParameterizedMethodBinding createParameterizedMethod(MethodBinding originalMethod)
Overrides:
createParameterizedMethod in class ParameterizedTypeBinding
See Also:
ParameterizedTypeBinding.createParameterizedMethod(org.eclipse.jdt.internal.compiler.lookup.MethodBinding)

kind

public int kind()
Overrides:
kind in class ParameterizedTypeBinding

debugName

public String debugName()
Overrides:
debugName in class ParameterizedTypeBinding
See Also:
TypeBinding.debugName()

genericTypeSignature

public char[] genericTypeSignature()
Ltype; LY;

Overrides:
genericTypeSignature in class ParameterizedTypeBinding

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 ParameterizedTypeBinding

isProvablyDistinct

public boolean isProvablyDistinct(TypeBinding otherType)
Description copied from class: TypeBinding
Returns true if a type is provably distinct from another one,

Overrides:
isProvablyDistinct in class TypeBinding

initializeArguments

protected void initializeArguments()
Overrides:
initializeArguments in class ParameterizedTypeBinding

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 ParameterizedTypeBinding
See Also:
Binding.readableName()

shortReadableName

public char[] shortReadableName()
Overrides:
shortReadableName in class ParameterizedTypeBinding
See Also:
Binding.shortReadableName()


Copyright © 2012. All Rights Reserved.