aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src
diff options
context:
space:
mode:
authorAlexander Kriegisch <Alexander@Kriegisch.name>2023-01-07 14:23:26 +0100
committerAlexander Kriegisch <Alexander@Kriegisch.name>2023-01-07 14:23:26 +0100
commit0e3d9f0dbc853b168cf84118490ddcb487f2aa0f (patch)
treea87009166d143eb755cb815e3f3c140b8d6ace28 /tests/src
parent09ada8dd884eb66911d58d1b76d7e1ae4ab145f2 (diff)
downloadaspectj-0e3d9f0dbc853b168cf84118490ddcb487f2aa0f.tar.gz
aspectj-0e3d9f0dbc853b168cf84118490ddcb487f2aa0f.zip
Refactor, comment and reactivate Ajc183Tests.testAnnoStyleDecp_442425
This test was always inactive and did not add any value other than during development. No it runs, passes and documents the status quo of - what was fixed (regression for AJC 1.8.2 core dump fixed in 1.8.3), - the current limitations of @DeclareParents and @DeclareMixin regarding generic interfaces. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
Diffstat (limited to 'tests/src')
-rw-r--r--tests/src/test/java/org/aspectj/systemtest/ajc183/Ajc183Tests.java8
-rw-r--r--tests/src/test/resources/org/aspectj/systemtest/ajc183/ajc183.xml35
2 files changed, 24 insertions, 19 deletions
diff --git a/tests/src/test/java/org/aspectj/systemtest/ajc183/Ajc183Tests.java b/tests/src/test/java/org/aspectj/systemtest/ajc183/Ajc183Tests.java
index 1afdde23c..0311ab124 100644
--- a/tests/src/test/java/org/aspectj/systemtest/ajc183/Ajc183Tests.java
+++ b/tests/src/test/java/org/aspectj/systemtest/ajc183/Ajc183Tests.java
@@ -78,10 +78,10 @@ public class Ajc183Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
public void testVerifyError_443447() {
runTest("verifyerror");
}
-//
-// public void testAnnoStyleDecp_442425() {
-// runTest("anno style decp");
-// }
+
+ public void testAnnoStyleDecp_442425() {
+ runTest("anno style decp");
+ }
// ---
diff --git a/tests/src/test/resources/org/aspectj/systemtest/ajc183/ajc183.xml b/tests/src/test/resources/org/aspectj/systemtest/ajc183/ajc183.xml
index 0e495139c..373340920 100644
--- a/tests/src/test/resources/org/aspectj/systemtest/ajc183/ajc183.xml
+++ b/tests/src/test/resources/org/aspectj/systemtest/ajc183/ajc183.xml
@@ -156,25 +156,30 @@
<ajc-test dir="bugs183/442425" title="anno style decp">
<compile options="-1.8" files="EntityController.java IEntityController.java MyAnnotatedController.java EntityControllerAspect.java EntityMongoController.java">
- <message kind="error" line="23" text="Type mismatch: cannot convert from MyAnnotatedController&lt;String&gt; to IEntityController&lt;String&gt;"/>
- <message kind="error" line="30" text="Cannot infer type arguments for MyAnnotatedController&lt;&gt;"/>
+ <!--
+ NOTE: As explained in https://bugs.eclipse.org/bugs/show_bug.cgi?id=442425#c2, @DeclareParents will add the
+ raw form of the parent to the target class, not the generic one. Therefore, without additional casts AJC would
+ throw the following two errors:
+ -->
+ <!--<message kind="error" line="26" text="Type mismatch: cannot convert from MyAnnotatedController&lt;String&gt; to IEntityController&lt;String&gt;"/>-->
+ <!--<message kind="error" line="38" text="Cannot infer type arguments for MyAnnotatedController&lt;&gt;"/>-->
</compile>
- <!--
- <run class="de.scrum_master.app.MyAnnotatedController">
- <stdout>
- <line text="Doing something"/>
- <line text="public static void de.scrum_master.app.MyAnnotatedController.main(java.lang.String[])"/>
- <line text="public void de.scrum_master.app.MyAnnotatedController.doSomething()"/>
- <line text="public java.lang.Object de.scrum_master.app.MyAnnotatedController.getEntity()"/>
- <line text="public void de.scrum_master.app.MyAnnotatedController.setEntity(java.lang.Object)"/>
- <line text="Entity value = foo"/>
- <line text="Entity value = 123"/>
- </stdout>
+ <run class="MyAnnotatedController">
+ <stdout ordered="no">
+ <line text="Doing something"/>
+ <line text="public static void MyAnnotatedController.main(java.lang.String[])"/>
+ <line text="public void MyAnnotatedController.doSomething()"/>
+ <!-- Object, not generic type -->
+ <line text="public java.lang.Object MyAnnotatedController.getEntity()"/>
+ <!-- Object, not generic type -->
+ <line text="public void MyAnnotatedController.setEntity(java.lang.Object)"/>
+ <line text="Entity value = foo"/>
+ <line text="Entity value = 123"/>
+ </stdout>
</run>
- -->
</ajc-test>
- <ajc-test dir="bugs183/443477" title="verifyerror">
+ <ajc-test dir="bugs183/443477" title="verifyerror">
<compile options="-1.7" files="Coo.java"/>
<run class="Coo"/>
</ajc-test>