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

java.lang.Object
  extended by org.aspectj.org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment
All Implemented Interfaces:
ProblemReasons, TypeConstants
Direct Known Subclasses:
AjLookupEnvironment

public class LookupEnvironment
extends java.lang.Object
implements ProblemReasons, TypeConstants

AspectJ Extension - made many methods and fields more visible for extension Also modified error checking on getType(char[][] compoundName) to allow refering to inner types directly.


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeConstants
TypeConstants.CloseMethodRecord
 
Field Summary
 MethodBinding arrayClone
           
protected static int BUILD_FIELDS_AND_METHODS
           
protected static int BUILD_TYPE_HIERARCHY
           
protected static int CHECK_AND_SET_IMPORTS
           
 ClassFilePool classFilePool
           
protected static int CONNECT_TYPE_HIERARCHY
           
 PackageBinding defaultPackage
           
 CompilerOptions globalOptions
           
 boolean isProcessingAnnotations
           
protected  int lastCompletedUnitIndex
           
protected  int lastUnitIndex
           
 boolean mayTolerateMissingType
           
 java.lang.Object missingClassFileLocation
           
 INameEnvironment nameEnvironment
           
 ProblemReporter problemReporter
           
 IQualifiedTypeResolutionListener[] resolutionListeners
           
protected  int stepCompleted
           
 ITypeRequestor typeRequestor
           
 CompilationUnitDeclaration unitBeingCompleted
           
protected  CompilationUnitDeclaration[] units
           
 
Fields inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ProblemReasons
Ambiguous, ApplicableMethodOverriddenByInapplicable, AttemptToBypassDirectSuper, ContradictoryNullAnnotations, DefectiveContainerAnnotationType, IllegalSuperTypeVariable, InheritedNameHidesEnclosingName, InternalNameProvided, IntersectionHasMultipleFunctionalInterfaces, InvalidTypeForAutoManagedResource, InvalidTypeForStaticImport, NoError, NonStaticOrAlienTypeReceiver, NonStaticReferenceInConstructorInvocation, NonStaticReferenceInStaticContext, NoSuchSingleAbstractMethod, NotAWellFormedParameterizedType, NotFound, NotVisible, ParameterBoundMismatch, ParameterizedMethodExpectedTypeProblem, ParameterizedMethodTypeMismatch, ReceiverTypeNotVisible, TypeArgumentsForRawGenericMethod, TypeParameterArityMismatch, VarargsElementTypeNotVisible
 
