org.aspectj.org.eclipse.jdt.internal.compiler.lookup
Class BaseTypeBinding

java.lang.Object
  extended by org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
      extended by org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding
          extended by org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BaseTypeBinding
Direct Known Subclasses:
NullTypeBinding, VoidTypeBinding

public class BaseTypeBinding
extends TypeBinding


Field Summary
static int[] CONVERSIONS
           
static int IDENTITY
           
static int MAX_CONVERSIONS
           
static int NARROWING
           
 char[] simpleName
           
static int WIDENING
           
 
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding
BOOLEAN, BYTE, CHAR, DOUBLE, FLOAT, id, INT, LONG, NULL, SHORT, tagBits, TYPE_USE_BINDING, typeAnnotations, VOID
 
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
ANY_EXCEPTION, ARRAY_TYPE, BASE_TYPE, DefaultLocationArrayContents, DefaultLocationField, DefaultLocationParameter, DefaultLocationReturnType, DefaultLocationTypeArgument, DefaultLocationTypeBound, DefaultLocationTypeParameter, FIELD, GENERIC_TYPE, IMPORT, INTERSECTION_CAST_TYPE, INTERSECTION_TYPE, LOCAL, METHOD, NO_ANNOTATIONS, NO_ELEMENT_VALUE_PAIRS, NO_EXCEPTIONS, NO_FIELDS, NO_MEMBER_TYPES, NO_METHODS, NO_NULL_DEFAULT, NO_PARAMETER_NAMES, NO_PARAMETERS, NO_REFERENCE_TYPES, NO_SUPERINTERFACES, NO_TYPE_VARIABLES, NO_TYPES, NONNULL_BY_DEFAULT, NULL_UNSPECIFIED_BY_DEFAULT, NullnessDefaultMASK, PACKAGE, PARAMETERIZED_TYPE, POLY_TYPE, RAW_TYPE, TYPE, TYPE_PARAMETER, TYPE_USE, UNINITIALIZED_FIELDS, UNINITIALIZED_METHODS, UNINITIALIZED_REFERENCE_TYPES, VARIABLE, WILDCARD_TYPE
 
Method Summary
 TypeBinding clone(TypeBinding enclosingType)
          Virtual copy constructor: a copy is made of the receiver's entire instance state and then suitably parameterized by the arguments to the clone operation as seen fit by each type.
 char[] computeUniqueKey(boolean isLeaf)
          int -> I
 char[] constantPoolName()
          Answer the receiver's constant pool name.
 PackageBinding getPackage()
           
static int[] initializeConversions()
           
 boolean isCompatibleWith(TypeBinding right, Scope captureScope)
           
static boolean isNarrowing(int left, int right)
          Predicate telling whether "left" can store a "right" using some narrowing conversion (is left smaller than right)
 boolean isUncheckedException(boolean includeSupertype)
          T_null is acting as an unchecked exception
static boolean isWidening(int left, int right)
          Predicate telling whether "left" can store a "right" using some widening conversion (is left bigger than right)
 int kind()
           
 char[] qualifiedSourceName()
          Answer the source name for the type.
 char[] readableName()
           
 void setTypeAnnotations(AnnotationBinding[] annotations, boolean evalNullAnnotations)
           
 char[] shortReadableName()
           
 char[] sourceName()
           
 java.lang.String toString()
           
 TypeBinding unannotated(boolean removeOnlyNullAnnotations)
          Return this type minus its type annotations
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding
acceptsNonNullDefault, actualType, annotatedDebugName, canBeInstantiated, canBeSeenBy, capture, closestMatch, collectMissingTypes, collectSubstitutes, containerAnnotationType, debugName, depth, dimensions, enclosingType, enterRecursiveFunction, equalsEquals, erasure, exitRecursiveFunction, findSuperTypeOriginatingFrom, findSuperTypeOriginatingFrom, genericCast, genericTypeSignature, getErasureCompatibleType, getIntersectingTypes, getMethods, getSingleAbstractMethod, getTypeAnnotations, hasNullTypeAnnotations, hasTypeAnnotations, hasTypeBit, isAnonymousType, isArrayType, isBaseType, isBoundParameterizedType, isBoxedPrimitiveType, isCapture, isClass, isCompatibleWith, isEnum, isEquivalentTo, isFunctionalInterface, isGenericType, isHierarchyInconsistent, isInterface, isIntersectionCastType, isIntersectionType, isLocalType, isMemberType, isNestedType, isNumericType, isParameterizedType, isParameterizedTypeWithActualArguments, isParameterizedWithOwnVariables, isPrimitiveOrBoxedPrimitiveType, isPrimitiveType, isProperType, isProvablyDistinct, isRawType, isReifiable, isRepeatableAnnotationType, isStatic, isSubtypeOf, isThrowable, isTypeArgumentContainedBy, isTypeVariable, isUnboundWildcard, isUnresolvedType, isWildcard, leafComponentType, mentionsAny, needsUncheckedConversion, notEquals, nullAnnotatedReadableName, original, prototype, qualifiedPackageName, signature, sIsMoreSpecific, superclass, superInterfaces, swapUnresolved, syntheticOuterLocalVariables, typeVariables, uncapture, wellKnownType
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
computeUniqueKey, getAnnotations, getAnnotationTagBits, initializeDeprecatedAnnotationTagBits, isAnnotationType, isParameter, isTaggedRepeatable, isValidBinding, isVolatile, problemId, setAnnotations, setAnnotations
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

