|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- 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;
- throw new ArithmeticException();
- }
- }
-
- void m6() {}
- }
-
- aspect A {
- Object around(): execution(void C.m*(..)) {
- Tester.event(thisJoinPoint.toShortString());
- return proceed();
- }
- }
|