Fields inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeConstants
ANNOTATION, ANNOTATION_PREFIX, ANNOTATION_SUFFIX, ANONYM_PREFIX, ANONYM_SUFFIX, ANONYMOUS_METHOD, APACHE, APACHE_DBUTILS, APACHE_IOUTILS, ASSERT_CLASS, ASSERT_FALSE, ASSERT_NOTNULL, ASSERT_NULL, ASSERT_TRUE, BOOLEAN, BYTE, CAPTURE18, CHAR, CharArray_JAVA_IO_OBJECTINPUTSTREAM, CharArray_JAVA_IO_OBJECTOUTPUTSTREAM, CharArray_JAVA_IO_OBJECTSTREAMFIELD, CharArray_JAVA_LANG_ANNOTATION_ANNOTATION, CharArray_JAVA_LANG_ENUM, CharArray_JAVA_LANG_OBJECT, CHECK_ARGUMENT, CHECK_NOT_NULL, CHECK_STATE, CLINIT, CLONE, CLOSE, CLOSE_QUIETLY, closeMethods, COM, COM_GOOGLE_COMMON_BASE_PRECONDITIONS, COM_GOOGLE_INJECT_INJECT, COMMONS, COMPILER, CONSTRAINT_EQUAL, CONSTRAINT_EXTENDS, CONSTRAINT_SUPER, CORE, DEFAULT_LOCATION__ARRAY_CONTENTS, DEFAULT_LOCATION__FIELD, DEFAULT_LOCATION__PARAMETER, DEFAULT_LOCATION__RETURN_TYPE, DEFAULT_LOCATION__TYPE_ARGUMENT, DEFAULT_LOCATION__TYPE_BOUND, DEFAULT_LOCATION__TYPE_PARAMETER, DESERIALIZE_LAMBDA, DOM, DOUBLE, ECLIPSE, EQUALS, FLOAT, FRAMEWORK, GETCLASS, GOOGLE, GUAVA_CLOSEABLES, HASHCODE, INIT, INJECT_PACKAGE, INJECT_TYPE, INT, INTERNAL, INVOKE, IO, IS_NOTNULL, IS_TRUE, ITYPEBINDING, JAVA, JAVA_IO, JAVA_IO_CLOSEABLE, JAVA_IO_EXTERNALIZABLE, JAVA_IO_IOEXCEPTION, JAVA_IO_OBJECTINPUTSTREAM, JAVA_IO_OBJECTOUTPUTSTREAM, JAVA_IO_OBJECTSTREAMEXCEPTION, JAVA_IO_PRINTSTREAM, JAVA_IO_RESOURCE_FREE_CLOSEABLES, JAVA_IO_SERIALIZABLE, JAVA_IO_WRAPPER_CLOSEABLES, JAVA_LANG, JAVA_LANG_ANNOTATION_ANNOTATION, JAVA_LANG_ANNOTATION_DOCUMENTED, JAVA_LANG_ANNOTATION_ELEMENTTYPE, JAVA_LANG_ANNOTATION_INHERITED, JAVA_LANG_ANNOTATION_REPEATABLE, JAVA_LANG_ANNOTATION_RETENTION, JAVA_LANG_ANNOTATION_RETENTIONPOLICY, JAVA_LANG_ANNOTATION_TARGET, JAVA_LANG_ASSERTIONERROR, JAVA_LANG_AUTOCLOSEABLE, JAVA_LANG_BOOLEAN, JAVA_LANG_BYTE, JAVA_LANG_CHARACTER, JAVA_LANG_CLASS, JAVA_LANG_CLASSNOTFOUNDEXCEPTION, JAVA_LANG_CLONEABLE, JAVA_LANG_DEPRECATED, JAVA_LANG_DOUBLE, JAVA_LANG_ENUM, JAVA_LANG_ERROR, JAVA_LANG_EXCEPTION, JAVA_LANG_FLOAT, JAVA_LANG_FUNCTIONAL_INTERFACE, JAVA_LANG_ILLEGALARGUMENTEXCEPTION, JAVA_LANG_INTEGER, JAVA_LANG_INVOKE_LAMBDAMETAFACTORY, JAVA_LANG_INVOKE_METHODHANDLE_$_POLYMORPHICSIGNATURE, JAVA_LANG_INVOKE_METHODHANDLE_POLYMORPHICSIGNATURE, JAVA_LANG_INVOKE_METHODHANDLES, JAVA_LANG_INVOKE_SERIALIZEDLAMBDA, JAVA_LANG_ITERABLE, JAVA_LANG_LONG, JAVA_LANG_NOCLASSDEFERROR, JAVA_LANG_OBJECT, JAVA_LANG_OVERRIDE, JAVA_LANG_REFLECT_CONSTRUCTOR, JAVA_LANG_REFLECT_FIELD, JAVA_LANG_REFLECT_METHOD, JAVA_LANG_RUNTIMEEXCEPTION, JAVA_LANG_SAFEVARARGS, JAVA_LANG_SHORT, JAVA_LANG_STRING, JAVA_LANG_STRINGBUFFER, JAVA_LANG_STRINGBUILDER, JAVA_LANG_SUPPRESSWARNINGS, JAVA_LANG_SYSTEM, JAVA_LANG_THROWABLE, JAVA_LANG_VOID, JAVA_NIO_FILE_FILES, JAVA_UTIL_COLLECTION, JAVA_UTIL_ITERATOR, JAVA_UTIL_OBJECTS, JAVA_UTIL_ZIP_WRAPPER_CLOSEABLES, JAVAX, JAVAX_ANNOTATION_INJECT_INJECT, JAVAX_RMI_CORBA_STUB, JDT, JUNIT, JUNIT_FRAMEWORK_ASSERT, LAMBDA_TYPE, LANG, LANG3, LENGTH, LONG, LOOKUP, MAIN, MISMATCH, NOT_NULL, NULL, OBJECT, OK, OPTIONAL, ORG, ORG_APACHE_COMMONS_LANG_VALIDATE, ORG_APACHE_COMMONS_LANG3_VALIDATE, ORG_ECLIPSE_CORE_RUNTIME_ASSERT, ORG_ECLIPSE_JDT_CORE_DOM_ITYPEBINDING, ORG_ECLIPSE_JDT_INTERNAL_COMPILER_LOOKUP_TYPEBINDING, ORG_JUNIT_ASSERT, OTHER_WRAPPER_CLOSEABLES, PACKAGE_INFO_NAME, READOBJECT, READRESOLVE, REFLECT, REQUIRE_NON_NULL, RESOURCE_FREE_CLOSEABLE_STREAM, RUNTIME, SERIALPERSISTENTFIELDS, SERIALVERSIONUID, SHORT, SYNTHETIC_ACCESS_METHOD_PREFIX, SYNTHETIC_ASSERT_DISABLED, SYNTHETIC_CLASS, SYNTHETIC_ENCLOSING_INSTANCE_PREFIX, SYNTHETIC_ENUM_CONSTANT_INITIALIZATION_METHOD_PREFIX, SYNTHETIC_ENUM_VALUES, SYNTHETIC_OUTER_LOCAL_PREFIX, SYNTHETIC_STATIC_FACTORY, SYNTHETIC_SWITCH_ENUM_TABLE, TYPE, TYPE_PARAMETER_TARGET, TYPE_USE_TARGET, TYPEBINDING, UNCHECKED, UPPER_ANNOTATION_TYPE, UPPER_CLASS, UPPER_CONSTRUCTOR, UPPER_FIELD, UPPER_LOCAL_VARIABLE, UPPER_METHOD, UPPER_PACKAGE, UPPER_PARAMETER, UPPER_RUNTIME, UPPER_SOURCE, UTIL, VALIDATE_CLASS, VALUE, VALUEOF, VALUES, VOID, WILDCARD_CAPTURE, WILDCARD_CAPTURE_NAME_PREFIX, WILDCARD_CAPTURE_NAME_SUFFIX, WILDCARD_EXTENDS, WILDCARD_MINUS, WILDCARD_NAME, WILDCARD_PLUS, WILDCARD_STAR, WILDCARD_SUPER, WRITEOBJECT, WRITEREPLACE, ZIP
 
