callable = createCallable(runtime, members[0]); if (callable.isVarArgs()) { varargsCallables = createCallableArray(callable); List<JavaCallable> methodsForArity = (List<JavaCallable>)entry.getValue(); JavaCallable[] methodsArray = methodsForArity.toArray(createCallableArray(methodsForArity.size())); callables[((Integer)entry.getKey()).intValue()] = methodsArray; varargsCallables = createCallableArray(varargsMethods.size()); varargsMethods.toArray(varargsCallables);
@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(); }
callable = createCallable(runtime, members[0]); if (callable.isVarArgs()) { varargsCallables = createCallableArray(callable); List<JavaCallable> methodsForArity = (List<JavaCallable>)entry.getValue(); JavaCallable[] methodsArray = methodsForArity.toArray(createCallableArray(methodsForArity.size())); callables[((Integer)entry.getKey()).intValue()] = methodsArray; varargsCallables = createCallableArray(varargsMethods.size()); varargsMethods.toArray(varargsCallables);
@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(); }
maxArity = minArity = callable.getArity(); if ( callable.isVarArgs() ) { varargsCallables = createCallableArray(callable); minVarArgsArity = getMemberArity(members[0]) - 1; ArrayList<T> methodsForArity = entry.getValue(); T[] methodsArray = methodsForArity.toArray(createCallableArray(methodsForArity.size())); varargsCallables = (T[]) varArgs.toArray( createCallableArray(varArgs.size()) );
maxArity = minArity = callable.getArity(); if ( callable.isVarArgs() ) { varargsCallables = createCallableArray(callable); minVarArgsArity = getMemberArity(members[0]) - 1; ArrayList<T> methodsForArity = entry.getValue(); T[] methodsArray = methodsForArity.toArray(createCallableArray(methodsForArity.size())); varargsCallables = (T[]) varArgs.toArray( createCallableArray(varArgs.size()) );