CONVERSIONS

public static final int[] CONVERSIONS

IDENTITY

public static final int IDENTITY
See Also:
Constant Field Values

WIDENING

public static final int WIDENING
See Also:
Constant Field Values

NARROWING

public static final int NARROWING
See Also:
Constant Field Values

MAX_CONVERSIONS

public static final int MAX_CONVERSIONS
See Also:
Constant Field Values

simpleName

public char[] simpleName
Method Detail

initializeConversions

public static final int[] initializeConversions()

isNarrowing

public static final boolean isNarrowing(int left,
                                        int right)
Predicate telling whether "left" can store a "right" using some narrowing conversion (is left smaller than right)

Parameters:
left - - the target type to convert to
right - - the actual type
Returns:
true if legal narrowing conversion

isWidening

public static final boolean isWidening(int left,
                                       int right)
Predicate telling whether "left" can store a "right" using some widening conversion (is left bigger than right)

Parameters:
left - - the target type to convert to
right - - the actual type
Returns:
true if legal widening conversion

computeUniqueKey

public char[] computeUniqueKey(boolean isLeaf)
int -> I

Overrides:
computeUniqueKey in class Binding

constantPoolName

public char[] constantPoolName()
Description copied from class: TypeBinding
Answer the receiver's constant pool name. NOTE: This method should only be used during/after code gen. e.g. 'java/lang/Object'

Specified by:
constantPoolName in class TypeBinding

clone

public TypeBinding clone(TypeBinding enclosingType)
Description copied from class: TypeBinding
Virtual copy constructor: a copy is made of the receiver's entire instance state and then suitably parameterized by the arguments to the clone operation as seen fit by each type. Parameters may not make sense for every type in the hierarchy, in which case they are silently ignored. A type may choose to retain a copy of the prototype for reference.

Overrides:
clone in class TypeBinding

getPackage

public PackageBinding getPackage()
Specified by:
getPackage in class TypeBinding

isCompatibleWith

public final boolean isCompatibleWith(TypeBinding right,
                                      Scope captureScope)
Specified by:
isCompatibleWith in class TypeBinding

setTypeAnnotations

public void setTypeAnnotations(AnnotationBinding[] annotations,
                               boolean evalNullAnnotations)
Overrides:
setTypeAnnotations in class TypeBinding

unannotated

public TypeBinding unannotated(boolean removeOnlyNullAnnotations)
Description copied from class: TypeBinding
Return this type minus its type annotations

Overrides:
unannotated in class TypeBinding
Parameters:
removeOnlyNullAnnotations - if true only null type annotations are removed, otherwise all type annotations.

isUncheckedException

public boolean isUncheckedException(boolean includeSupertype)
T_null is acting as an unchecked exception

Overrides:
isUncheckedException in class TypeBinding
See Also:
TypeBinding.isUncheckedException(boolean)

kind

public int kind()
Overrides:
kind in class TypeBinding
See Also:
Binding.kind()

qualifiedSourceName

public char[] qualifiedSourceName()
Description copied from class: TypeBinding
Answer the source name for the type. In the case of member types, as the qualified name from its top level type. For example, for a member type N defined inside M & A: "A.M.N".

Specified by:
qualifiedSourceName in class TypeBinding

readableName

public char[] readableName()
Specified by:
readableName in class Binding

shortReadableName

public char[] shortReadableName()
Overrides:
shortReadableName in class Binding

sourceName

public char[] sourceName()
Specified by:
sourceName in class TypeBinding

toString

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