public void visitMaxs(int maxStack, int maxLocals) { if (!TypeUtils.isAbstract(state.access)) { mv.visitMaxs(0, 0); } }
public void begin_class(int version, int access, String className, Type superType, Type[] interfaces, String sourceFile) { if (!TypeUtils.isAbstract(access)) { interfaces = TypeUtils.add(interfaces, FIELD_PROVIDER); } this.access = access; fields = new HashMap(); super.begin_class(version, access, className, superType, interfaces, sourceFile); }
public void end_class() { if (!TypeUtils.isAbstract(getAccess())) { EmitUtils.add_properties(this, names, types); } super.end_class(); } }
public CodeEmitter begin_method(int access, final Signature sig, final Type[] exceptions) { CodeEmitter e = super.begin_method(access, sig, exceptions); if (TypeUtils.isAbstract(access) || sig.equals(Constants.SIG_STATIC)) { return e; } return new CodeEmitter(e) { private Block handler; /* init */ { handler = begin_block(); } public void visitMaxs(int maxStack, int maxLocals) { handler.end(); EmitUtils.wrap_undeclared_throwable(this, handler, exceptions, wrapper); super.visitMaxs(maxStack, maxLocals); } }; } }
private static void superHelper(CodeEmitter e, MethodInfo method) { if (TypeUtils.isAbstract(method.getModifiers())) { e.throw_exception(ABSTRACT_METHOD_ERROR, method.toString() + " is abstract" ); } else { e.load_this(); e.load_args(); e.super_invoke(method.getSignature()); } }
public CodeEmitter beginMethod(ClassEmitter ce, MethodInfo method) { CodeEmitter e = EmitUtils.begin_method(ce, method); if (!interceptDuringConstruction && !TypeUtils.isAbstract(method.getModifiers())) { Label constructed = e.make_label(); e.load_this(); e.getfield(CONSTRUCTED_FIELD); e.if_jump(e.NE, constructed); e.load_this(); e.load_args(); e.super_invoke(); e.return_value(); e.mark(constructed); } return e; } };
public void visitMaxs(int maxStack, int maxLocals) { if (!TypeUtils.isAbstract(state.access)) { mv.visitMaxs(0, 0); } }
public void begin_class(int version, int access, String className, Type superType, Type[] interfaces, String sourceFile) { if (!TypeUtils.isAbstract(access)) { interfaces = TypeUtils.add(interfaces, FIELD_PROVIDER); } this.access = access; fields = new HashMap(); super.begin_class(version, access, className, superType, interfaces, sourceFile); }
public void end_class() { if (!TypeUtils.isAbstract(getAccess())) { EmitUtils.add_properties(this, names, types); } super.end_class(); } }
public CodeEmitter begin_method(int access, final Signature sig, final Type[] exceptions) { CodeEmitter e = super.begin_method(access, sig, exceptions); if (TypeUtils.isAbstract(access) || sig.equals(Constants.SIG_STATIC)) { return e; } return new CodeEmitter(e) { private Block handler; /* init */ { handler = begin_block(); } public void visitMaxs(int maxStack, int maxLocals) { handler.end(); EmitUtils.wrap_undeclared_throwable(this, handler, exceptions, wrapper); super.visitMaxs(maxStack, maxLocals); } }; } }
private static void superHelper(CodeEmitter e, MethodInfo method) { if (TypeUtils.isAbstract(method.getModifiers())) { e.throw_exception(ABSTRACT_METHOD_ERROR, method.toString() + " is abstract" ); } else { e.load_this(); e.load_args(); e.super_invoke(method.getSignature()); } }
public CodeEmitter beginMethod(ClassEmitter ce, MethodInfo method) { CodeEmitter e = EmitUtils.begin_method(ce, method); if (!interceptDuringConstruction && !TypeUtils.isAbstract(method.getModifiers())) { Label constructed = e.make_label(); e.load_this(); e.getfield(CONSTRUCTED_FIELD); e.if_jump(e.NE, constructed); e.load_this(); e.load_args(); e.super_invoke(); e.return_value(); e.mark(constructed); } return e; } };