@see CGConst
*/
public final MethodGen addMethod(String name, Type ret, Type[] args, int flags) {
- MethodGen mg = new MethodGen(method(name, ret, args), flags);
+ MethodGen mg = new MethodGen(getType().method(name, ret, args), flags);
methods.addElement(mg);
return mg;
}
int numFields = i.readShort();
for(int j=0; j<numFields; j++) fields.addElement(new FieldGen(i, cp));
int numMethods = i.readShort();
- for(int j=0; j<numMethods; j++) methods.addElement(new MethodGen(this.getType(), i, cp);
+ for(int j=0; j<numMethods; j++) methods.addElement(new MethodGen(this.getType(), i, cp));
attributes = new AttrGen(i, cp);
// FEATURE: Support these
if (((flags & INTERFACE) != 0) || (flags & (ABSTRACT|NATIVE)) != 0) size = capacity = -1;
- maxLocals = Math.max(args.length + (flags&STATIC)==0 ? 1 : 0, 4);
+ maxLocals = Math.max(method.getNumArgs() + (flags&STATIC)==0 ? 1 : 0, 4);
}
MethodGen(Type.Class c, DataInput in, ConstantPool cp) throws IOException {
int length() { return 12 + targets.length * 4; } // 4bytes/target, hi, lo, default
}
- public static class Lookup extends Table {
+ public static class Lookup extends Switch {
public final int[] vals;
public Lookup(int size) {
super(size);