diff options
author | Andy Clement <aclement@pivotal.io> | 2015-09-02 09:49:22 -0700 |
---|---|---|
committer | Andy Clement <aclement@pivotal.io> | 2015-09-02 09:49:22 -0700 |
commit | a9ea7010ab7075d934aeb49d48dec33d48b722c4 (patch) | |
tree | b20190f922e7d3d434d9f4cac2f95a0794aa20c1 /tests | |
parent | 415ef622d9435806ef0736341402772487deed23 (diff) | |
download | aspectj-a9ea7010ab7075d934aeb49d48dec33d48b722c4.tar.gz aspectj-a9ea7010ab7075d934aeb49d48dec33d48b722c4.zip |
Bug 475152 - infinite loop during build time weaving when more than 2 aspects in hierarchy at org.aspectj.weaver.bcel.BcelAdvice.canInline
Diffstat (limited to 'tests')
-rw-r--r-- | tests/bugs187/475152/AbstractAspect.aj | 5 | ||||
-rw-r--r-- | tests/bugs187/475152/AjTarget.java | 9 | ||||
-rw-r--r-- | tests/bugs187/475152/BaseAspect.aj | 15 | ||||
-rw-r--r-- | tests/bugs187/475152/TestAspect.aj | 5 | ||||
-rw-r--r-- | tests/bugs187/475152/TestClass.java | 11 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc187/Ajc187Tests.java | 4 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc187/ajc187.xml | 4 |
7 files changed, 53 insertions, 0 deletions
diff --git a/tests/bugs187/475152/AbstractAspect.aj b/tests/bugs187/475152/AbstractAspect.aj new file mode 100644 index 000000000..7003b8bf5 --- /dev/null +++ b/tests/bugs187/475152/AbstractAspect.aj @@ -0,0 +1,5 @@ +package ajtest; + +public abstract aspect AbstractAspect extends BaseAspect { + +} diff --git a/tests/bugs187/475152/AjTarget.java b/tests/bugs187/475152/AjTarget.java new file mode 100644 index 000000000..c025185ba --- /dev/null +++ b/tests/bugs187/475152/AjTarget.java @@ -0,0 +1,9 @@ +package ajtest; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.RUNTIME) +public @interface AjTarget { + +} diff --git a/tests/bugs187/475152/BaseAspect.aj b/tests/bugs187/475152/BaseAspect.aj new file mode 100644 index 000000000..ddfaa3183 --- /dev/null +++ b/tests/bugs187/475152/BaseAspect.aj @@ -0,0 +1,15 @@ +package ajtest; + +import java.lang.reflect.Field; + +import ajtest.AjTarget; + +public abstract aspect BaseAspect { + + protected pointcut mapped(Object obj) : get(@(AjTarget) Long *) && target(obj); + + Object around(Object obj) : mapped(obj) { + Object value = proceed(obj); + return value; + } +} diff --git a/tests/bugs187/475152/TestAspect.aj b/tests/bugs187/475152/TestAspect.aj new file mode 100644 index 000000000..be1adeaf0 --- /dev/null +++ b/tests/bugs187/475152/TestAspect.aj @@ -0,0 +1,5 @@ +package ajtest; + +public aspect TestAspect extends AbstractAspect { + +} diff --git a/tests/bugs187/475152/TestClass.java b/tests/bugs187/475152/TestClass.java new file mode 100644 index 000000000..1b13a90e1 --- /dev/null +++ b/tests/bugs187/475152/TestClass.java @@ -0,0 +1,11 @@ +package ajtest; + +public class TestClass { + @AjTarget + private Long test; + + public void testMethod() { + Object o = test; + System.out.println(o); + } +} diff --git a/tests/src/org/aspectj/systemtest/ajc187/Ajc187Tests.java b/tests/src/org/aspectj/systemtest/ajc187/Ajc187Tests.java index 4907eeafe..ece3240e0 100644 --- a/tests/src/org/aspectj/systemtest/ajc187/Ajc187Tests.java +++ b/tests/src/org/aspectj/systemtest/ajc187/Ajc187Tests.java @@ -24,6 +24,10 @@ import org.aspectj.testing.XMLBasedAjcTestCase; */ public class Ajc187Tests extends org.aspectj.testing.XMLBasedAjcTestCase { + public void testInfiniteLoop_475152() throws Exception { + runTest("infinite loop"); + } + public void testAnnoConversion_474165() throws Exception { runTest("anno conversion"); } diff --git a/tests/src/org/aspectj/systemtest/ajc187/ajc187.xml b/tests/src/org/aspectj/systemtest/ajc187/ajc187.xml index ccf87e34f..e6db6d5e5 100644 --- a/tests/src/org/aspectj/systemtest/ajc187/ajc187.xml +++ b/tests/src/org/aspectj/systemtest/ajc187/ajc187.xml @@ -2,6 +2,10 @@ <suite> +<ajc-test dir="bugs187/475152" title="infinite loop"> +<compile files="AbstractAspect.aj, BaseAspect.aj, TestClass.java, AjTarget.java, TestAspect.aj" options="-1.8"/> +</ajc-test> + <ajc-test dir="bugs187/469889" title="broken java"> <!-- <compile files="A.java B.java AbstractA.java BImpl.java Main.java" options="-1.8"/> |