Refactor luajava method mapping computation.
This commit is contained in:
@@ -95,11 +95,12 @@ public class LuajavaLib extends OneArgFunction {
|
|||||||
// get constructor
|
// get constructor
|
||||||
final LuaValue c = args.checkvalue(1);
|
final LuaValue c = args.checkvalue(1);
|
||||||
final Class clazz = (opcode==NEWINSTANCE? Class.forName(c.tojstring()): (Class) c.checkuserdata(Class.class));
|
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 );
|
final Constructor con = resolveConstructor( clazz, paramssig );
|
||||||
|
|
||||||
// coerce args, construct instance
|
// coerce args, construct instance
|
||||||
Object[] cargs = CoerceLuaToJava.coerceArgs( args, con.getParameterTypes() );
|
Object[] cargs = CoerceLuaToJava.coerceArgs( consargs, con.getParameterTypes() );
|
||||||
Object o = con.newInstance( cargs );
|
Object o = con.newInstance( cargs );
|
||||||
|
|
||||||
// return result
|
// return result
|
||||||
|
|||||||
Reference in New Issue
Block a user