diff options
author | jhugunin <jhugunin> | 2003-04-24 21:05:44 +0000 |
---|---|---|
committer | jhugunin <jhugunin> | 2003-04-24 21:05:44 +0000 |
commit | 598c72655e13bc4f65d2e357ab645b05b69821ca (patch) | |
tree | fb411c9493c52877a5d2480a0e668f3aec8242b8 /tests/new | |
parent | 2b231e9fb3e1c1edbca2c28865e7e0901c98c0de (diff) | |
download | aspectj-598c72655e13bc4f65d2e357ab645b05b69821ca.tar.gz aspectj-598c72655e13bc4f65d2e357ab645b05b69821ca.zip |
expanded tests and fix for
Bugzilla Bug 36778
ClassFormatError due to empty interface supertype
Diffstat (limited to 'tests/new')
-rw-r--r-- | tests/new/EmptyInterface.java | 9 | ||||
-rw-r--r-- | tests/new/EmptyInterfaceCE.java | 32 |
2 files changed, 37 insertions, 4 deletions
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() {} +} |