summaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoraclement <aclement>2006-03-14 15:58:07 +0000
committeraclement <aclement>2006-03-14 15:58:07 +0000
commite1919580e5e3179e42e589292c178f3eb1ac2966 (patch)
treedeb58f52e0571d0dcb75afbc81ca9b080ee10627 /weaver
parente0ecf9f86727f0cc326d54da923a397b9be7f41b (diff)
downloadaspectj-e1919580e5e3179e42e589292c178f3eb1ac2966.tar.gz
aspectj-e1919580e5e3179e42e589292c178f3eb1ac2966.zip
plugged into the lifecycle method for evicting bcel state.
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/tools/WeavingAdaptor.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/weaver/src/org/aspectj/weaver/tools/WeavingAdaptor.java b/weaver/src/org/aspectj/weaver/tools/WeavingAdaptor.java
index 2934e6c6f..2d3999fd8 100644
--- a/weaver/src/org/aspectj/weaver/tools/WeavingAdaptor.java
+++ b/weaver/src/org/aspectj/weaver/tools/WeavingAdaptor.java
@@ -41,6 +41,7 @@ import org.aspectj.util.FileUtil;
import org.aspectj.util.LangUtil;
import org.aspectj.weaver.IClassFileProvider;
import org.aspectj.weaver.IWeaveRequestor;
+import org.aspectj.weaver.bcel.BcelObjectType;
import org.aspectj.weaver.bcel.BcelWeaver;
import org.aspectj.weaver.bcel.BcelWorld;
import org.aspectj.weaver.bcel.UnwovenClassFile;
@@ -460,6 +461,7 @@ public class WeavingAdaptor {
private List unwovenClasses = new ArrayList(); /* List<UnovenClassFile> */
private UnwovenClassFile wovenClass;
private boolean isApplyAtAspectJMungersOnly = false;
+ private BcelObjectType delegate;
public WeavingClassFileProvider (String name, byte[] bytes) {
this.unwovenClass = new UnwovenClassFile(name,bytes);
@@ -469,7 +471,7 @@ public class WeavingAdaptor {
dump(name, bytes, true);
}
- bcelWorld.addSourceObjectType(unwovenClass.getJavaClass());
+ delegate = bcelWorld.addSourceObjectType(unwovenClass.getJavaClass());
}
public void setApplyAtAspectJMungersOnly() {
@@ -518,7 +520,9 @@ public class WeavingAdaptor {
public void weavingClasses() {}
- public void weaveCompleted() {}
+ public void weaveCompleted() {
+ if (delegate!=null) delegate.weavingCompleted();
+ }
};
}
}