diff options
author | Andy Clement <aclement@gopivotal.com> | 2014-05-12 12:18:46 -0700 |
---|---|---|
committer | Andy Clement <aclement@gopivotal.com> | 2014-05-12 12:18:46 -0700 |
commit | 70f2e6d63556b1ca0158021045348fca2ea4fc86 (patch) | |
tree | cd1dafd8b97b56780fa93b95d9bda08c99409339 /tests | |
parent | e5d3d2fa37191a77c003a1a4c6a5b867f3e549cb (diff) | |
download | aspectj-70f2e6d63556b1ca0158021045348fca2ea4fc86.tar.gz aspectj-70f2e6d63556b1ca0158021045348fca2ea4fc86.zip |
377096: Fix for corrupt annotation creation
Diffstat (limited to 'tests')
4 files changed, 23 insertions, 0 deletions
diff --git a/tests/bugs181/377096/A.java b/tests/bugs181/377096/A.java new file mode 100644 index 000000000..78d21d8ed --- /dev/null +++ b/tests/bugs181/377096/A.java @@ -0,0 +1,7 @@ +@interface A { + int i(); +} +class C { + @A(wibble={},i=42) + public void xxx() {} +}
\ No newline at end of file diff --git a/tests/src/org/aspectj/systemtest/ajc180/AllTestsAspectJ180.java b/tests/src/org/aspectj/systemtest/ajc180/AllTestsAspectJ180.java index 453c057eb..81be509a7 100644 --- a/tests/src/org/aspectj/systemtest/ajc180/AllTestsAspectJ180.java +++ b/tests/src/org/aspectj/systemtest/ajc180/AllTestsAspectJ180.java @@ -10,6 +10,8 @@ *******************************************************************************/ package org.aspectj.systemtest.ajc180; +import org.aspectj.systemtest.ajc181.Ajc181Tests; + import junit.framework.Test; import junit.framework.TestSuite; @@ -19,6 +21,7 @@ public class AllTestsAspectJ180 { TestSuite suite = new TestSuite("AspectJ 1.8.0 tests"); // $JUnit-BEGIN$ suite.addTest(Ajc180Tests.suite()); + suite.addTest(Ajc181Tests.suite()); // $JUnit-END$ return suite; } diff --git a/tests/src/org/aspectj/systemtest/ajc181/Ajc181Tests.java b/tests/src/org/aspectj/systemtest/ajc181/Ajc181Tests.java index c4737e945..2bc5e0c0c 100644 --- a/tests/src/org/aspectj/systemtest/ajc181/Ajc181Tests.java +++ b/tests/src/org/aspectj/systemtest/ajc181/Ajc181Tests.java @@ -14,6 +14,7 @@ import java.io.File; import junit.framework.Test; +import org.aspectj.apache.bcel.classfile.Method; import org.aspectj.testing.XMLBasedAjcTestCase; /** @@ -21,6 +22,12 @@ import org.aspectj.testing.XMLBasedAjcTestCase; */ public class Ajc181Tests extends org.aspectj.testing.XMLBasedAjcTestCase { + public void testBrokenAnnotations_377096() throws Exception { + runTest("broken annotations"); + Method method = getMethodFromClass(getClassFrom(ajc.getSandboxDirectory(), "C"), "xxx"); + method.getAnnotations(); + } + public void testDefaultMethods_433744() { runTest("default methods"); } diff --git a/tests/src/org/aspectj/systemtest/ajc181/ajc181.xml b/tests/src/org/aspectj/systemtest/ajc181/ajc181.xml index 67646093b..cd2066506 100644 --- a/tests/src/org/aspectj/systemtest/ajc181/ajc181.xml +++ b/tests/src/org/aspectj/systemtest/ajc181/ajc181.xml @@ -2,6 +2,12 @@ <suite> + <ajc-test dir="bugs181/377096" title="broken annotations"> + <compile options="-1.5 -proceedOnError" files="A.java"> + <message kind="error" text="The attribute wibble is undefined for the annotation type A"/> + </compile> + </ajc-test> + <ajc-test dir="bugs181/433744" title="default methods"> <compile options="-1.8" files="AnIterator.java"/> </ajc-test> |