aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src
diff options
context:
space:
mode:
authorAlexander Kriegisch <Alexander@Kriegisch.name>2023-01-06 01:20:55 +0100
committerAlexander Kriegisch <Alexander@Kriegisch.name>2023-01-06 01:42:01 +0100
commit438eb9301014ffb63bbcbae4df684a2907ac91d5 (patch)
treec1f8053093ea931a0b65355aa110490432b34ffb /tests/src
parente0a1525ebd9f0f3b806c323223d4776c1275e899 (diff)
downloadaspectj-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.java4
-rw-r--r--tests/src/test/resources/org/aspectj/systemtest/ajc1919/ajc1919.xml18
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>