org.eclipse.jdt.internal.compiler.lookup
Class LookupEnvironment
java.lang.Object
org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment
- All Implemented Interfaces:
- ProblemReasons, TypeConstants
public class LookupEnvironment
- extends java.lang.Object
- implements ProblemReasons, TypeConstants
Fields inherited from interface org.eclipse.jdt.internal.compiler.lookup.ProblemReasons |
Ambiguous, IllegalSuperTypeVariable, InheritedNameHidesEnclosingName, InternalNameProvided, InvalidTypeForStaticImport, NoError, NonStaticReferenceInConstructorInvocation, NonStaticReferenceInStaticContext, NotFound, NotVisible, ParameterBoundMismatch, ParameterizedMethodTypeMismatch, ReceiverTypeNotVisible, TypeArgumentsForRawGenericMethod, TypeParameterArityMismatch |
Fields inherited from interface org.eclipse.jdt.internal.compiler.lookup.TypeConstants |
ANNOTATION, ANNOTATION_PREFIX, ANNOTATION_SUFFIX, ANONYM_PREFIX, ANONYM_SUFFIX, BOOLEAN, BYTE, 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, CLINIT, CLONE, CONSTRAINT_EQUAL, CONSTRAINT_EXTENDS, CONSTRAINT_SUPER, DOUBLE, FLOAT, GETCLASS, INIT, INT, IO, JAVA, JAVA_IO, JAVA_IO_PRINTSTREAM, JAVA_IO_SERIALIZABLE, JAVA_LANG, JAVA_LANG_ANNOTATION_ANNOTATION, JAVA_LANG_ANNOTATION_DOCUMENTED, JAVA_LANG_ANNOTATION_ELEMENTTYPE, JAVA_LANG_ANNOTATION_INHERITED, JAVA_LANG_ANNOTATION_RETENTION, JAVA_LANG_ANNOTATION_RETENTIONPOLICY, JAVA_LANG_ANNOTATION_TARGET, JAVA_LANG_ASSERTIONERROR, 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_ILLEGALARGUMENTEXCEPTION, JAVA_LANG_INTEGER, 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_SHORT, JAVA_LANG_STRING, JAVA_LANG_STRINGBUFFER, JAVA_LANG_STRINGBUILDER, JAVA_LANG_SUPPRESSWARNINGS, JAVA_LANG_SYSTEM, JAVA_LANG_THROWABLE, JAVA_LANG_VOID, JAVA_UTIL_ITERATOR, LANG, LENGTH, LONG, MAIN, MISMATCH, NULL, OBJECT, OK, PACKAGE_INFO_NAME, READOBJECT, READRESOLVE, REFLECT, SERIALPERSISTENTFIELDS, SERIALVERSIONUID, SHORT, SYNTHETIC_ACCESS_METHOD_PREFIX, SYNTHETIC_ASSERT_DISABLED, SYNTHETIC_CLASS, SYNTHETIC_ENCLOSING_INSTANCE_PREFIX, SYNTHETIC_ENUM_VALUES, SYNTHETIC_OUTER_LOCAL_PREFIX, SYNTHETIC_SWITCH_ENUM_TABLE, TYPE, UNCHECKED, UPPER_ANNOTATION_TYPE, UPPER_CLASS, UPPER_CONSTRUCTOR, UPPER_FIELD, UPPER_LOCAL_VARIABLE, UPPER_METHOD, UPPER_PACKAGE, UPPER_PARAMETER, UPPER_RUNTIME, UPPER_SOURCE, VALUE, VALUEOF, VALUES, VOID, WILDCARD_CAPTURE, WILDCARD_CAPTURE_NAME, WILDCARD_EXTENDS, WILDCARD_MINUS, WILDCARD_NAME, WILDCARD_PLUS, WILDCARD_STAR, WILDCARD_SUPER, WRITEOBJECT, WRITEREPLACE |
Method Summary |
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 parsedUnit,
boolean buildFieldsAndMethods)
|
TypeBinding |
computeBoxingType(TypeBinding type)
|
ReferenceBinding |
convertToParameterizedType(ReferenceBinding originalType)
Convert a given source type into a parameterized form if generic. |
TypeBinding |
convertToRawType(TypeBinding type)
|
TypeBinding |
convertUnresolvedBinaryToRawType(TypeBinding type)
|
ArrayBinding |
createArrayType(TypeBinding leafComponentType,
int dimensionCount)
|
BinaryTypeBinding |
createBinaryTypeFrom(IBinaryType binaryType,
PackageBinding packageBinding,
AccessRestriction accessRestriction)
|
BinaryTypeBinding |
createBinaryTypeFrom(IBinaryType binaryType,
PackageBinding packageBinding,
boolean needFieldsAndMethods,
AccessRestriction accessRestriction)
|
ParameterizedGenericMethodBinding |
createParameterizedGenericMethod(MethodBinding genericMethod,
RawTypeBinding rawType)
|
ParameterizedGenericMethodBinding |
createParameterizedGenericMethod(MethodBinding genericMethod,
TypeBinding[] typeArguments)
|
ParameterizedTypeBinding |
createParameterizedType(ReferenceBinding genericType,
TypeBinding[] typeArguments,
ReferenceBinding enclosingType)
|
RawTypeBinding |
createRawType(ReferenceBinding genericType,
ReferenceBinding enclosingType)
|
WildcardBinding |
createWildcard(ReferenceBinding genericType,
int rank,
TypeBinding bound,
TypeBinding[] otherBounds,
int boundKind)
|
AccessRestriction |
getAccessRestriction(TypeBinding type)
Returns the access restriction associated to a given type, or null if none |
ReferenceBinding |
getCachedType(char[][] compoundName)
Answer the type for the compoundName if it exists in the cache. |
ReferenceBinding |
getResolvedType(char[][] compoundName,
Scope scope)
|
ReferenceBinding |
getType(char[][] compoundName)
|
MethodVerifier |
methodVerifier()
|
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) |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
nameEnvironment
public INameEnvironment nameEnvironment
globalOptions
public CompilerOptions globalOptions
problemReporter
public ProblemReporter problemReporter
classFilePool
public ClassFilePool classFilePool
typeRequestor
public ITypeRequestor typeRequestor
unitBeingCompleted
public CompilationUnitDeclaration unitBeingCompleted
LookupEnvironment
public LookupEnvironment(ITypeRequestor typeRequestor,
CompilerOptions globalOptions,
ProblemReporter problemReporter,
INameEnvironment nameEnvironment)
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)
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)
convertUnresolvedBinaryToRawType
public TypeBinding convertUnresolvedBinaryToRawType(TypeBinding type)
createArrayType
public ArrayBinding createArrayType(TypeBinding leafComponentType,
int dimensionCount)
createBinaryTypeFrom
public BinaryTypeBinding createBinaryTypeFrom(IBinaryType binaryType,
PackageBinding packageBinding,
AccessRestriction accessRestriction)
createBinaryTypeFrom
public BinaryTypeBinding createBinaryTypeFrom(IBinaryType binaryType,
PackageBinding packageBinding,
boolean needFieldsAndMethods,
AccessRestriction accessRestriction)
createParameterizedGenericMethod
public ParameterizedGenericMethodBinding createParameterizedGenericMethod(MethodBinding genericMethod,
RawTypeBinding rawType)
createParameterizedGenericMethod
public ParameterizedGenericMethodBinding createParameterizedGenericMethod(MethodBinding genericMethod,
TypeBinding[] typeArguments)
createParameterizedType
public ParameterizedTypeBinding createParameterizedType(ReferenceBinding genericType,
TypeBinding[] typeArguments,
ReferenceBinding enclosingType)
createRawType
public RawTypeBinding createRawType(ReferenceBinding genericType,
ReferenceBinding enclosingType)
createWildcard
public WildcardBinding createWildcard(ReferenceBinding genericType,
int rank,
TypeBinding bound,
TypeBinding[] otherBounds,
int boundKind)
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.
getResolvedType
public ReferenceBinding getResolvedType(char[][] compoundName,
Scope scope)
getType
public ReferenceBinding getType(char[][] compoundName)
methodVerifier
public MethodVerifier methodVerifier()
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)