Browse Source

fix for 120739

tags/V1_5_2rc1
mwebster 18 years ago
parent
commit
4513e921c8

+ 16
- 4
loadtime/src/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.java View File

@@ -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));
}
}

/**

+ 5
- 0
tests/java5/ataspectj/ataspectj/EmptyAspect.aj View File

@@ -0,0 +1,5 @@
package ataspectj;

public aspect EmptyAspect {
}

+ 3
- 0
tests/java5/ataspectj/ataspectj/aop-dump.xml View File

@@ -1,5 +1,8 @@
<?xml version="1.0"?>
<aspectj>
<aspects>
<aspect name="ataspectj.EmptyAspect"/>
</aspects>
<weaver options="-XmessageHandlerClass:ataspectj.TestHelper">
<dump within="ataspectj.DumpTestThe*"/>
</weaver>

+ 3
- 0
tests/java5/ataspectj/ataspectj/aop-dumpbeforeandafter.xml View File

@@ -1,5 +1,8 @@
<?xml version="1.0"?>
<aspectj>
<aspects>
<aspect name="ataspectj.EmptyAspect"/>
</aspects>
<weaver options="-XlazyTjp -verbose">
<dump within="com.foo.bar..*" beforeandafter="true"/>
<include within="com.foo..*"/>

+ 3
- 0
tests/java5/ataspectj/ataspectj/aop-dumpproxy.xml View File

@@ -1,5 +1,8 @@
<?xml version="1.0"?>
<aspectj>
<aspects>
<aspect name="ataspectj.EmptyAspect"/>
</aspects>
<weaver>
<!--
<dump within="*..*Proxy*" beforeandafter="true"/>

+ 9
- 0
tests/java5/ataspectj/ataspectj/ltwreweavable/EmptyAtAspect.java View File

@@ -0,0 +1,9 @@
package ataspectj.ltwreweavable;

import org.aspectj.lang.annotation.Aspect;

@Aspect
public class EmptyAtAspect {

}

+ 1
- 0
tests/java5/ataspectj/ataspectj/ltwreweavable/aop-ltwreweavable-declared.xml View File

@@ -2,5 +2,6 @@
<weaver options="-XmessageHandlerClass:ataspectj.ltwlog.MessageHolder"/>
<aspects>
<aspect name="ataspectj.ltwreweavable.AspectReweavableLogging"/>
<aspect name="ataspectj.ltwreweavable.EmptyAtAspect"/>
</aspects>
</aspectj>

+ 3
- 1
tests/java5/ataspectj/ataspectj/ltwreweavable/aop-ltwreweavable-omitted.xml View File

@@ -1,5 +1,7 @@
<aspectj>
<weaver options="-XmessageHandlerClass:ataspectj.ltwlog.MessageHolder"/>
<!--aspect is not declared here so as to produce an error -->
<aspects/>
<aspects>
<aspect name="ataspectj.ltwreweavable.EmptyAtAspect"/>
</aspects>
</aspectj>

+ 3
- 0
tests/ltw/aop-optionsonly.xml View File

@@ -0,0 +1,3 @@
<aspectj>
<weaver options="-verbose"/>
</aspectj>

+ 11
- 1
tests/src/org/aspectj/systemtest/ajc150/ataspectj/ltw.xml View File

@@ -87,6 +87,9 @@
</ajc-test>

<ajc-test dir="java5/ataspectj" title="LTW DumpTest">
<compile
files="ataspectj/EmptyAspect.aj"
options="-1.5 -Xlint:ignore"/>
<compile
files="ataspectj/DumpTest.java,ataspectj/DumpTestTheDump.java,ataspectj/TestHelper.java"
options="-1.5"/>
@@ -94,6 +97,9 @@
</ajc-test>
<ajc-test dir="java5/ataspectj" title="LTW DumpTest before and after">
<compile
files="ataspectj/EmptyAspect.aj"
options="-1.5 -Xlint:ignore"/>
<compile
files="com/foo/bar/Test.java, com/foo/bar/Test$$EnhancerByCGLIB$$12345.java"
options="-1.5"/>
@@ -106,6 +112,7 @@
<line text="info AspectJ Weaver Version"/>
<line text="info register classloader"/>
<line text="info using"/>
<line text="info register aspect ataspectj.EmptyAspect"/>
<line text="info weaving 'com.foo.bar.Test'"/>
</stderr>
</run>
@@ -119,6 +126,9 @@
</ajc-test>

<ajc-test dir="java5/ataspectj" title="LTW DumpTest proxy">
<compile
files="ataspectj/EmptyAspect.aj"
options="-1.5 -Xlint:ignore"/>
<compile
files="ataspectj/TestProxyGenerator.java,ataspectj/TestInterface.java"
options="-1.5"/>
@@ -250,7 +260,7 @@

<ajc-test dir="java5/ataspectj" title="Compile time aspects declared to ltw weaver">
<compile
files="ataspectj/ltwlog/MessageHolder.java,ataspectj/ltwreweavable/MainReweavableLogging.java,ataspectj/ltwreweavable/AspectReweavableLogging.java,ataspectj/ltwreweavable/Advisable.java"
files="ataspectj/ltwlog/MessageHolder.java,ataspectj/ltwreweavable/MainReweavableLogging.java,ataspectj/ltwreweavable/AspectReweavableLogging.java,ataspectj/ltwreweavable/Advisable.java,ataspectj/ltwreweavable/EmptyAtAspect.java"
options="-1.5"
outjar="main1.jar"/>
<ant file="ajc-ant.xml" target="ltw.oldAspectsDeclared" verbose="true"/>

+ 5
- 1
tests/src/org/aspectj/systemtest/ajc152/Ajc152Tests.java View File

@@ -15,7 +15,6 @@ import java.util.List;

import junit.framework.Test;

//import org.aspectj.systemtest.ajc150.GenericsTests;
import org.aspectj.asm.AsmManager;
import org.aspectj.asm.IHierarchy;
import org.aspectj.asm.IProgramElement;
@@ -133,6 +132,11 @@ public class Ajc152Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
// // public class Pair<F,S> affected by pertarget aspect
// GenericsTests.verifyClassSignature(ajc,"Pair","<F:Ljava/lang/Object;S:Ljava/lang/Object;>Ljava/lang/Object;LIdempotentCache$ajcMightHaveAspect;;");
// }
public void testNoAspects(){
// setSystemProperty(WeavingAdaptor.WEAVING_ADAPTOR_VERBOSE,"true");
runTest("Ensure no weaving without included aspects");
}

// tests that can't be included for some reason


+ 22
- 0
tests/src/org/aspectj/systemtest/ajc152/ajc152.xml View File

@@ -607,5 +607,27 @@
<!-- should check for expected stderr output here -->
</run>
</ajc-test>

<ajc-test dir="ltw"
title="Ensure no weaving without included aspects"
keywords="reweavable">
<compile
files="TestMain.java, Main.java"
>
</compile>
<run class="TestMain" ltw="aop-optionsonly.xml">
<stdout>
<line text="Main.main"/>
<line text="Main.test1"/>
<line text="Main.test2"/>
</stdout>
<stderr>
<line text="info AspectJ Weaver Version"/>
<line text="info register classloader org.aspectj.weaver.loadtime.WeavingURLClassLoader"/>
<line text="info using"/>
<line text="info no aspects registered. Disabling weaver for class loader org.aspectj.weaver.loadtime.WeavingURLClassLoader"/>
</stderr>
</run>
</ajc-test>
</suite>

Loading…
Cancel
Save