diff options
author | aclement <aclement> | 2006-02-22 15:26:26 +0000 |
---|---|---|
committer | aclement <aclement> | 2006-02-22 15:26:26 +0000 |
commit | 1cd7b3c6614995f8a38823a63fe4e16fddad86be (patch) | |
tree | b4b7fdfc3032a749043693b1e01e7621fc4a8fdb /org.aspectj.ajdt.core | |
parent | 63bba68515457d8194e595ab5ecb09d84cb2eaf8 (diff) | |
download | aspectj-1cd7b3c6614995f8a38823a63fe4e16fddad86be.tar.gz aspectj-1cd7b3c6614995f8a38823a63fe4e16fddad86be.zip |
optimizationasm: various tweaks!! See optimization #7 in 128650
Diffstat (limited to 'org.aspectj.ajdt.core')
4 files changed, 6 insertions, 4 deletions
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java index 3a3a24605..3b4197752 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java @@ -176,6 +176,7 @@ public class AjCompilerAdapter implements ICompilerAdapter { notifyRequestor(); } else { weave(); // notification happens as weave progresses... + weaver.getWorld().flush(); } } catch (IOException ex) { AbortCompilation ac = new AbortCompilation(null,ex); @@ -306,6 +307,7 @@ public class AjCompilerAdapter implements ICompilerAdapter { } finally { // ???: is this the right point for this? After weaving has finished clear the caches. CflowPointcut.clearCaches(); + weaver.tidyUp(); } } diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseFactory.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseFactory.java index 93ed90c07..41c4e24fb 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseFactory.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseFactory.java @@ -81,6 +81,7 @@ public class EclipseFactory { private LookupEnvironment lookupEnvironment; private boolean xSerializableAspects; private World world; + public Collection finishedTypeMungers = null; // We can get clashes if we don't treat raw types differently - we end up looking // up a raw and getting the generic type (pr115788) @@ -397,7 +398,6 @@ public class EclipseFactory { return getWorld().getDeclareAnnotationOnMethods(); } - public Collection finishedTypeMungers = null; public boolean areTypeMungersFinished() { return finishedTypeMungers != null; @@ -987,7 +987,6 @@ public class EclipseFactory { } name.setGenericType(complexName); complexName.setDelegate(t); - complexName.setSourceContext(t.getResolvedTypeX().getSourceContext()); } name.setDelegate(t); @@ -1024,5 +1023,6 @@ public class EclipseFactory { public void cleanup() { this.typexToBinding.clear(); this.rawTypeXToBinding.clear(); + this.finishedTypeMungers = null; } } diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseSourceType.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseSourceType.java index 81491116d..3f2aab4e9 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseSourceType.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseSourceType.java @@ -97,7 +97,7 @@ public class EclipseSourceType extends AbstractReferenceTypeDelegate { this.declaration = declaration; this.unit = unit; - resolvedTypeX.setSourceContext(new EclipseSourceContext(declaration.compilationResult)); + setSourceContext(new EclipseSourceContext(declaration.compilationResult)); resolvedTypeX.setStartPos(declaration.sourceStart); resolvedTypeX.setEndPos(declaration.sourceEnd); } diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjBuildManager.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjBuildManager.java index 526086446..1ef198bf2 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjBuildManager.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjBuildManager.java @@ -108,7 +108,7 @@ public class AjBuildManager implements IOutputClassFileNameProvider,IBinarySourc * that there is only one builder present, so if two extendsion reset it, only * the latter will get used. */ - private static AsmHierarchyBuilder asmHierarchyBuilder = new AsmHierarchyBuilder(); + public static AsmHierarchyBuilder asmHierarchyBuilder = new AsmHierarchyBuilder(); static { CompilationAndWeavingContext.registerFormatter( |