diff options
author | Alexander Kriegisch <Alexander@Kriegisch.name> | 2023-01-07 14:23:26 +0100 |
---|---|---|
committer | Alexander Kriegisch <Alexander@Kriegisch.name> | 2023-01-07 14:23:26 +0100 |
commit | 0e3d9f0dbc853b168cf84118490ddcb487f2aa0f (patch) | |
tree | a87009166d143eb755cb815e3f3c140b8d6ace28 /tests/src | |
parent | 09ada8dd884eb66911d58d1b76d7e1ae4ab145f2 (diff) | |
download | aspectj-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.java | 8 | ||||
-rw-r--r-- | tests/src/test/resources/org/aspectj/systemtest/ajc183/ajc183.xml | 35 |
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<String> to IEntityController<String>"/> - <message kind="error" line="30" text="Cannot infer type arguments for MyAnnotatedController<>"/> + <!-- + 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<String> to IEntityController<String>"/>--> + <!--<message kind="error" line="38" text="Cannot infer type arguments for MyAnnotatedController<>"/>--> </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> |