From cb0295e52870f22c5dd1a1726342b8d4b147b1c5 Mon Sep 17 00:00:00 2001 From: daurnimator Date: Tue, 2 May 2017 16:37:50 +1000 Subject: Refactor table implementation --- src/ltm.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/ltm.js') diff --git a/src/ltm.js b/src/ltm.js index c94d8f1..76e7b0c 100644 --- a/src/ltm.js +++ b/src/ltm.js @@ -7,6 +7,7 @@ const defs = require('./defs.js'); const lobject = require('./lobject.js'); const ldo = require('./ldo.js'); const lstate = require('./lstate.js'); +const ltable = require('./ltable.js'); const ldebug = require('./ldebug.js'); const lvm = require('./lvm.js'); const CT = defs.constant_types; @@ -69,9 +70,9 @@ const luaT_init = function(L) { */ const luaT_objtypename = function(L, o) { let mt; - if ((o.ttistable() && (mt = o.metatable) !== null) || + if ((o.ttistable() && (mt = o.value.metatable) !== null) || (o.ttisfulluserdata() && (mt = o.value.metatable) !== null)) { - let name = lobject.table_index(mt, defs.to_luastring('__name', true)); + let name = ltable.luaH_getstr(mt, defs.to_luastring('__name', true)); if (name.ttisstring()) return name.value; } @@ -142,13 +143,13 @@ const luaT_gettmbyobj = function(L, o, event) { switch(o.ttnov()) { case CT.LUA_TTABLE: case CT.LUA_TUSERDATA: - mt = o.metatable; + mt = o.value.metatable; break; default: mt = L.l_G.mt[o.ttnov()]; } - return mt ? lobject.table_index(mt, event) : lobject.luaO_nilobject; + return mt ? ltable.luaH_getstr(mt, event) : lobject.luaO_nilobject; }; module.exports.TMS = TMS; -- cgit v1.2.3-54-g00ecf