diff options
author | Alexander Kriegisch <Alexander@Kriegisch.name> | 2023-01-06 01:20:55 +0100 |
---|---|---|
committer | Alexander Kriegisch <Alexander@Kriegisch.name> | 2023-01-06 01:42:01 +0100 |
commit | 438eb9301014ffb63bbcbae4df684a2907ac91d5 (patch) | |
tree | c1f8053093ea931a0b65355aa110490432b34ffb /tests/src | |
parent | e0a1525ebd9f0f3b806c323223d4776c1275e899 (diff) | |
download | aspectj-438eb9301014ffb63bbcbae4df684a2907ac91d5.tar.gz aspectj-438eb9301014ffb63bbcbae4df684a2907ac91d5.zip |
No more compiler errors for implicitly static inner aspects of interfaces
Fixes #162. Contains regression test
Bugs1919Tests.testInterfaceInnerAspectImplicitlyStatic.
Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
Diffstat (limited to 'tests/src')
-rw-r--r-- | tests/src/test/java/org/aspectj/systemtest/ajc1919/Bugs1919Tests.java | 4 | ||||
-rw-r--r-- | tests/src/test/resources/org/aspectj/systemtest/ajc1919/ajc1919.xml | 18 |
2 files changed, 22 insertions, 0 deletions
diff --git a/tests/src/test/java/org/aspectj/systemtest/ajc1919/Bugs1919Tests.java b/tests/src/test/java/org/aspectj/systemtest/ajc1919/Bugs1919Tests.java index 7a13eaeea..ae3c54398 100644 --- a/tests/src/test/java/org/aspectj/systemtest/ajc1919/Bugs1919Tests.java +++ b/tests/src/test/java/org/aspectj/systemtest/ajc1919/Bugs1919Tests.java @@ -27,6 +27,10 @@ public class Bugs1919Tests extends XMLBasedAjcTestCase { runTest("parenthesised expression with AspectJ keyword"); } + public void testInterfaceInnerAspectImplicitlyStatic() { + runTest("inner aspect of interface is implicitly static"); + } + public static Test suite() { return XMLBasedAjcTestCase.loadSuite(Bugs1919Tests.class); } diff --git a/tests/src/test/resources/org/aspectj/systemtest/ajc1919/ajc1919.xml b/tests/src/test/resources/org/aspectj/systemtest/ajc1919/ajc1919.xml index 8754acd33..f89455941 100644 --- a/tests/src/test/resources/org/aspectj/systemtest/ajc1919/ajc1919.xml +++ b/tests/src/test/resources/org/aspectj/systemtest/ajc1919/ajc1919.xml @@ -204,4 +204,22 @@ </run> </ajc-test> + <!-- + 'inner aspects must be static' when compiling an interface with an inner aspect which was not explicitly declared + static, see https://github.com/eclipse/org.aspectj/issues/162 + --> + <ajc-test dir="bugs1919/github_162" vm="1.5" title="inner aspect of interface is implicitly static"> + <compile files="InterfaceWithInnerClass.java" options="-1.5 -showWeaveInfo"> + <message kind="weave" text="method-execution(int InterfaceWithInnerClass$ImplicitlyStatic.getNumber())' in Type 'InterfaceWithInnerClass$ImplicitlyStatic'"/> + <message kind="weave" text="method-execution(void InterfaceWithInnerClass$ImplicitlyStatic.main(java.lang.String[]))' in Type 'InterfaceWithInnerClass$ImplicitlyStatic'"/> + </compile> + <run class="InterfaceWithInnerClass$ImplicitlyStatic"> + <stdout> + <line text="execution(void InterfaceWithInnerClass.ImplicitlyStatic.main(String[]))"/> + <line text="execution(int InterfaceWithInnerClass.ImplicitlyStatic.getNumber())"/> + <line text="11"/> + </stdout> + </run> + </ajc-test> + </suite> |