diff options
author | Benoit Giannangeli <giann008@gmail.com> | 2017-05-11 11:19:55 +0200 |
---|---|---|
committer | Benoit Giannangeli <giann008@gmail.com> | 2017-05-11 11:19:55 +0200 |
commit | 992c58899b32c919d3c5c1c60c14c7c073c5d54c (patch) | |
tree | fdf156cf211355f383c2d6c44041531decca95f7 /src/lobject.js | |
parent | 4d4782d890830d7730f0f9ada5638f9443e76047 (diff) | |
parent | 57ca9b375d262d98645d219bbdd5969e0c0c85aa (diff) | |
download | fengari-992c58899b32c919d3c5c1c60c14c7c073c5d54c.tar.gz fengari-992c58899b32c919d3c5c1c60c14c7c073c5d54c.tar.bz2 fengari-992c58899b32c919d3c5c1c60c14c7c073c5d54c.zip |
Merge branch 'feature/dead-keys'
Diffstat (limited to 'src/lobject.js')
-rw-r--r-- | src/lobject.js | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/lobject.js b/src/lobject.js index e4ef380..f926e85 100644 --- a/src/lobject.js +++ b/src/lobject.js @@ -13,6 +13,8 @@ const llimit = require('./llimit.js'); const CT = defs.constant_types; const char = defs.char; +const LUA_TPROTO = CT.LUA_NUMTAGS; +const LUA_TDEADKEY = CT.LUA_NUMTAGS+1; class TValue { @@ -108,7 +110,7 @@ class TValue { } ttisdeadkey() { - return this.checktag(CT.LUA_TDEADKEY); + return this.checktag(LUA_TDEADKEY); } l_isfalse() { @@ -150,6 +152,11 @@ class TValue { this.value = x; } + setdeadvalue() { + this.type = LUA_TDEADKEY; + this.value = null; + } + setfrom(tv) { /* in lua C source setobj2t is often used for this */ this.type = tv.type; this.value = tv.value; @@ -175,6 +182,7 @@ class TValue { } const luaO_nilobject = new TValue(CT.LUA_TNIL, null); +Object.freeze(luaO_nilobject); module.exports.luaO_nilobject = luaO_nilobject; class LClosure { @@ -539,6 +547,8 @@ const numarith = function(L, op, v1, v2) { } }; +module.exports.LUA_TPROTO = LUA_TPROTO; +module.exports.LUA_TDEADKEY = LUA_TDEADKEY; module.exports.CClosure = CClosure; module.exports.LClosure = LClosure; module.exports.LocVar = LocVar; |