@Override public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2) { if (javaVarargsCallables != null) return call(context, self, clazz, name, new IRubyObject[] {arg0, arg1, arg2}); JavaProxy proxy = castJavaProxy(self); JavaConstructor constructor = (JavaConstructor)findCallableArityThree(self, name, arg0, arg1, arg2); Object cArg0 = convertArg(arg0, constructor, 0); Object cArg1 = convertArg(arg1, constructor, 1); Object cArg2 = convertArg(arg2, constructor, 2); proxy.setObject(constructor.newInstanceDirect(cArg0, cArg1, cArg2)); return self; }
@Override public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2) { if (javaVarargsCallables != null) return call(context, self, clazz, name, new IRubyObject[] {arg0, arg1, arg2}); JavaProxy proxy = castJavaProxy(self); JavaConstructor constructor = (JavaConstructor)findCallableArityThree(self, name, arg0, arg1, arg2); Object cArg0 = convertArg(arg0, constructor, 0); Object cArg1 = convertArg(arg1, constructor, 1); Object cArg2 = convertArg(arg2, constructor, 2); proxy.setObject(constructor.newInstanceDirect(cArg0, cArg1, cArg2)); return self; }
@Override public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2) { if (javaVarargsCallables != null) return call(context, self, clazz, name, new IRubyObject[] {arg0, arg1, arg2}); JavaProxy proxy = castJavaProxy(self); JavaConstructor constructor = (JavaConstructor) findCallableArityThree(self, name, arg0, arg1, arg2); final Class<?>[] paramTypes = constructor.getParameterTypes(); Object cArg0 = arg0.toJava(paramTypes[0]); Object cArg1 = arg1.toJava(paramTypes[1]); Object cArg2 = arg2.toJava(paramTypes[2]); setAndCacheProxyObject(context, clazz, proxy, constructor.newInstanceDirect(context, cArg0, cArg1, cArg2)); return self; }
@Override public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2) { if (javaVarargsCallables != null) return call(context, self, clazz, name, new IRubyObject[] {arg0, arg1, arg2}); JavaProxy proxy = castJavaProxy(self); JavaConstructor constructor = (JavaConstructor) findCallableArityThree(self, name, arg0, arg1, arg2); final Class<?>[] paramTypes = constructor.getParameterTypes(); Object cArg0 = arg0.toJava(paramTypes[0]); Object cArg1 = arg1.toJava(paramTypes[1]); Object cArg2 = arg2.toJava(paramTypes[2]); setAndCacheProxyObject(context, clazz, proxy, constructor.newInstanceDirect(context, cArg0, cArg1, cArg2)); return self; }
@Override public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1, Block block) { if (block.isGiven()) { JavaProxy proxy = castJavaProxy(self); RubyProc proc = RubyProc.newProc(context.runtime, block, block.type); JavaConstructor constructor = (JavaConstructor)findCallableArityThree(self, name, arg0, arg1, proc); Object cArg0 = convertArg(arg0, constructor, 0); Object cArg1 = convertArg(arg1, constructor, 1); Object cArg2 = convertArg(proc, constructor, 2); proxy.setObject(constructor.newInstanceDirect(cArg0, cArg1, cArg2)); return self; } else { return call(context, self, clazz, name, arg0, arg1); } }
@Override public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1, Block block) { if (block.isGiven()) { JavaProxy proxy = castJavaProxy(self); RubyProc proc = RubyProc.newProc(context.runtime, block, block.type); JavaConstructor constructor = (JavaConstructor)findCallableArityThree(self, name, arg0, arg1, proc); Object cArg0 = convertArg(arg0, constructor, 0); Object cArg1 = convertArg(arg1, constructor, 1); Object cArg2 = convertArg(proc, constructor, 2); proxy.setObject(constructor.newInstanceDirect(cArg0, cArg1, cArg2)); return self; } else { return call(context, self, clazz, name, arg0, arg1); } }
@Override public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1, Block block) { if (block.isGiven()) { JavaProxy proxy = castJavaProxy(self); RubyProc proc = RubyProc.newProc(context.runtime, block, block.type); JavaConstructor constructor = (JavaConstructor) findCallableArityThree(self, name, arg0, arg1, proc); final Class<?>[] paramTypes = constructor.getParameterTypes(); Object cArg0 = arg0.toJava(paramTypes[0]); Object cArg1 = arg1.toJava(paramTypes[1]); Object cArg2 = proc.toJava(paramTypes[2]); setAndCacheProxyObject(context, clazz, proxy, constructor.newInstanceDirect(context, cArg0, cArg1, cArg2)); return self; } return call(context, self, clazz, name, arg0, arg1); }
@Override public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1, Block block) { if (block.isGiven()) { JavaProxy proxy = castJavaProxy(self); RubyProc proc = RubyProc.newProc(context.runtime, block, block.type); JavaConstructor constructor = (JavaConstructor) findCallableArityThree(self, name, arg0, arg1, proc); final Class<?>[] paramTypes = constructor.getParameterTypes(); Object cArg0 = arg0.toJava(paramTypes[0]); Object cArg1 = arg1.toJava(paramTypes[1]); Object cArg2 = proc.toJava(paramTypes[2]); setAndCacheProxyObject(context, clazz, proxy, constructor.newInstanceDirect(context, cArg0, cArg1, cArg2)); return self; } return call(context, self, clazz, name, arg0, arg1); }