diff options
Diffstat (limited to 'tests/new/AroundVoid.java')
-rw-r--r-- | tests/new/AroundVoid.java | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/tests/new/AroundVoid.java b/tests/new/AroundVoid.java new file mode 100644 index 000000000..8d4393c9d --- /dev/null +++ b/tests/new/AroundVoid.java @@ -0,0 +1,66 @@ +import org.aspectj.testing.Tester; + +public class AroundVoid { + public static void main(String[] args) { + C c = new C(); + try { + c.m1(); + } catch (RuntimeException exc) { + Tester.event("caught RuntimeException"); + } + c.m2(); + c.m3(true); + c.m4(true); + try { + c.m5(); + } catch (ArithmeticException exc) { + Tester.event("caught ArithmeticException"); + } + c.m6(); + + //Tester.printEvents(); + Tester.checkEventsFromFile("AroundVoid.out"); + } +} + +class C { + void m1() { + throw new RuntimeException("m1"); + } + + void m2() { + Tester.event("m2"); + } + + void m3(boolean test) { + if (test) { + return; + } else { + return; + } + } + + void m4(boolean test) { + if (test) { + return; + } else { + Tester.event("false"); + } + } + + void m5() { + while (true) { + int x = 0; + int y = 2/x; + } + } + + void m6() {} +} + +aspect A { + Object around(): execution(void C.m*(..)) { + Tester.event(thisJoinPoint.toShortString()); + return proceed(); + } +} |