private void setArity(final int minArity, final int maxArity, final int minVarArgsArity) { if ( minVarArgsArity == -1 ) { // no var-args if ( minArity == maxArity ) { setArity( Arity.fixed(minArity) ); } else { // multiple overloads setArity(Arity.required(minArity)); // but <= maxArity } } else { setArity( Arity.required(minVarArgsArity < minArity ? minVarArgsArity : minArity) ); } }
private void setArity(final int minArity, final int maxArity, final int minVarArgsArity) { if ( minVarArgsArity == -1 ) { // no var-args if ( minArity == maxArity ) { setArity( Arity.fixed(minArity) ); } else { // multiple overloads setArity(Arity.required(minArity)); // but <= maxArity } } else { setArity( Arity.required(minVarArgsArity < minArity ? minVarArgsArity : minArity) ); } }
this.runtime = host.getRuntime(); setArity(Arity.OPTIONAL);
this.runtime = host.getRuntime(); setArity(Arity.OPTIONAL);
this.javaVarargsCallables = varargsCallables; setArity(minArity, maxArity, minVarArgsArity); setupNativeCall();
this.javaVarargsCallables = varargsCallables; setArity(minArity, maxArity, minVarArgsArity); setupNativeCall();
@SuppressWarnings("unchecked") // NULL_CACHE RubyToJavaInvoker(RubyModule host, Member member, String name) { super(host, Visibility.PUBLIC, name); this.runtime = host.getRuntime(); final T callable; T[] varargsCallables = null; int minVarArgsArity = -1; callable = createCallable(runtime, member); int minArity = callable.getArity(); if ( callable.isVarArgs() ) { // TODO does it need to happen? varargsCallables = createCallableArray(callable); minVarArgsArity = getMemberArity(member) - 1; } cache = NULL_CACHE; // if there's a single callable - matching (and thus the cache) won't be used this.javaCallable = callable; this.javaCallables = null; this.javaVarargsCallables = varargsCallables; setArity(minArity, minArity, minVarArgsArity); setupNativeCall(); }
@SuppressWarnings("unchecked") // NULL_CACHE RubyToJavaInvoker(RubyModule host, Member member, String name) { super(host, Visibility.PUBLIC, name); this.runtime = host.getRuntime(); final T callable; T[] varargsCallables = null; int minVarArgsArity = -1; callable = createCallable(runtime, member); int minArity = callable.getArity(); if ( callable.isVarArgs() ) { // TODO does it need to happen? varargsCallables = createCallableArray(callable); minVarArgsArity = getMemberArity(member) - 1; } cache = NULL_CACHE; // if there's a single callable - matching (and thus the cache) won't be used this.javaCallable = callable; this.javaCallables = null; this.javaVarargsCallables = varargsCallables; setArity(minArity, minArity, minVarArgsArity); setupNativeCall(); }