public class LookupEnvironment extends java.lang.Object implements ProblemReasons, TypeConstants
TypeConstants.BoundCheckStatus, TypeConstants.CloseMethodRecord, TypeConstants.DangerousMethodAmbiguous, ApplicableMethodOverriddenByInapplicable, AttemptToBypassDirectSuper, ContradictoryNullAnnotations, DefectiveContainerAnnotationType, ErrorAlreadyReported, IllegalSuperTypeVariable, InferredApplicableMethodInapplicable, InheritedNameHidesEnclosingName, InterfaceMethodInvocationNotBelow18, InternalNameProvided, InvalidTypeForAutoManagedResource, InvalidTypeForStaticImport, InvocationTypeInferenceFailure, NoError, NonStaticOrAlienTypeReceiver, NonStaticReferenceInConstructorInvocation, NonStaticReferenceInStaticContext, NoProperEnclosingInstance, NoSuchMethodOnArray, NoSuchSingleAbstractMethod, NotAccessible, 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, AUTOMATIC_MODULE_NAME, AUTOWIRED, BEANS, BOOLEAN, BYTE, CAPTURE18, CHANNELS, 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, CharArray_JAVA_LANG_RECORD, CharArray_JAVA_LANG_RECORD_SLASH, 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, CONTAINS, CONTAINS_ALL, CONTAINS_KEY, CONTAINS_VALUE, 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, FLUENT_RESOURCE_CLASSES, FOR_REMOVAL, FRAMEWORK, GET, GETCLASS, GOOGLE, GUAVA_CLOSEABLES, HASHCODE, INDEX_OF, INIT, INJECT_PACKAGE, INJECT_TYPE, INT, INTERNAL, INVOKE, IO, IS_INSTANCE, IS_NOTNULL, IS_NULL, IS_TRUE, ITYPEBINDING, JAVA, JAVA_BASE, 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_INCOMPATIBLECLASSCHANGEERROR, 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_NOSUCHFIELDERROR, JAVA_LANG_OBJECT, JAVA_LANG_OVERRIDE, JAVA_LANG_RECORD, JAVA_LANG_REFLECT_CONSTRUCTOR, JAVA_LANG_REFLECT_FIELD, JAVA_LANG_REFLECT_METHOD, JAVA_LANG_RUNTIME_OBJECTMETHODS, 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_ARRAYS, JAVA_UTIL_COLLECTION, JAVA_UTIL_ITERATOR, JAVA_UTIL_LIST, JAVA_UTIL_MAP, JAVA_UTIL_OBJECTS, JAVA_UTIL_STREAM, JAVA_UTIL_ZIP_WRAPPER_CLOSEABLES, JAVAX, JAVAX_ANNOTATION_INJECT_INJECT, JAVAX_RMI_CORBA_STUB, JDT, JUNIT, JUNIT_FRAMEWORK_ASSERT, JUPITER, LAMBDA_TYPE, LANG, LANG3, LAST_INDEX_OF, LENGTH, LONG, LOOKUP, MAIN, META_INF_MANIFEST_MF, METHOD_SOURCE, MODULE_INFO_CLASS_NAME, MODULE_INFO_CLASS_NAME_STRING, MODULE_INFO_FILE_NAME, MODULE_INFO_FILE_NAME_STRING, MODULE_INFO_NAME, MODULE_INFO_NAME_STRING, NIO, NON_NULL, 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_JUNIT_METHOD_SOURCE, ORG_SPRING_AUTOWIRED, OTHER_WRAPPER_CLOSEABLES, PACKAGE_INFO_NAME, PARAMS, PROVIDER, READOBJECT, READRESOLVE, RECORD_CLASS, RECORD_RESTRICTED_IDENTIFIER, REFLECT, REMOVE, REMOVE_ALL, REQUIRE_NON_NULL, REQUIRED, RESOURCE_FREE_CLOSEABLE_J_U_STREAMS, RETAIN_ALL, RUNTIME, SERIALPERSISTENTFIELDS, SERIALVERSIONUID, SHORT, SINCE, 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, TOSTRING, TYPE, TYPE_PARAMETER_TARGET, TYPE_USE_TARGET, TYPEBINDING, UPPER_ANNOTATION_TYPE, UPPER_CLASS, UPPER_CONSTRUCTOR, UPPER_FIELD, UPPER_LOCAL_VARIABLE, UPPER_METHOD, UPPER_MODULE, UPPER_PACKAGE, UPPER_PARAMETER, UPPER_RECORD_COMPONENT, UPPER_RUNTIME, UPPER_SOURCE, UTIL, VALIDATE_CLASS, VALUE, VALUEOF, VALUES, VAR, 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)
Construct the root LookupEnvironment, corresponding to the UnNamedModule.
|
LookupEnvironment(LookupEnvironment rootEnv,
ModuleBinding module)
Construct a specific LookupEnvironment, corresponding to the given module.
|
public final LookupEnvironment root
public ModuleBinding UnNamedModule
public ModuleBinding JavaBaseModule
public ModuleBinding module
public PlainPackageBinding 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 HashtableOfModule knownModules
public CompilationUnitDeclaration unitBeingCompleted
public java.lang.Object missingClassFileLocation
protected CompilationUnitDeclaration[] units
public boolean isProcessingAnnotations
public boolean mayTolerateMissingType
public boolean suppressImportErrors
public java.lang.String moduleVersion
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 LookupEnvironment(LookupEnvironment rootEnv, ModuleBinding module)
public ModuleBinding getModule(char[] name)
public ReferenceBinding askForType(char[][] compoundName, ModuleBinding clientModule)
public boolean canTypeBeAccessed(SourceTypeBinding binding, Scope scope)
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 ModuleBinding javaBaseModule()
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 PlainPackageBinding createPlainPackage(char[][] compoundName)
public ParameterizedGenericMethodBinding createParameterizedGenericMethod(MethodBinding genericMethod, RawTypeBinding rawType)
public ParameterizedGenericMethodBinding createParameterizedGenericMethod(MethodBinding genericMethod, TypeBinding[] typeArguments)
public ParameterizedGenericMethodBinding createParameterizedGenericMethod(MethodBinding genericMethod, TypeBinding[] typeArguments, TypeBinding targetType)
public ParameterizedGenericMethodBinding createParameterizedGenericMethod(MethodBinding genericMethod, TypeBinding[] typeArguments, boolean inferredWithUncheckedConversion, boolean hasReturnProblem, TypeBinding targetType)
public PolymorphicMethodBinding createPolymorphicMethod(MethodBinding originalPolymorphicMethod, TypeBinding[] parameters, Scope scope)
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 ReferenceBinding getCachedType0(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 getResolvedType(char[][] compoundName, ModuleBinding moduleBinding, Scope scope, boolean implicitAnnotationUse)
public ReferenceBinding getResolvedJavaBaseType(char[][] compoundName, Scope scope)
public ReferenceBinding getType(char[][] compoundName)
public ReferenceBinding getType(char[][] compoundName, ModuleBinding mod)
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)
public Binding getInaccessibleBinding(char[][] compoundName, ModuleBinding clientModule)
public LookupEnvironment wrapInModuleEnvironment(ModuleBinding moduleBinding)