Constructor Summary
LookupEnvironment(ITypeRequestor typeRequestor, CompilerOptions globalOptions, ProblemReporter problemReporter, INameEnvironment nameEnvironment)
           
 
Method Summary
 void addResolutionListener(IQualifiedTypeResolutionListener resolutionListener)
           
 ReferenceBinding askForType(char[][] compoundName)
          Ask the name environment for a type which corresponds to the compoundName.
 void buildTypeBindings(CompilationUnitDeclaration unit, AccessRestriction accessRestriction)
           
 BinaryTypeBinding cacheBinaryType(IBinaryType binaryType, AccessRestriction accessRestriction)
           
 BinaryTypeBinding cacheBinaryType(IBinaryType binaryType, boolean needFieldsAndMethods, AccessRestriction accessRestriction)
           
 void completeTypeBindings()
           
 void completeTypeBindings(CompilationUnitDeclaration parsedUnit)
           
 void completeTypeBindings(CompilationUnitDeclaration[] parsedUnits, boolean[] buildFieldsAndMethods, int unitCount)
           
 void completeTypeBindings(CompilationUnitDeclaration parsedUnit, boolean buildFieldsAndMethods)
           
 MethodBinding computeArrayClone(MethodBinding objectClone)
           
 TypeBinding computeBoxingType(TypeBinding type)
           
 ReferenceBinding convertToParameterizedType(ReferenceBinding originalType)
          Convert a given source type into a parameterized form if generic.
 TypeBinding convertToRawType(TypeBinding type, boolean forceRawEnclosingType)
          Returns the given binding's raw type binding.
 ReferenceBinding[] convertToRawTypes(ReferenceBinding[] originalTypes, boolean forceErasure, boolean forceRawEnclosingType)
          Convert an array of types in raw forms.
 TypeBinding convertUnresolvedBinaryToRawType(TypeBinding type)
           
 TypeBinding createAnnotatedType(TypeBinding type, AnnotationBinding[] newbies)
           
 TypeBinding createAnnotatedType(TypeBinding type, AnnotationBinding[][] annotations)
           
 AnnotationBinding createAnnotation(ReferenceBinding annotationType, ElementValuePair[] pairs)
           
 ArrayBinding createArrayType(TypeBinding leafComponentType, int dimensionCount)
           
 ArrayBinding createArrayType(TypeBinding leafComponentType, int dimensionCount, AnnotationBinding[] annotations)
           
 BinaryTypeBinding createBinaryTypeFrom(IBinaryType binaryType, PackageBinding packageBinding, AccessRestriction accessRestriction)
           
 BinaryTypeBinding createBinaryTypeFrom(IBinaryType binaryType, PackageBinding packageBinding, boolean needFieldsAndMethods, AccessRestriction accessRestriction)
           
 ParameterizedMethodBinding createGetClassMethod(TypeBinding receiverType, MethodBinding originalMethod, Scope scope)
           
 TypeBinding createIntersectionCastType(ReferenceBinding[] intersectingTypes)
           
 ReferenceBinding createMemberType(ReferenceBinding memberType, ReferenceBinding enclosingType)
           
 MissingTypeBinding createMissingType(PackageBinding packageBinding, char[][] compoundName)
           
 PackageBinding createPackage(char[][] compoundName)
           
 ParameterizedGenericMethodBinding createParameterizedGenericMethod(MethodBinding genericMethod, RawTypeBinding rawType)
           
 ParameterizedGenericMethodBinding createParameterizedGenericMethod(MethodBinding genericMethod, TypeBinding[] typeArguments)
           
 ParameterizedTypeBinding createParameterizedType(ReferenceBinding genericType, TypeBinding[] typeArguments, ReferenceBinding enclosingType)
           
 ParameterizedTypeBinding createParameterizedType(ReferenceBinding genericType, TypeBinding[] typeArguments, ReferenceBinding enclosingType, AnnotationBinding[] annotations)
           
 PolymorphicMethodBinding createPolymorphicMethod(MethodBinding originalPolymorphicMethod, TypeBinding[] parameters)
           
 RawTypeBinding createRawType(ReferenceBinding genericType, ReferenceBinding enclosingType)
           
 RawTypeBinding createRawType(ReferenceBinding genericType, ReferenceBinding enclosingType, AnnotationBinding[] annotations)
           
 AnnotationBinding createUnresolvedAnnotation(ReferenceBinding annotationType, ElementValuePair[] pairs)
           
 WildcardBinding createWildcard(ReferenceBinding genericType, int rank, TypeBinding bound, TypeBinding[] otherBounds, int boundKind)
           
 WildcardBinding createWildcard(ReferenceBinding genericType, int rank, TypeBinding bound, TypeBinding[] otherBounds, int boundKind, AnnotationBinding[] annotations)
           
 AnnotationBinding[] filterNullTypeAnnotations(AnnotationBinding[] typeAnnotations)
           
 AccessRestriction getAccessRestriction(TypeBinding type)
          Returns the access restriction associated to a given type, or null if none
 TypeBinding[] getAnnotatedTypes(TypeBinding type)
           
 ReferenceBinding getCachedType(char[][] compoundName)
          Answer the type for the compoundName if it exists in the cache.
 AnnotationBinding getNonNullAnnotation()
           
 char[][] getNonNullAnnotationName()
           
 char[][] getNonNullByDefaultAnnotationName()
           
 AnnotationBinding getNullableAnnotation()
           
 char[][] getNullableAnnotationName()
           
 ReferenceBinding getResolvedType(char[][] compoundName, Scope scope)
           
 ReferenceBinding getType(char[][] compoundName)
           
 TypeBinding getTypeFromTypeSignature(SignatureWrapper wrapper, TypeVariableBinding[] staticVariables, ReferenceBinding enclosingType, char[][][] missingTypeNames, TypeAnnotationWalker walker)
           
 TypeBinding getUnannotatedType(TypeBinding typeBinding)
           
 MethodVerifier methodVerifier()
           
 MethodVerifier newMethodVerifier()
           
 AnnotationBinding[] nullAnnotationsFromTagBits(long nullTagBits)
           
 void releaseClassFiles(ClassFile[] classFiles)
           
 void reset()
           
 void setAccessRestriction(ReferenceBinding type, AccessRestriction accessRestriction)
          Associate a given type with some access restriction (did not store the restriction directly into binding, since sparse information)
 MethodBinding updatePolymorphicMethodReturnType(PolymorphicMethodBinding binding, TypeBinding typeBinding)
           
 boolean usesAnnotatedTypeSystem()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

