aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraclement <aclement>2006-08-08 13:50:57 +0000
committeraclement <aclement>2006-08-08 13:50:57 +0000
commit039be6888f9ec674a0bbb0f5fc37486f8565fece (patch)
treea867ef7e3b451da5fa14a5977410b47f8f97fb93
parenta38edd39a8e998a22b41a0cf1928493aa0755e65 (diff)
downloadaspectj-039be6888f9ec674a0bbb0f5fc37486f8565fece.tar.gz
aspectj-039be6888f9ec674a0bbb0f5fc37486f8565fece.zip
patches from 152161
-rw-r--r--loadtime/src/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.java1
-rw-r--r--loadtime/src/org/aspectj/weaver/loadtime/Options.java9
-rw-r--r--tests/ltw/aop-xset-verbose.xml5
-rw-r--r--tests/ltw/aop-xset.xml4
-rw-r--r--tests/src/org/aspectj/systemtest/ajc150/ltw/LTWTests.java7
-rw-r--r--tests/src/org/aspectj/systemtest/ajc150/ltw/ltw-tests.xml22
6 files changed, 46 insertions, 2 deletions
diff --git a/loadtime/src/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.java b/loadtime/src/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.java
index 75775e5ea..47b9368c6 100644
--- a/loadtime/src/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.java
+++ b/loadtime/src/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.java
@@ -251,6 +251,7 @@ public class ClassLoaderWeavingAdaptor extends WeavingAdaptor {
world.setOptionalJoinpoints(weaverOption.optionalJoinpoints);
world.setPinpointMode(weaverOption.pinpoint);
weaver.setReweavableMode(weaverOption.notReWeavable);
+ world.performExtraConfiguration(weaverOption.xSet);
world.setXnoInline(weaverOption.noInline);
// AMC - autodetect as per line below, needed for AtAjLTWTests.testLTWUnweavable
world.setBehaveInJava5Way(LangUtil.is15VMOrGreater());
diff --git a/loadtime/src/org/aspectj/weaver/loadtime/Options.java b/loadtime/src/org/aspectj/weaver/loadtime/Options.java
index 0c1a99b54..67265343f 100644
--- a/loadtime/src/org/aspectj/weaver/loadtime/Options.java
+++ b/loadtime/src/org/aspectj/weaver/loadtime/Options.java
@@ -45,7 +45,7 @@ public class Options {
private static final String OPTIONVALUED_Xlintfile = "-Xlintfile:";
private static final String OPTIONVALUED_Xlint = "-Xlint:";
private static final String OPTIONVALUED_joinpoints = "-Xjoinpoints:";
-
+ private static final String OPTIONVALUED_Xset = "-Xset:";
public static WeaverOption parse(String options, ClassLoader laoder, IMessageHandler imh) {
WeaverOption weaverOption = new WeaverOption(imh);
@@ -118,6 +118,10 @@ public class Options {
if (arg.length() > OPTIONVALUED_Xlint.length()) {
weaverOption.lint = arg.substring(OPTIONVALUED_Xlint.length()).trim();
}
+ } else if (arg.startsWith(OPTIONVALUED_Xset)) {
+ if (arg.length() > OPTIONVALUED_Xlint.length()) {
+ weaverOption.xSet = arg.substring(OPTIONVALUED_Xset.length()).trim();
+ }
} else {
weaverOption.messageHandler.handleMessage(
new Message(
@@ -145,7 +149,7 @@ public class Options {
}
public static class WeaverOption {
- boolean java5;
+ boolean java5;
boolean lazyTjp;
boolean hasMember;
String optionalJoinpoints;
@@ -160,6 +164,7 @@ public class Options {
IMessageHandler messageHandler;
String lint;
String lintFile;
+ String xSet;
public WeaverOption(IMessageHandler imh) {
// messageHandler = new DefaultMessageHandler();//default
diff --git a/tests/ltw/aop-xset-verbose.xml b/tests/ltw/aop-xset-verbose.xml
new file mode 100644
index 000000000..e83ad709d
--- /dev/null
+++ b/tests/ltw/aop-xset-verbose.xml
@@ -0,0 +1,5 @@
+<aspectj>
+ <weaver options="-Xset:pipelineCompilation=false -verbose -showWeaveInfo -Xlintfile:Xlint-empty.properties"/>
+ <aspect name="Aspect1"/>
+</aspectj>
+
diff --git a/tests/ltw/aop-xset.xml b/tests/ltw/aop-xset.xml
new file mode 100644
index 000000000..dcad617ab
--- /dev/null
+++ b/tests/ltw/aop-xset.xml
@@ -0,0 +1,4 @@
+<aspectj>
+ <weaver options="-Xset:runMinimalMemory=true,pipelineCompilation=true,captureAllContext=false,activateLightweightDelegates=true,debugStructuralChangesCode=false,debugBridging=false -Xlintfile:Xlint-empty.properties"/>
+</aspectj>
+
diff --git a/tests/src/org/aspectj/systemtest/ajc150/ltw/LTWTests.java b/tests/src/org/aspectj/systemtest/ajc150/ltw/LTWTests.java
index 73b6eebd1..5097fa861 100644
--- a/tests/src/org/aspectj/systemtest/ajc150/ltw/LTWTests.java
+++ b/tests/src/org/aspectj/systemtest/ajc150/ltw/LTWTests.java
@@ -65,6 +65,13 @@ public class LTWTests extends org.aspectj.testing.XMLBasedAjcTestCase {
runTest("Ensure weaver lint warning issued when an aspect is not used for weaving");
}
+ public void testXsetEnabled () {
+ runTest("Set Xset properties enabled");
+ }
+ public void testXsetDisabled () {
+ runTest("Set Xset properties disabled");
+ }
+
public void testXlintfileEmpty () {
runTest("Empty Xlint.properties file");
}
diff --git a/tests/src/org/aspectj/systemtest/ajc150/ltw/ltw-tests.xml b/tests/src/org/aspectj/systemtest/ajc150/ltw/ltw-tests.xml
index bc7120870..976d36e64 100644
--- a/tests/src/org/aspectj/systemtest/ajc150/ltw/ltw-tests.xml
+++ b/tests/src/org/aspectj/systemtest/ajc150/ltw/ltw-tests.xml
@@ -235,6 +235,28 @@
</ajc-test>
<ajc-test dir="ltw"
+ title="Set Xset properties enabled"
+ keywords="xSet, ltw">
+ <compile
+ files="Main.java,Aspect1.aj"
+ >
+ </compile>
+ <run class="Main" ltw="aop-xset-verbose.xml" xlintfile="Xlint-empty.properties">
+ </run>
+ </ajc-test>
+
+ <ajc-test dir="ltw"
+ title="Set Xset properties disabled"
+ keywords="xSet, ltw">
+ <compile
+ files="Main.java,Aspect1.aj"
+ >
+ </compile>
+ <run class="Main" ltw="aop-xset-verbose.xml" xlintfile="Xlint-empty.properties">
+ </run>
+ </ajc-test>
+
+ <ajc-test dir="ltw"
title="Warning with missing Xlint.properties file"
keywords="xlint, ltw">
<compile