@Override public int call(LuaCallFrame callFrame, int nArguments) { MethodArguments methodArguments = null; for (LuaJavaInvoker invoker : invokers) { methodArguments = invoker.prepareCall(callFrame, nArguments); if (methodArguments.isValid()) { return invoker.call(methodArguments); } } if (methodArguments != null) { methodArguments.assertValid(); } throw new RuntimeException("No implementation found"); }
@Override public int compare(LuaJavaInvoker o1, LuaJavaInvoker o2) { return o2.getNumMethodParams() - o1.getNumMethodParams(); }