private static <T extends ParameterTypes> T findMatchingCallableForArgsFallback(final Ruby runtime, final T[] methods, final IRubyObject... args) { T method = findCallable(methods, Exact, args); if (method == null) { method = findCallable(methods, AssignableAndPrimitivable, args); if (method == null) { method = findCallable(methods, AssignableOrDuckable, args); if (method == null) { method = findCallable(methods, AssignableOrDuckable, args); if (method == null) { method = findCallable(methods, AssignableAndPrimitivableWithVarargs, args); } } } } return method; }
private static <T extends ParameterTypes> T findMatchingCallableForArgsFallback(final Ruby runtime, final T[] methods, final IRubyObject... args) { T method = findCallable(methods, Exact, args); if (method == null) { method = findCallable(methods, AssignableAndPrimitivable, args); if (method == null) { method = findCallable(methods, AssignableOrDuckable, args); if (method == null) { method = findCallable(methods, AssignableOrDuckable, args); if (method == null) { method = findCallable(methods, AssignableAndPrimitivableWithVarargs, args); } } } } return method; }
List<ParameterTypes> newFinds = findCallable(methods, args); if (newFinds.size() > 0) { method = findCallable(methods, Exact, args); method = findCallable(methods, AssignableAndPrimitivable, args); method = findCallable(methods, AssignableOrDuckable, args); method = findCallable(methods, AssignableAndPrimitivableWithVarargs, args);
List<ParameterTypes> newFinds = findCallable(methods, args); if (newFinds.size() > 0) { method = findCallable(methods, Exact, args); method = findCallable(methods, AssignableAndPrimitivable, args); method = findCallable(methods, AssignableOrDuckable, args); method = findCallable(methods, AssignableAndPrimitivableWithVarargs, args);