@Override public MethodHandle call() throws Exception { //Class returnClass = method.type().returnType(); int specificArity = -1; if (optional == 0 && !rest) { if (required == 0) { if (actualRequired <= 3) { specificArity = actualRequired; } } else if (required >= 0 && required <= 3) { specificArity = required; } } SmartBinder targetBinder = getBinder(specificArity, isStatic, hasContext, hasBlock); return finishAdapting(targetBinder, implementationClass, rubyName, method, declaringClass, runtime, isStatic, frame); } };
@Override public MethodHandle call() throws Exception { //Class returnClass = method.type().returnType(); int specificArity = -1; if (optional == 0 && !rest) { if (required == 0) { if (actualRequired <= 3) { specificArity = actualRequired; } } else if (required >= 0 && required <= 3) { specificArity = required; } } SmartBinder targetBinder = getBinder(specificArity, isStatic, hasContext, hasBlock); return finishAdapting(targetBinder, implementationClass, rubyName, method, declaringClass, runtime, isStatic, frame); } };