defaultPackage

public PackageBinding defaultPackage

lastCompletedUnitIndex

protected int lastCompletedUnitIndex

lastUnitIndex

protected int lastUnitIndex

nameEnvironment

public INameEnvironment nameEnvironment

globalOptions

public CompilerOptions globalOptions

problemReporter

public ProblemReporter problemReporter

classFilePool

public ClassFilePool classFilePool

stepCompleted

protected int stepCompleted

typeRequestor

public ITypeRequestor typeRequestor

unitBeingCompleted

public CompilationUnitDeclaration unitBeingCompleted

missingClassFileLocation

public java.lang.Object missingClassFileLocation

units

protected CompilationUnitDeclaration[] units

arrayClone

public MethodBinding arrayClone

isProcessingAnnotations

public boolean isProcessingAnnotations

mayTolerateMissingType

public boolean mayTolerateMissingType

BUILD_FIELDS_AND_METHODS

protected static final int BUILD_FIELDS_AND_METHODS
See Also:
Constant Field Values

BUILD_TYPE_HIERARCHY

protected static final int BUILD_TYPE_HIERARCHY
See Also:
Constant Field Values

CHECK_AND_SET_IMPORTS

protected static final int CHECK_AND_SET_IMPORTS
See Also:
Constant Field Values

CONNECT_TYPE_HIERARCHY

