aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorjhugunin <jhugunin>2003-04-24 21:05:44 +0000
committerjhugunin <jhugunin>2003-04-24 21:05:44 +0000
commit598c72655e13bc4f65d2e357ab645b05b69821ca (patch)
treefb411c9493c52877a5d2480a0e668f3aec8242b8 /tests
parent2b231e9fb3e1c1edbca2c28865e7e0901c98c0de (diff)
downloadaspectj-598c72655e13bc4f65d2e357ab645b05b69821ca.tar.gz
aspectj-598c72655e13bc4f65d2e357ab645b05b69821ca.zip
expanded tests and fix for
Bugzilla Bug 36778 ClassFormatError due to empty interface supertype
Diffstat (limited to 'tests')
-rw-r--r--tests/ajcTests.xml15
-rw-r--r--tests/ajcTestsFailing.xml6
-rw-r--r--tests/jimTests.xml6
-rw-r--r--tests/new/EmptyInterface.java9
-rw-r--r--tests/new/EmptyInterfaceCE.java32
5 files changed, 54 insertions, 14 deletions
diff --git a/tests/ajcTests.xml b/tests/ajcTests.xml
index 7bc3af750..4f869e5e4 100644
--- a/tests/ajcTests.xml
+++ b/tests/ajcTests.xml
@@ -5857,4 +5857,19 @@
<run class="TryFinallyInAround"/>
</ajc-test>
+ <ajc-test dir="new" pr="36778"
+ title="advise join points in subclass of empty interface">
+ <compile files="EmptyInterface.java"/>
+ <run class="EmptyInterface"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="36778"
+ title="can't put around advice on interface static initializer"
+ comment="this tests for a nice message given a compiler limitation">
+ <compile files="EmptyInterfaceCE.java">
+ <message kind="error" line="20"/>
+ <message kind="error" line="23"/>
+ </compile>
+ </ajc-test>
+
</suite>
diff --git a/tests/ajcTestsFailing.xml b/tests/ajcTestsFailing.xml
index ec15b0ad8..41665da25 100644
--- a/tests/ajcTestsFailing.xml
+++ b/tests/ajcTestsFailing.xml
@@ -4,11 +4,7 @@
<!-- contains valid tests that the compiler has never passed -->
<suite>
- <ajc-test dir="new" pr="36778"
- title="advise join points in subclass of empty interface">
- <compile files="EmptyInterface.java"/>
- <run class="EmptyInterface"/>
- </ajc-test>
+
</suite>
diff --git a/tests/jimTests.xml b/tests/jimTests.xml
index e350c7f7c..61e8777a6 100644
--- a/tests/jimTests.xml
+++ b/tests/jimTests.xml
@@ -1,10 +1,6 @@
<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd">
<suite>
- <ajc-test dir="bugs" pr="36056"
- title="Ajc 1.1 rc1 java.lang.VerifyError with messy arounds and naming">
- <compile files="AroundNames.java"/>
- <run class="AroundNames"/>
- </ajc-test>
+
<!--
diff --git a/tests/new/EmptyInterface.java b/tests/new/EmptyInterface.java
index db53d592a..aca01b6a8 100644
--- a/tests/new/EmptyInterface.java
+++ b/tests/new/EmptyInterface.java
@@ -17,11 +17,12 @@ public class EmptyInterface {
aspect Log {
static int hits;
static StringBuffer log = new StringBuffer();
- interface LoggedType {}
+ interface LoggedType {
+ }
declare parents: C implements LoggedType;
- void around() : within(LoggedType+)
- && !initialization(new(..))
- && !preinitialization(new(..)) // 1.1 only
+ after() : within(LoggedType+)
+ //&& !initialization(new(..))
+ //&& !preinitialization(new(..)) // 1.1 only
{
hits++;
log.append(thisJoinPoint + ";");
diff --git a/tests/new/EmptyInterfaceCE.java b/tests/new/EmptyInterfaceCE.java
new file mode 100644
index 000000000..4fdbbed33
--- /dev/null
+++ b/tests/new/EmptyInterfaceCE.java
@@ -0,0 +1,32 @@
+
+
+import org.aspectj.testing.Tester;
+
+/** @testcase PR#36778 advise join points in subclass of empty interface */
+public class EmptyInterfaceCE {
+
+ public static void main(String[] args) {
+ new C().go();
+ // at least constructor and method execution
+ if (2 > Log.hits) {
+ Tester.check(false, Log.log.toString());
+ }
+ }
+}
+
+aspect Log {
+ static int hits;
+ static StringBuffer log = new StringBuffer();
+ interface LoggedType {
+ }
+ declare parents: C implements LoggedType;
+ void around() : staticinitialization(LoggedType) // CE: limitation
+ {
+ hits++;
+ log.append(thisJoinPoint + ";");
+ }
+}
+
+class C {
+ void go() {}
+}