diff --git a/src/jse/org/luaj/vm2/lib/jse/LuajavaLib.java b/src/jse/org/luaj/vm2/lib/jse/LuajavaLib.java index c513c55a..e2f9b4a5 100644 --- a/src/jse/org/luaj/vm2/lib/jse/LuajavaLib.java +++ b/src/jse/org/luaj/vm2/lib/jse/LuajavaLib.java @@ -95,11 +95,12 @@ public class LuajavaLib extends OneArgFunction { // get constructor final LuaValue c = args.checkvalue(1); final Class clazz = (opcode==NEWINSTANCE? Class.forName(c.tojstring()): (Class) c.checkuserdata(Class.class)); - final long paramssig = LuajavaLib.paramsSignatureOf( args ); + final Varargs consargs = args.subargs(2); + final long paramssig = LuajavaLib.paramsSignatureOf( consargs ); final Constructor con = resolveConstructor( clazz, paramssig ); // coerce args, construct instance - Object[] cargs = CoerceLuaToJava.coerceArgs( args, con.getParameterTypes() ); + Object[] cargs = CoerceLuaToJava.coerceArgs( consargs, con.getParameterTypes() ); Object o = con.newInstance( cargs ); // return result