12345678910111213141516171819202122 |
- 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 { }
|