org.aspectj.ajdt.internal.compiler.lookup
Class AjLookupEnvironment
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment
org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment
- All Implemented Interfaces:
- AnonymousClassCreationListener, ProblemReasons, TypeConstants
public class AjLookupEnvironment
- extends LookupEnvironment
- implements AnonymousClassCreationListener
Overrides the default eclipse LookupEnvironment for two purposes.
1. To provide some additional phases to completeTypeBindings that weave declare parents and inter-type declarations
at the correct time.
2. To intercept the loading of new binary types to ensure the they will have declare parents and inter-type declarations woven
when appropriate.
| Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment |
BUILD_FIELDS_AND_METHODS, BUILD_TYPE_HIERARCHY, CHECK_AND_SET_IMPORTS, classFilePool, CONNECT_TYPE_HIERARCHY, defaultPackage, globalOptions, lastCompletedUnitIndex, lastUnitIndex, missingClassFileLocation, nameEnvironment, problemReporter, stepCompleted, typeRequestor, unitBeingCompleted, units |
| Fields inherited from interface org.aspectj.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.aspectj.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_EXTERNALIZABLE, JAVA_IO_IOEXCEPTION, JAVA_IO_OBJECTINPUTSTREAM, JAVA_IO_OBJECTOUTPUTSTREAM, JAVA_IO_OBJECTSTREAMEXCEPTION, 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, UTIL, 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 |
| Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment |
askForType, buildTypeBindings, cacheBinaryType, cacheBinaryType, cacheMissingBinaryType, completeTypeBindings, completeTypeBindings, computeBoxingType, convertToParameterizedType, convertToRawType, convertUnresolvedBinaryToRawType, createAnnotation, createArrayType, createBinaryTypeFrom, createPackage, createParameterizedGenericMethod, createParameterizedGenericMethod, createParameterizedType, createRawType, createWildcard, getAccessRestriction, getCachedType, getResolvedType, getType, methodVerifier, reset, setAccessRestriction |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
factory
public EclipseFactory factory
AjLookupEnvironment
public AjLookupEnvironment(ITypeRequestor typeRequestor,
CompilerOptions options,
ProblemReporter problemReporter,
INameEnvironment nameEnvironment)
completeTypeBindings
public void completeTypeBindings()
- Overrides:
completeTypeBindings in class LookupEnvironment
doSupertypesFirst
public void doSupertypesFirst(ReferenceBinding rb,
java.util.Collection yetToProcess)
warnOnAddedInterface
public void warnOnAddedInterface(ResolvedType type,
ResolvedType parent)
createBinaryTypeFrom
public BinaryTypeBinding createBinaryTypeFrom(IBinaryType binaryType,
PackageBinding packageBinding,
boolean needFieldsAndMethods,
AccessRestriction accessRestriction)
- Overrides:
createBinaryTypeFrom in class LookupEnvironment
anonymousTypeBindingCreated
public void anonymousTypeBindingCreated(LocalTypeBinding aBinding)
- Callback driven when the compiler detects an anonymous type during block resolution. We need to add it to the weaver so that
we don't trip up later.
- Specified by:
anonymousTypeBindingCreated in interface AnonymousClassCreationListener
- Parameters:
aBinding -