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

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.ReferenceBinding
              extended by org.aspectj.org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding
                  extended by org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding
Direct Known Subclasses:
MissingTypeBinding

public class BinaryTypeBinding
extends SourceTypeBinding


Field Summary
protected  ReferenceBinding enclosingType
           
protected  LookupEnvironment environment
           
protected  SimpleLookupTable storedAnnotations
           
 
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding
fields, memberFinder, memberTypes, methods, originalSuperclass, originalSuperInterfaces, privilegedHandler, scope, superclass, superInterfaces, typeFinder, typeVariables
 
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
compoundName, fPackage, LUB_GENERIC, modifiers, sourceName
 
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding
BOOLEAN, BYTE, CHAR, DOUBLE, FLOAT, id, INT, LONG, NULL, SHORT, tagBits, VOID
 
Fields inherited from class org.aspectj.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
protected BinaryTypeBinding()
          Default empty constructor for subclasses only.
  BinaryTypeBinding(PackageBinding packageBinding, IBinaryType binaryType, LookupEnvironment environment)
          Standard constructor for creating binary type bindings from binary models (classfiles)
 
Method Summary
 FieldBinding[] availableFields()
          Return the array of resolvable fields (resilience)
 MethodBinding[] availableMethods()
          Return the array of resolvable methods (resilience)
static AnnotationBinding[] createAnnotations(IBinaryAnnotation[] annotationInfos, LookupEnvironment env, char[][][] missingTypeNames)
           
 ReferenceBinding enclosingType()
           
 FieldBinding[] fields()
           
 char[] genericTypeSignature()
          Answer the receiver classfile signature.
 MethodBinding getExactConstructor(TypeBinding[] argumentTypes)
           
 MethodBinding getExactMethod(char[] selector, TypeBinding[] argumentTypes, CompilationUnitScope refScope)
           
 FieldBinding getFieldBase(char[] fieldName, boolean needResolve)
           
 ReferenceBinding getMemberType(char[] typeName)
          Rewrite of default getMemberType to avoid resolving eagerly all member types when one is requested
 MethodBinding[] getMethodsBase(char[] selector)
           
 MethodBinding[] getMethodsBase(char[] selector, int suggestedParameterLength)
           
 TypeVariableBinding getTypeVariable(char[] variableName)
           
 boolean hasMemberTypes()
           
 void initializeDeprecatedAnnotationTagBits()
          Compute the tag bits for @Deprecated annotations, avoiding resolving entire annotation if not necessary.
 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 isGenericType()
           
 boolean isHierarchyConnected()
          Returns true if the type hierarchy is connected
 int kind()
           
 ReferenceBinding[] memberTypes()
           
 MethodBinding[] methods()
           
 MethodBinding[] methodsBase()
           
static TypeBinding resolveType(TypeBinding type, LookupEnvironment environment, boolean convertGenericToRawType)
           
 FieldBinding resolveTypeFor(FieldBinding field)
           
 MethodBinding resolveTypesFor(MethodBinding method)
           
 ReferenceBinding superclass()
           
 ReferenceBinding[] superInterfaces()
           
 java.lang.String toString()
           
 TypeVariableBinding[] typeVariables()
           
 FieldBinding[] unResolvedFields()
           
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding
addField, addMethod, addSyntheticBridgeMethod, addSyntheticBridgeMethod, addSyntheticEnumMethod, addSyntheticField, addSyntheticFieldForAssert, addSyntheticFieldForClassLiteral, addSyntheticFieldForEnumValues, addSyntheticFieldForInnerclass, addSyntheticFieldForInnerclass, addSyntheticFieldForSwitchEnum, addSyntheticMethod, addSyntheticMethod, addSyntheticMethodForEnumInitialization, addSyntheticMethodForSwitchEnum, computeUniqueKey, genericSignature, getAnnotationTagBits, getDefaultAbstractMethods, getExactMethodBase, getField, getField, getMethods, getMethods, getSyntheticBridgeMethod, getSyntheticField, getSyntheticField, rememberTypeHierarchy, removeMethod, retrieveAnnotationHolder, setFields, setMethods, sourceEnd, sourceStart, syntheticFields, syntheticMethods, tagIndirectlyAccessibleMembers
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
binarySearch, binarySearch, canBeInstantiated, canBeSeenBy, canBeSeenBy, canBeSeenBy, computeGenericTypeSignature, computeId, constantPoolName, debugName, depth, detectAnnotationCycle, enclosingTypeAt, enumConstantCount, fieldCount, getAccessFlags, getAnnotations, getEnclosingInstancesSlotSize, getFileName, getOuterLocalVariablesSlotSize, getPackage, hashCode, hasIncompatibleSuperType, hasRestrictedAccess, implementsInterface, innerCanBeSeenBy, innerCanBeSeenBy, isAbstract, isAnnotationType, isBinaryBinding, isClass, isCompatibleWith, isDefault, isDeprecated, isEnum, isFinal, isHierarchyBeingActivelyConnected, isHierarchyBeingConnected, isInterface, isOrEnclosedByPrivateType, isPrivate, isProtected, isPublic, isStatic, isStrictfp, isSuperclassOf, isThrowable, isUncheckedException, isUsed, isViewedAsDeprecated, outermostEnclosingType, qualifiedSourceName, readableName, setAnnotations, shortReadableName, signature, sortFields, sortMethods, sourceName, syntheticEnclosingInstanceTypes, syntheticOuterLocalVariables
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding
capture, closestMatch, collectMissingTypes, collectSubstitutes, dimensions, erasure, findSuperTypeOriginatingFrom, findSuperTypeOriginatingFrom, genericCast, getErasureCompatibleType, isAnonymousType, isArrayType, isBaseType, isBoundParameterizedType, isCapture, isHierarchyInconsistent, isIntersectionType, isLocalType, isMemberType, isNestedType, isNumericType, isParameterizedType, isParameterizedTypeWithActualArguments, isParameterizedWithOwnVariables, isProvablyDistinct, isRawType, isReifiable, isTypeArgumentContainedBy, isTypeVariable, isUnboundWildcard, isWildcard, leafComponentType, needsUncheckedConversion, original, qualifiedPackageName, swapUnresolved, wellKnownType
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
computeUniqueKey, isParameter, isValidBinding, isVolatile, problemId
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

