diff --git a/src/core/org/luaj/vm2/LuaClosure.java b/src/core/org/luaj/vm2/LuaClosure.java index 79178dfa..f29ce2ca 100644 --- a/src/core/org/luaj/vm2/LuaClosure.java +++ b/src/core/org/luaj/vm2/LuaClosure.java @@ -101,10 +101,10 @@ public class LuaClosure extends LuaFunction { } public final Varargs invoke(Varargs varargs) { - return oninvoke( varargs ).eval(); + return onInvoke( varargs ).eval(); } - final Varargs oninvoke(Varargs varargs) { + public Varargs onInvoke(Varargs varargs) { LuaValue[] stack = new LuaValue[p.maxstacksize]; System.arraycopy(NILS, 0, stack, 0, p.maxstacksize); for ( int i=0; i 2) ) + int o = Lua.GET_OPCODE(inst); + if ( (o == Lua.OP_TAILCALL) || + ((o == Lua.OP_RETURN) && (Lua.GETARG_B(inst) < 1 || Lua.GETARG_B(inst) > 2)) ) { superclassType = SUPERTYPE_VARARGS; + break; + } } // create class generator