aboutsummaryrefslogtreecommitdiffstats
path: root/tests/bugs153/pr162135/Foo.java
blob: 0d408e3c8c25bdb54f4a783aa881dc8361a25ad8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.lang.reflect.Field;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;

@Aspect public class Foo {

 static class X {
  public void m() {
    new RuntimeException("hello");
  }
 }
	
  public static void main(String[] argv) {
	    new X().m();
  }
		
  @Pointcut("call(Throwable+.new(String, ..)) && this(caller) && if()")
  public static boolean exceptionInitializer(Object caller) {
      System.out.println("In if(), is there a caller? "+(caller!=null?"yes":"no"));
      return true;
  }

  @Around("exceptionInitializer(caller)")
  public Object annotateException(ProceedingJoinPoint jp, Object caller) {
      return null;
  }
}