summaryrefslogtreecommitdiffstats
path: root/org.aspectj.ajdt.core
diff options
context:
space:
mode:
authoraclement <aclement>2004-10-12 16:24:10 +0000
committeraclement <aclement>2004-10-12 16:24:10 +0000
commit234bea2297cc780d5bf38ebbc4087e938cc3b6e8 (patch)
tree33014f9efe600b0eed5685d0a0054ba4d0771b36 /org.aspectj.ajdt.core
parent5c996fc559581581e9dde60a6f555aa3ff7cc042 (diff)
downloadaspectj-234bea2297cc780d5bf38ebbc4087e938cc3b6e8.tar.gz
aspectj-234bea2297cc780d5bf38ebbc4087e938cc3b6e8.zip
76030 - cflow optimizations. Part 2 fix - share counters and stacks when we can.
Diffstat (limited to 'org.aspectj.ajdt.core')
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java9
1 files changed, 7 insertions, 2 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 d7c1b9c2a..ccb9821b9 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
@@ -25,6 +25,7 @@ import org.aspectj.bridge.IMessageHandler;
import org.aspectj.bridge.IProgressListener;
import org.aspectj.weaver.bcel.BcelWeaver;
import org.aspectj.weaver.bcel.BcelWorld;
+import org.aspectj.weaver.patterns.CflowPointcut;
import org.aspectj.org.eclipse.jdt.internal.compiler.CompilationResult;
import org.aspectj.org.eclipse.jdt.internal.compiler.Compiler;
import org.aspectj.org.eclipse.jdt.internal.compiler.ICompilerAdapter;
@@ -235,8 +236,12 @@ public class AjCompilerAdapter implements ICompilerAdapter {
// addAllKnownClassesToWeaveList();
// resultsPendingWeave.addAll(getBinarySourcesFrom(binarySourceSetForFullWeave));
// }
-
- weaver.weave(new WeaverAdapter(this,weaverMessageHandler,progressListener));
+ try {
+ weaver.weave(new WeaverAdapter(this,weaverMessageHandler,progressListener));
+ } finally {
+ // ???: is this the right point for this? After weaving has finished clear the caches.
+ CflowPointcut.clearCaches();
+ }
}
private void addAllKnownClassesToWeaveList() {