import org.apache.bcel.generic.BranchHandle;
import org.apache.bcel.generic.BranchInstruction;
import org.apache.bcel.generic.CPInstruction;
+import org.apache.bcel.generic.ClassGenException;
import org.apache.bcel.generic.CodeExceptionGen;
import org.apache.bcel.generic.Instruction;
import org.apache.bcel.generic.InstructionHandle;
import org.apache.bcel.generic.ObjectType;
import org.apache.bcel.generic.Select;
import org.apache.bcel.generic.Type;
+import org.aspectj.bridge.IMessage;
import org.aspectj.weaver.AjAttribute;
import org.aspectj.weaver.BCException;
import org.aspectj.weaver.ISourceContext;
}
public Method getMethod() {
- MethodGen gen = pack();
- return gen.getMethod();
+ try {
+ MethodGen gen = pack();
+ return gen.getMethod();
+ } catch (ClassGenException e) {
+ enclosingClass.getBcelObjectType().getResolvedTypeX().getWorld().showMessage(
+ IMessage.ERROR, "problem generating method " +
+ this.getClassName() + "." + this.getName() + ": " + e.getMessage(),
+ this.getMemberView() == null ? null : this.getMemberView().getSourceLocation(), null);
+ throw e;
+ }
+
}
// =============================