public class LookupEnvironment extends java.lang.Object implements ProblemReasons, TypeConstants
TypeConstants.BoundCheckStatus, TypeConstants.CloseMethodRecord| Modifier and Type | Field and Description |
|---|---|
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 |
Ambiguous, ApplicableMethodOverriddenByInapplicable, AttemptToBypassDirectSuper, ContradictoryNullAnnotations, DefectiveContainerAnnotationType, IllegalSuperTypeVariable, InferredApplicableMethodInapplicable, InheritedNameHidesEnclosingName, InterfaceMethodInvocationNotBelow18, InternalNameProvided, InvalidTypeForAutoManagedResource, InvalidTypeForStaticImport, InvocationTypeInferenceFailure, NoError, NonStaticOrAlienTypeReceiver, NonStaticReferenceInConstructorInvocation, NonStaticReferenceInStaticContext, NoProperEnclosingInstance, NoSuchMethodOnArray, NoSuchSingleAbstractMethod, NotAWellFormedParameterizedType, NotFound, NotVisible, ParameterBoundMismatch, ParameterizedMethodTypeMismatch, ReceiverTypeNotVisible, TypeArgumentsForRawGenericMethod, TypeParameterArityMismatch, VarargsElementTypeNotVisibleANNOTATION, 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, AUTOWIRED, BEANS, 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, FACTORY, 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, 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, NOT_NULL, NULL, OBJECT, 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, ORG_SPRING_AUTOWIRED, OTHER_WRAPPER_CLOSEABLES, PACKAGE_INFO_NAME, READOBJECT, READRESOLVE, REFLECT, REQUIRE_NON_NULL, REQUIRED, RESOURCE_FREE_CLOSEABLE_STREAM, RUNTIME, SERIALPERSISTENTFIELDS, SERIALVERSIONUID, SHORT, SPRING, 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, 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_CAPTURE_SIGNABLE_NAME_SUFFIX, WILDCARD_EXTENDS, WILDCARD_MINUS, WILDCARD_NAME, WILDCARD_PLUS, WILDCARD_STAR, WILDCARD_SUPER, WRITEOBJECT, WRITEREPLACE, ZIP| Constructor and Description |
|---|
LookupEnvironment(ITypeRequestor typeRequestor,
CompilerOptions globalOptions,
ProblemReporter problemReporter,
INameEnvironment nameEnvironment) |
public PackageBinding defaultPackage
protected int lastCompletedUnitIndex
protected int lastUnitIndex
public INameEnvironment nameEnvironment
public CompilerOptions globalOptions
public ProblemReporter problemReporter
public ClassFilePool classFilePool
protected int stepCompleted
public ITypeRequestor typeRequestor
public CompilationUnitDeclaration unitBeingCompleted
public java.lang.Object missingClassFileLocation
protected CompilationUnitDeclaration[] units
public boolean isProcessingAnnotations
public boolean mayTolerateMissingType
protected static final int BUILD_FIELDS_AND_METHODS
protected static final int BUILD_TYPE_HIERARCHY
protected static final int CHECK_AND_SET_IMPORTS
protected static final int CONNECT_TYPE_HIERARCHY
public IQualifiedTypeResolutionListener[] resolutionListeners
public LookupEnvironment(ITypeRequestor typeRequestor, CompilerOptions globalOptions, ProblemReporter problemReporter, INameEnvironment nameEnvironment)
public ReferenceBinding askForType(char[][] compoundName)
public void buildTypeBindings(CompilationUnitDeclaration unit, AccessRestriction accessRestriction)
public BinaryTypeBinding cacheBinaryType(IBinaryType binaryType, AccessRestriction accessRestriction)
public BinaryTypeBinding cacheBinaryType(IBinaryType binaryType, boolean needFieldsAndMethods, AccessRestriction accessRestriction)
public void completeTypeBindings()
public void completeTypeBindings(CompilationUnitDeclaration parsedUnit)
public void completeTypeBindings(CompilationUnitDeclaration parsedUnit, boolean buildFieldsAndMethods)
public void completeTypeBindings(CompilationUnitDeclaration[] parsedUnits, boolean[] buildFieldsAndMethods, int unitCount)
public TypeBinding computeBoxingType(TypeBinding type)
public ReferenceBinding convertToParameterizedType(ReferenceBinding originalType)
public TypeBinding convertToRawType(TypeBinding type, boolean forceRawEnclosingType)
type - the TypeBinding to raw convertforceRawEnclosingType - forces recursive raw conversion of enclosing types (used in Javadoc references only)public ReferenceBinding[] convertToRawTypes(ReferenceBinding[] originalTypes, boolean forceErasure, boolean forceRawEnclosingType)
public TypeBinding convertUnresolvedBinaryToRawType(TypeBinding type)
public AnnotationBinding createAnnotation(ReferenceBinding annotationType, ElementValuePair[] pairs)
public AnnotationBinding createUnresolvedAnnotation(ReferenceBinding annotationType, ElementValuePair[] pairs)
public ArrayBinding createArrayType(TypeBinding leafComponentType, int dimensionCount)
public ArrayBinding createArrayType(TypeBinding leafComponentType, int dimensionCount, AnnotationBinding[] annotations)
public TypeBinding createIntersectionType18(ReferenceBinding[] intersectingTypes)
public BinaryTypeBinding createBinaryTypeFrom(IBinaryType binaryType, PackageBinding packageBinding, AccessRestriction accessRestriction)
public BinaryTypeBinding createBinaryTypeFrom(IBinaryType binaryType, PackageBinding packageBinding, boolean needFieldsAndMethods, AccessRestriction accessRestriction)
public MissingTypeBinding createMissingType(PackageBinding packageBinding, char[][] compoundName)
public PackageBinding createPackage(char[][] compoundName)
public ParameterizedGenericMethodBinding createParameterizedGenericMethod(MethodBinding genericMethod, RawTypeBinding rawType)
public ParameterizedGenericMethodBinding createParameterizedGenericMethod(MethodBinding genericMethod, TypeBinding[] typeArguments)
public ParameterizedGenericMethodBinding createParameterizedGenericMethod(MethodBinding genericMethod, TypeBinding[] typeArguments, boolean inferredWithUncheckedConversion, boolean hasReturnProblem)
public PolymorphicMethodBinding createPolymorphicMethod(MethodBinding originalPolymorphicMethod, TypeBinding[] parameters)
public boolean usesAnnotatedTypeSystem()
public MethodBinding updatePolymorphicMethodReturnType(PolymorphicMethodBinding binding, TypeBinding typeBinding)
public ParameterizedMethodBinding createGetClassMethod(TypeBinding receiverType, MethodBinding originalMethod, Scope scope)
public ReferenceBinding createMemberType(ReferenceBinding memberType, ReferenceBinding enclosingType)
public ParameterizedTypeBinding createParameterizedType(ReferenceBinding genericType, TypeBinding[] typeArguments, ReferenceBinding enclosingType)
public ParameterizedTypeBinding createParameterizedType(ReferenceBinding genericType, TypeBinding[] typeArguments, ReferenceBinding enclosingType, AnnotationBinding[] annotations)
public ReferenceBinding maybeCreateParameterizedType(ReferenceBinding nonGenericType, ReferenceBinding enclosingType)
public TypeBinding createAnnotatedType(TypeBinding type, AnnotationBinding[][] annotations)
public TypeBinding createAnnotatedType(TypeBinding type, AnnotationBinding[] newbies)
public RawTypeBinding createRawType(ReferenceBinding genericType, ReferenceBinding enclosingType)
public RawTypeBinding createRawType(ReferenceBinding genericType, ReferenceBinding enclosingType, AnnotationBinding[] annotations)
public WildcardBinding createWildcard(ReferenceBinding genericType, int rank, TypeBinding bound, TypeBinding[] otherBounds, int boundKind)
public CaptureBinding createCapturedWildcard(WildcardBinding wildcard, ReferenceBinding contextType, int start, int end, ASTNode cud, int id)
public WildcardBinding createWildcard(ReferenceBinding genericType, int rank, TypeBinding bound, TypeBinding[] otherBounds, int boundKind, AnnotationBinding[] annotations)
public AccessRestriction getAccessRestriction(TypeBinding type)
public ReferenceBinding getCachedType(char[][] compoundName)
public AnnotationBinding getNullableAnnotation()
public char[][] getNullableAnnotationName()
public AnnotationBinding getNonNullAnnotation()
public AnnotationBinding[] nullAnnotationsFromTagBits(long nullTagBits)
public char[][] getNonNullAnnotationName()
public char[][] getNonNullByDefaultAnnotationName()
public boolean isNullnessAnnotationPackage(PackageBinding pkg)
public boolean usesNullTypeAnnotations()
public ReferenceBinding getResolvedType(char[][] compoundName, Scope scope)
public ReferenceBinding getType(char[][] compoundName)
public TypeBinding getTypeFromTypeSignature(SignatureWrapper wrapper, TypeVariableBinding[] staticVariables, ReferenceBinding enclosingType, char[][][] missingTypeNames, ITypeAnnotationWalker walker)
public MethodVerifier methodVerifier()
public MethodVerifier newMethodVerifier()
public void releaseClassFiles(ClassFile[] classFiles)
public void reset()
public void setAccessRestriction(ReferenceBinding type, AccessRestriction accessRestriction)
public void addResolutionListener(IQualifiedTypeResolutionListener resolutionListener)
public TypeBinding getUnannotatedType(TypeBinding typeBinding)
public TypeBinding[] getAnnotatedTypes(TypeBinding type)
public AnnotationBinding[] filterNullTypeAnnotations(AnnotationBinding[] typeAnnotations)
public boolean containsNullTypeAnnotation(IBinaryAnnotation[] typeAnnotations)
public boolean containsNullTypeAnnotation(AnnotationBinding[] typeAnnotations)