protected static final int CONNECT_TYPE_HIERARCHY
See Also:
Constant Field Values

resolutionListeners

public IQualifiedTypeResolutionListener[] resolutionListeners
Constructor Detail

LookupEnvironment

public LookupEnvironment(ITypeRequestor typeRequestor,
                         CompilerOptions globalOptions,
                         ProblemReporter problemReporter,
                         INameEnvironment nameEnvironment)
Method Detail

askForType

public ReferenceBinding askForType(char[][] compoundName)
Ask the name environment for a type which corresponds to the compoundName. Answer null if the name cannot be found.


buildTypeBindings

public void buildTypeBindings(CompilationUnitDeclaration unit,
                              AccessRestriction accessRestriction)

cacheBinaryType

public BinaryTypeBinding cacheBinaryType(IBinaryType binaryType,
                                         AccessRestriction accessRestriction)

cacheBinaryType

public BinaryTypeBinding cacheBinaryType(IBinaryType binaryType,
                                         boolean needFieldsAndMethods,
                                         AccessRestriction accessRestriction)

completeTypeBindings

public void completeTypeBindings()

completeTypeBindings

public void completeTypeBindings(CompilationUnitDeclaration parsedUnit)

completeTypeBindings

public void completeTypeBindings(CompilationUnitDeclaration parsedUnit,
                                 boolean buildFieldsAndMethods)

