Fix nil processing in compiler
This commit is contained in:
@@ -49,6 +49,10 @@ public class LuaNil extends LuaValue {
|
|||||||
return LuaValue.TNIL;
|
return LuaValue.TNIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String toString() {
|
||||||
|
return "nil";
|
||||||
|
}
|
||||||
|
|
||||||
public String typename() {
|
public String typename() {
|
||||||
return "nil";
|
return "nil";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,18 +21,16 @@
|
|||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
package org.luaj.vm2.compiler;
|
package org.luaj.vm2.compiler;
|
||||||
|
|
||||||
import org.luaj.vm2.LuaBoolean;
|
|
||||||
import org.luaj.vm2.LuaDouble;
|
|
||||||
import org.luaj.vm2.LuaInteger;
|
|
||||||
import org.luaj.vm2.LocVars;
|
import org.luaj.vm2.LocVars;
|
||||||
import org.luaj.vm2.Lua;
|
import org.luaj.vm2.Lua;
|
||||||
import org.luaj.vm2.LuaNil;
|
import org.luaj.vm2.LuaDouble;
|
||||||
|
import org.luaj.vm2.LuaInteger;
|
||||||
|
import org.luaj.vm2.LuaString;
|
||||||
import org.luaj.vm2.LuaTable;
|
import org.luaj.vm2.LuaTable;
|
||||||
import org.luaj.vm2.LuaUserdata;
|
import org.luaj.vm2.LuaUserdata;
|
||||||
|
import org.luaj.vm2.LuaValue;
|
||||||
import org.luaj.vm2.Prototype;
|
import org.luaj.vm2.Prototype;
|
||||||
import org.luaj.vm2.Upvaldesc;
|
import org.luaj.vm2.Upvaldesc;
|
||||||
import org.luaj.vm2.LuaString;
|
|
||||||
import org.luaj.vm2.LuaValue;
|
|
||||||
import org.luaj.vm2.compiler.LexState.ConsControl;
|
import org.luaj.vm2.compiler.LexState.ConsControl;
|
||||||
import org.luaj.vm2.compiler.LexState.expdesc;
|
import org.luaj.vm2.compiler.LexState.expdesc;
|
||||||
|
|
||||||
@@ -489,7 +487,7 @@ public class FuncState extends LuaC {
|
|||||||
final Prototype f = this.f;
|
final Prototype f = this.f;
|
||||||
if (f.k == null || nk + 1 >= f.k.length)
|
if (f.k == null || nk + 1 >= f.k.length)
|
||||||
f.k = realloc( f.k, nk*2 + 1 );
|
f.k = realloc( f.k, nk*2 + 1 );
|
||||||
f.k[this.nk++] = v;
|
f.k[this.nk++] = v.isuserdata()? LuaValue.NIL: v;
|
||||||
return idx;
|
return idx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user