using NULL rather than empty list for abstract/native bodies
if (!(m.isAbstract() || m.isNative()) && m.getCode() == null) {
throw new RuntimeException("bad non-abstract method with no code: " + m + " on " + enclosingClass);
}
+ if ((m.isAbstract() || m.isNative()) && m.getCode() != null) {
+ throw new RuntimeException("bad abstract method with code: " + m + " on " + enclosingClass);
+ }
MethodGen gen = new MethodGen(m, enclosingClass.getName(), enclosingClass.getConstantPoolGen());
this.memberView = new BcelMethod(enclosingClass.getType(), m);
this.accessFlags = gen.getAccessFlags();
packBody(gen);
gen.setMaxLocals();
gen.setMaxStack();
+ } else {
+ gen.setInstructionList(null);
}
return gen;
}