protected final T findCallableArityOne(IRubyObject self, String name, IRubyObject arg0) { T callable = this.javaCallable; if ( callable == null ) { // TODO: varargs? final T[] callablesForArity; if ( javaCallables.length <= 1 || (callablesForArity = javaCallables[1]) == null ) { if ((callable = matchVarArgsCallableArityOne(self, arg0)) == null) { throw runtime.newArgumentError(1, javaCallables.length - 1); } return callable; } callable = CallableSelector.matchingCallableArityOne(runtime, this, callablesForArity, arg0); if ( callable == null ) { if ((callable = matchVarArgsCallableArityOne(self, arg0)) == null ) { throw newErrorDueArgumentTypeMismatch(self, callablesForArity, arg0); } } } else { if (!callable.isVarArgs()) checkCallableArity(callable, 1); } return callable; }
protected final T findCallableArityOne(IRubyObject self, String name, IRubyObject arg0) { T callable = this.javaCallable; if ( callable == null ) { // TODO: varargs? final T[] callablesForArity; if ( javaCallables.length <= 1 || (callablesForArity = javaCallables[1]) == null ) { if ((callable = matchVarArgsCallableArityOne(self, arg0)) == null) { throw runtime.newArgumentError(1, javaCallables.length - 1); } return callable; } callable = CallableSelector.matchingCallableArityOne(runtime, this, callablesForArity, arg0); if ( callable == null ) { if ((callable = matchVarArgsCallableArityOne(self, arg0)) == null ) { throw newErrorDueArgumentTypeMismatch(self, callablesForArity, arg0); } } } else { if (!callable.isVarArgs()) checkCallableArity(callable, 1); } return callable; }