final BlockInterfaceImpl ifaceImpl = new BlockInterfaceImpl(implClass, implBlock, methodNames); implClass.addMethod("method_missing", ifaceImpl); // def ImplClass.method_missing ... if ( methodNames == null ) { for ( Method method : ifaceClass.getMethods() ) { BlockInterfaceImpl.ConcreteMethod implMethod = ifaceImpl.getConcreteMethod(method.getName()); if ( method.isBridge() || method.isSynthetic() ) continue; if ( Modifier.isStatic( method.getModifiers() ) ) continue; loop: for ( IRubyObject methodName : methodNames ) { final String name = methodName.toString(); final BlockInterfaceImpl.ConcreteMethod implMethod = ifaceImpl.getConcreteMethod(name); for ( int i = 0; i < decMethods.length; i++ ) { final Method method = decMethods[i];
final BlockInterfaceImpl ifaceImpl = new BlockInterfaceImpl(implClass, implBlock, methodNames); implClass.addMethod("method_missing", ifaceImpl); // def ImplClass.method_missing ... if ( methodNames == null ) { for ( Method method : ifaceClass.getMethods() ) { BlockInterfaceImpl.ConcreteMethod implMethod = ifaceImpl.getConcreteMethod(method.getName()); if ( method.isBridge() || method.isSynthetic() ) continue; if ( Modifier.isStatic( method.getModifiers() ) ) continue; loop: for ( IRubyObject methodName : methodNames ) { final String name = methodName.toString(); final BlockInterfaceImpl.ConcreteMethod implMethod = ifaceImpl.getConcreteMethod(name); for ( int i = 0; i < decMethods.length; i++ ) { final Method method = decMethods[i];
@Override public final IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, Block block) { return callImpl(context, klazz, block); // avoids checkArgumentCount }
@Override public final IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block) { return callImpl(context, klazz, block, arg0, arg1, arg2); // avoids checkArgumentCount }
@Override public final IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg0, IRubyObject arg1, Block block) { return callImpl(context, klazz, block, arg0, arg1); // avoids checkArgumentCount }
@Override public final IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block) { return callImpl(context, klazz, block, arg0, arg1, arg2); // avoids checkArgumentCount }
@Override public final IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, Block block) { return callImpl(context, klazz, block); // avoids checkArgumentCount }
@Override public final IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg0, IRubyObject arg1, Block block) { return callImpl(context, klazz, block, arg0, arg1); // avoids checkArgumentCount }
@Override public final IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg0, Block block) { return callImpl(context, klazz, block, arg0); // avoids checkArgumentCount }
@Override public final IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg0, Block block) { return callImpl(context, klazz, block, arg0); // avoids checkArgumentCount }
@Override // method_missing impl public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject[] args, Block block) { Arity.checkArgumentCount(context.runtime, name, args.length, 1, -1); return callImpl(context, clazz, block, args); }
@Override // method_missing impl public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject[] args, Block block) { Arity.checkArgumentCount(context.runtime, name, args.length, 1, -1); return callImpl(context, clazz, block, args); }