enclosingType

protected ReferenceBinding enclosingType

environment

protected LookupEnvironment environment

storedAnnotations

protected SimpleLookupTable storedAnnotations
Constructor Detail

BinaryTypeBinding

protected BinaryTypeBinding()
Default empty constructor for subclasses only.


BinaryTypeBinding

public BinaryTypeBinding(PackageBinding packageBinding,
                         IBinaryType binaryType,
                         LookupEnvironment environment)
Standard constructor for creating binary type bindings from binary models (classfiles)

Parameters:
packageBinding -
binaryType -
environment -
Method Detail

createAnnotations

public static AnnotationBinding[] createAnnotations(IBinaryAnnotation[] annotationInfos,
                                                    LookupEnvironment env,
                                                    char[][][] missingTypeNames)

resolveType

public static TypeBinding resolveType(TypeBinding type,
                                      LookupEnvironment environment,
                                      boolean convertGenericToRawType)

availableFields

public FieldBinding[] availableFields()
Description copied from class: ReferenceBinding
Return the array of resolvable fields (resilience)

Overrides:
availableFields in class ReferenceBinding
See Also:
ReferenceBinding.availableMethods()

availableMethods

public MethodBinding[] availableMethods()
Description copied from class: ReferenceBinding
Return the array of resolvable methods (resilience)

Overrides:
availableMethods in class ReferenceBinding
See Also:
ReferenceBinding.availableMethods()

enclosingType

public ReferenceBinding enclosingType()
Overrides:
enclosingType in class TypeBinding

fields

public FieldBinding[] fields()
Overrides:
fields in class SourceTypeBinding

genericTypeSignature

public char[] genericTypeSignature()
Description copied from class: TypeBinding
Answer the receiver classfile signature. Arrays & base types do not distinguish between signature() & constantPoolName(). NOTE: This method should only be used during/after code gen.

Overrides:
genericTypeSignature in class SourceTypeBinding
See Also:
TypeBinding.genericTypeSignature()

getExactConstructor

public MethodBinding getExactConstructor(TypeBinding[] argumentTypes)
Overrides:
getExactConstructor in class SourceTypeBinding

getExactMethod

public MethodBinding getExactMethod(char[] selector,
                                    TypeBinding[] argumentTypes,
                                    CompilationUnitScope refScope)
Overrides:
getExactMethod in class SourceTypeBinding

getFieldBase

public FieldBinding getFieldBase(char[] fieldName,
                                 boolean needResolve)
Overrides:
getFieldBase in class SourceTypeBinding

getMemberType

public ReferenceBinding getMemberType(char[] typeName)
Rewrite of default getMemberType to avoid resolving eagerly all member types when one is requested

Overrides:
getMemberType in class SourceTypeBinding

getMethodsBase

public MethodBinding[] getMethodsBase(char[] selector)
Overrides:
getMethodsBase in class SourceTypeBinding

getMethodsBase

public MethodBinding[] getMethodsBase(char[] selector,
                                      int suggestedParameterLength)

hasMemberTypes

public boolean hasMemberTypes()
Overrides:
hasMemberTypes in class SourceTypeBinding

getTypeVariable

public TypeVariableBinding getTypeVariable(char[] variableName)
Overrides:
getTypeVariable in class ReferenceBinding

isEquivalentTo

public 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.

Overrides:
isEquivalentTo in class SourceTypeBinding

isGenericType

public boolean isGenericType()
Overrides:
isGenericType in class SourceTypeBinding

isHierarchyConnected

public boolean isHierarchyConnected()
Description copied from class: ReferenceBinding
Returns true if the type hierarchy is connected

Overrides:
isHierarchyConnected in class SourceTypeBinding

kind

public int kind()
Overrides:
kind in class SourceTypeBinding

memberTypes

public ReferenceBinding[] memberTypes()
Overrides:
memberTypes in class SourceTypeBinding

methodsBase

public MethodBinding[] methodsBase()
Overrides:
methodsBase in class SourceTypeBinding

resolveTypeFor

public FieldBinding resolveTypeFor(FieldBinding field)
Overrides:
resolveTypeFor in class SourceTypeBinding

resolveTypesFor

public MethodBinding resolveTypesFor(MethodBinding method)
Overrides:
resolveTypesFor in class SourceTypeBinding

initializeDeprecatedAnnotationTagBits

public void initializeDeprecatedAnnotationTagBits()
Description copied from class: Binding
Compute the tag bits for @Deprecated annotations, avoiding resolving entire annotation if not necessary.

Overrides:
initializeDeprecatedAnnotationTagBits in class SourceTypeBinding
See Also:
Binding.initializeDeprecatedAnnotationTagBits()

superclass

public ReferenceBinding superclass()
Overrides:
superclass in class SourceTypeBinding

superInterfaces

public ReferenceBinding[] superInterfaces()
Overrides:
superInterfaces in class SourceTypeBinding

typeVariables

public TypeVariableBinding[] typeVariables()
Overrides:
typeVariables in class SourceTypeBinding

toString

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

unResolvedFields

public FieldBinding[] unResolvedFields()
Overrides:
unResolvedFields in class SourceTypeBinding

methods

public MethodBinding[] methods()
Overrides:
methods in class SourceTypeBinding