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:
IDependent, 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, type
 
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
RawTypeBinding(ReferenceBinding type, ReferenceBinding enclosingType, LookupEnvironment environment)
          Raw type arguments are erasure of respective parameter bounds.
 
Method Summary
 char[] computeUniqueKey(boolean isLeaf)
           
 ParameterizedMethodBinding createParameterizedMethod(MethodBinding originalMethod)
           
 java.lang.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 isIntersectingWith(TypeBinding otherType)
          Returns true if a type is intersecting with another one,
 boolean isParameterizedType()
          Raw type is not treated as a standard parameterized type
 boolean isRawType()
           
 int kind()
           
 char[] readableName()
           
 char[] shortReadableName()
           
 
Methods inherited from class org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
boundCheck, canBeInstantiated, capture, collectSubstitutes, computeId, constantPoolName, enclosingType, environment, erasure, fieldCount, fields, getAnnotationTagBits, getExactConstructor, getExactMethod, getField, getMemberType, getMethods, hasMemberTypes, implementsMethod, isRawSubstitution, memberTypes, methods, qualifiedPackageName, qualifiedSourceName, signature, sourceName, substitute, superclass, superInterfaces, swapUnresolved, syntheticEnclosingInstanceTypes, syntheticOuterLocalVariables, toString, typeVariables
 
Methods inherited from class org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
availableFields, availableMethods, binarySearch, binarySearch, canBeSeenBy, canBeSeenBy, canBeSeenBy, computeGenericTypeSignature, depth, detectAnnotationCycle, enclosingTypeAt, enumConstantCount, findSuperTypeErasingTo, getAccessFlags, getAnnotations, getFileName, getPackage, getTypeVariable, hashCode, hasIncompatibleSuperType, hasRestrictedAccess, implementsInterface, isAbstract, isAnnotationType, isBinaryBinding, isClass, isCompatibleWith, isDefault, isDeprecated, isEnum, isFinal, isHierarchyBeingConnected, isInterface, isPrivate, isProtected, isPublic, isStatic, isStrictfp, isSuperclassOf, isUncheckedException, isUsed, isViewedAsDeprecated, outermostEnclosingType, setAnnotations, sortFields, sortMethods
 
Methods inherited from class org.eclipse.jdt.internal.compiler.lookup.TypeBinding
dimensions, findSuperTypeWithSameErasure, genericCast, isAnonymousType, isArrayType, isBaseType, isBoundParameterizedType, isCapture, isGenericType, isHierarchyInconsistent, isIntersectionType, isLocalType, isMemberType, isNestedType, isNumericType, isParameterizedWithOwnVariables, isProvablyDistinctFrom, isReifiable, isTypeArgumentContainedBy, isTypeArgumentIntersecting, isTypeVariable, isUnboundWildcard, isWildcard, leafComponentType, needsUncheckedConversion, 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
 

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)
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 java.lang.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

isIntersectingWith

public boolean isIntersectingWith(TypeBinding otherType)
Description copied from class: TypeBinding
Returns true if a type is intersecting with another one,

Overrides:
isIntersectingWith in class ParameterizedTypeBinding

isParameterizedType

public boolean isParameterizedType()
Raw type is not treated as a standard parameterized type

Overrides:
isParameterizedType in class ParameterizedTypeBinding
See Also:
TypeBinding.isParameterizedType()

isRawType

public boolean isRawType()
Overrides:
isRawType in class TypeBinding

initializeArguments

protected void initializeArguments()
Overrides:
initializeArguments in class ParameterizedTypeBinding

readableName

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

shortReadableName

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