diff options
Diffstat (limited to 'loadtime')
-rw-r--r-- | loadtime/src/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.java | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/loadtime/src/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.java b/loadtime/src/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.java index 1cff6f265..35277ba4d 100644 --- a/loadtime/src/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.java +++ b/loadtime/src/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.java @@ -122,11 +122,17 @@ public class ClassLoaderWeavingAdaptor extends WeavingAdaptor { // register the definitions registerDefinitions(weaver, loader, definitions); + if (enabled) { - //bcelWorld.setResolutionLoader(loader.getParent());//(ClassLoader)null);// - - // after adding aspects - weaver.prepareForWeave(); + //bcelWorld.setResolutionLoader(loader.getParent());//(ClassLoader)null);// + + // after adding aspects + weaver.prepareForWeave(); + } + else { + bcelWorld = null; + weaver = null; + } } /** @@ -368,6 +374,12 @@ public class ClassLoaderWeavingAdaptor extends WeavingAdaptor { } } } + + /* We didn't register any aspects so disable the adaptor */ + if (namespace == null) { + enabled = false; + info("no aspects registered. Disabling weaver for class loader " + getClassLoaderName(loader)); + } } /** |