summaryrefslogtreecommitdiff
path: root/src/lobject.js
diff options
context:
space:
mode:
authorBenoit Giannangeli <giann008@gmail.com>2017-05-11 11:19:55 +0200
committerBenoit Giannangeli <giann008@gmail.com>2017-05-11 11:19:55 +0200
commit992c58899b32c919d3c5c1c60c14c7c073c5d54c (patch)
treefdf156cf211355f383c2d6c44041531decca95f7 /src/lobject.js
parent4d4782d890830d7730f0f9ada5638f9443e76047 (diff)
parent57ca9b375d262d98645d219bbdd5969e0c0c85aa (diff)
downloadfengari-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.js12
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;