diff options
author | Benoit Giannangeli <benoit.giannangeli@boursorama.fr> | 2017-02-21 09:31:15 +0100 |
---|---|---|
committer | Benoit Giannangeli <benoit.giannangeli@boursorama.fr> | 2017-02-21 09:31:15 +0100 |
commit | 66826a03cd3215d1d25856a3d07d9d37be7fe602 (patch) | |
tree | c439c109fce94473852250cc998c859f72dbe47c /src | |
parent | 23d15010edc905a3b7c123e85ef6d1960d3da039 (diff) | |
download | fengari-66826a03cd3215d1d25856a3d07d9d37be7fe602.tar.gz fengari-66826a03cd3215d1d25856a3d07d9d37be7fe602.tar.bz2 fengari-66826a03cd3215d1d25856a3d07d9d37be7fe602.zip |
luaG_typeerror
Diffstat (limited to 'src')
-rw-r--r-- | src/ldebug.js | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/ldebug.js b/src/ldebug.js index ecd612b..3180e40 100644 --- a/src/ldebug.js +++ b/src/ldebug.js @@ -12,6 +12,7 @@ const OC = require('./lopcodes.js'); const lvm = require('./lvm.js'); const ltm = require('./ltm.js'); const lfunc = require('./lfunc.js'); +const lapi = require('./lapi.js'); const TMS = ltm.TMS; const TValue = lobject.TValue; const Table = lobject.Table; @@ -428,7 +429,7 @@ const varinfo = function(L, o) { kind = getupvalname(L, ci, o); /* check whether 'o' is an upvalue */ let stkid = isinstack(L, ci, o); if (!kind && stkid) /* no? try a register */ - kind = getobjname(ci.func.p, ci.pcOff, stkid); + kind = getobjname(ci.func.p, ci.pcOff, stkid - ci.u.l.base); } return kind ? ` (${kind.funcname} '${kind.name}')` : ``; @@ -469,7 +470,9 @@ const luaG_addinfo = function(L, msg, src, line) { if (src) buff = lobject.luaO_chunkid(src, luaconf.LUA_IDSIZE); - return `${buff}:${line}: ${msg}`; + L.stack[L.top++] = new TValue(CT.LUA_TLNGSTR, `${buff}:${line}: ${msg}`); // We don't need to check for overflow here + + return L.stack[L.top - 1]; }; const luaG_runerror = function(L, msg) { |