1 package ch.ethz.prose.crosscut; 22 import java.lang.IllegalAccessException ; 23 import ch.ethz.jvmai.JoinPoint; 24 import java.lang.System ; 25 import java.lang.Object ; 26 import java.lang.reflect.InvocationTargetException ; 27 30 class WildcardWildcardMcutAdvice extends McutAdvice 31 { 32 private final MethodCut methodCut; 33 WildcardWildcardMcutAdvice(MethodCut methodCut, JoinPoint m, MethodCutSignaturePattern a) 34 {super(methodCut, m,a); 35 this.methodCut = methodCut;} 36 37 40 protected void execute() throws IllegalAccessException , InvocationTargetException 41 { 42 ANY adviceThis = new ANY(); 43 adviceThis.setObject(stackArgs[0]); 44 REST adviceRest = new REST(); 45 Object [] restParams = new Object [stackArgsLength - 1 ]; 46 System.arraycopy(stackArgs,1,restParams,0,restParams.length); 47 adviceRest.setObject(restParams); 48 advice.methodObj.invoke(methodCut,new Object []{adviceThis,adviceRest}); 49 } 50 } 51 | Popular Tags |