completeTypeBindings

public void completeTypeBindings(CompilationUnitDeclaration[] parsedUnits,
                                 boolean[] buildFieldsAndMethods,
                                 int unitCount)

computeArrayClone

public MethodBinding computeArrayClone(MethodBinding objectClone)

computeBoxingType

public TypeBinding computeBoxingType(TypeBinding type)

convertToParameterizedType

public ReferenceBinding convertToParameterizedType(ReferenceBinding originalType)
Convert a given source type into a parameterized form if generic. generic X --> param X


convertToRawType

public TypeBinding convertToRawType(TypeBinding type,
                                    boolean forceRawEnclosingType)
Returns the given binding's raw type binding.

Parameters:
type - the TypeBinding to raw convert
forceRawEnclosingType - forces recursive raw conversion of enclosing types (used in Javadoc references only)
Returns:
TypeBinding the raw converted TypeBinding

convertToRawTypes

public ReferenceBinding[] convertToRawTypes(ReferenceBinding[] originalTypes,
                                            boolean forceErasure,
                                            boolean forceRawEnclosingType)
Convert an array of types in raw forms. Only allocate an array if anything is different.


convertUnresolvedBinaryToRawType

public TypeBinding convertUnresolvedBinaryToRawType(TypeBinding type)

createAnnotation

public AnnotationBinding createAnnotation(ReferenceBinding annotationType,
                                          ElementValuePair[] pairs)

createUnresolvedAnnotation

public AnnotationBinding createUnresolvedAnnotation(ReferenceBinding annotationType,
                                                    ElementValuePair[] pairs)

createArrayType

public ArrayBinding createArrayType(TypeBinding leafComponentType,
                                    int dimensionCount)

createArrayType

public ArrayBinding createArrayType(TypeBinding leafComponentType,
                                    int dimensionCount,
                                    AnnotationBinding[] annotations)

createIntersectionCastType

public TypeBinding createIntersectionCastType(ReferenceBinding[] intersectingTypes)

createBinaryTypeFrom

public BinaryTypeBinding createBinaryTypeFrom(IBinaryType binaryType,
                                              PackageBinding packageBinding,
                                              AccessRestriction accessRestriction)

createBinaryTypeFrom

public BinaryTypeBinding createBinaryTypeFrom(IBinaryType binaryType,
                                              PackageBinding packageBinding,
                                              boolean needFieldsAndMethods,
                                              AccessRestriction accessRestriction)

createMissingType

public MissingTypeBinding createMissingType(PackageBinding packageBinding,
                                            char[][] compoundName)

createPackage

public PackageBinding createPackage(char[][] compoundName)

createParameterizedGenericMethod

public ParameterizedGenericMethodBinding createParameterizedGenericMethod(MethodBinding genericMethod,
                                                                          RawTypeBinding rawType)

createParameterizedGenericMethod

public ParameterizedGenericMethodBinding createParameterizedGenericMethod(MethodBinding genericMethod,
                                                                          TypeBinding[] typeArguments)

createPolymorphicMethod

public PolymorphicMethodBinding createPolymorphicMethod(MethodBinding originalPolymorphicMethod,
                                                        TypeBinding[] parameters)

usesAnnotatedTypeSystem

public boolean usesAnnotatedTypeSystem()

updatePolymorphicMethodReturnType

public MethodBinding updatePolymorphicMethodReturnType(PolymorphicMethodBinding binding,
                                                       TypeBinding typeBinding)

createGetClassMethod

public ParameterizedMethodBinding createGetClassMethod(TypeBinding receiverType,
                                                       MethodBinding originalMethod,
                                                       Scope scope)

createMemberType

