blob: c70129e5095c52b3e155fa54e1b3eb9cb99403e2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
import org.aspectj.lang.*;
import org.aspectj.lang.reflect.*;
import java.lang.reflect.Method;
//import java.lang.reflect.InvocationTargetException; <- crash with this line commented out
public aspect MissingImport {
Object around() :
call(* *(..)) && !within(ImposterProcessing+) {
MethodSignature sig = (MethodSignature)thisJoinPoint.getSignature();
try {
Method meth = ImposterProcessing.class.getMethod("dynamicThrow", new Class[] { Throwable.class });
meth.invoke(this, new Object[] { null });
} catch (InvocationTargetException e) { // expect CE
throw new RuntimeException("framework error in throwing test exception ", e);
} catch (IllegalAccessException e) {
throw new RuntimeException("framework error in throwing test exception ", e);
}
return null;
}
}
class ImposterProcessing { }
|