/* 33 */ private static final Signature INVOKE = TypeUtils.parseSignature("Object invoke(Object, java.lang.reflect.Method, Object[])");
/* */
/* */ public void generate(ClassEmitter ce, CallbackGenerator.Context context, List methods)
/* */ {
/* 37 */ for (Iterator it = methods.iterator(); it.hasNext(); ) {
/* 38 */ MethodInfo method = (MethodInfo)it.next();
/* 39 */ Signature impl = context.getImplSignature(method);
/* 40 */ ce.declare_field(26, impl.getName(), METHOD, null, null);
/* */
/* 42 */ CodeEmitter e = context.beginMethod(ce, method);
/* 43 */ Block handler = e.begin_block();
/* 44 */ context.emitCallback(e, context.getIndex(method));
/* 45 */ e.load_this();
/* 46 */ e.getfield(impl.getName());
/* 47 */ e.create_arg_array();
/* 48 */ e.invoke_interface(INVOCATION_HANDLER, INVOKE);
/* 49 */ e.unbox(method.getSignature().getReturnType());
/* 50 */ e.return_value();
/* 51 */ handler.end();
/* 52 */ EmitUtils.wrap_undeclared_throwable(e, handler, method.getExceptionTypes(), UNDECLARED_THROWABLE_EXCEPTION);
/* 53 */ e.end_method();
/* */ }
/* */ }