public ReferenceBinding createMemberType(ReferenceBinding memberType,
                                         ReferenceBinding enclosingType)

createParameterizedType

public ParameterizedTypeBinding createParameterizedType(ReferenceBinding genericType,
                                                        TypeBinding[] typeArguments,
                                                        ReferenceBinding enclosingType)

createParameterizedType

public ParameterizedTypeBinding createParameterizedType(ReferenceBinding genericType,
                                                        TypeBinding[] typeArguments,
                                                        ReferenceBinding enclosingType,
                                                        AnnotationBinding[] annotations)

createAnnotatedType

public TypeBinding createAnnotatedType(TypeBinding type,
                                       AnnotationBinding[][] annotations)

createAnnotatedType

public TypeBinding createAnnotatedType(TypeBinding type,
                                       AnnotationBinding[] newbies)

createRawType

public RawTypeBinding createRawType(ReferenceBinding genericType,
                                    ReferenceBinding enclosingType)

createRawType

public RawTypeBinding createRawType(ReferenceBinding genericType,
                                    ReferenceBinding enclosingType,
                                    AnnotationBinding[] annotations)

createWildcard

public WildcardBinding createWildcard(ReferenceBinding genericType,
                                      int rank,
                                      TypeBinding bound,
                                      TypeBinding[] otherBounds,
                                      int boundKind)

createWildcard

public WildcardBinding createWildcard(ReferenceBinding genericType,
                                      int rank,
                                      TypeBinding bound,
                                      TypeBinding[] otherBounds,
                                      int boundKind,
                                      AnnotationBinding[] annotations)

getAccessRestriction

public AccessRestriction getAccessRestriction(TypeBinding type)
Returns the access restriction associated to a given type, or null if none


getCachedType

public ReferenceBinding getCachedType(char[][] compoundName)
Answer the type for the compoundName if it exists in the cache. Answer theNotFoundType if it could not be resolved the first time it was looked up, otherwise answer null. NOTE: Do not use for nested types... the answer is NOT the same for a.b.C or a.b.C.D.E assuming C is a type in both cases. In the a.b.C.D.E case, null is the answer.


getNullableAnnotation

public AnnotationBinding getNullableAnnotation()

getNullableAnnotationName

public char[][] getNullableAnnotationName()

getNonNullAnnotation

public AnnotationBinding getNonNullAnnotation()

nullAnnotationsFromTagBits

public AnnotationBinding[] nullAnnotationsFromTagBits(long nullTagBits)

getNonNullAnnotationName

public char[][] getNonNullAnnotationName()

getNonNullByDefaultAnnotationName

public char[][] getNonNullByDefaultAnnotationName()

getResolvedType

public ReferenceBinding getResolvedType(char[][] compoundName,
                                        Scope scope)

getType

public ReferenceBinding getType(char[][] compoundName)

getTypeFromTypeSignature

public TypeBinding getTypeFromTypeSignature(SignatureWrapper wrapper,
                                            TypeVariableBinding[] staticVariables,
                                            ReferenceBinding enclosingType,
                                            char[][][] missingTypeNames,
                                            TypeAnnotationWalker walker)

methodVerifier

public MethodVerifier methodVerifier()

newMethodVerifier

public MethodVerifier newMethodVerifier()

releaseClassFiles

public void releaseClassFiles(ClassFile[] classFiles)

reset

public void reset()

setAccessRestriction

public void setAccessRestriction(ReferenceBinding type,
                                 AccessRestriction accessRestriction)
Associate a given type with some access restriction (did not store the restriction directly into binding, since sparse information)


addResolutionListener

public void addResolutionListener(IQualifiedTypeResolutionListener resolutionListener)

getUnannotatedType

public TypeBinding getUnannotatedType(TypeBinding typeBinding)

getAnnotatedTypes

public TypeBinding[] getAnnotatedTypes(TypeBinding type)

filterNullTypeAnnotations

public AnnotationBinding[] filterNullTypeAnnotations(AnnotationBinding[] typeAnnotations)