diff options
| author | daurnimator <quae@daurnimator.com> | 2017-04-27 01:56:56 +1000 | 
|---|---|---|
| committer | daurnimator <quae@daurnimator.com> | 2017-04-27 01:56:56 +1000 | 
| commit | 0ad47e19d91dbfc04f890cdbbd09f7cf9f3e9d5f (patch) | |
| tree | 355aa8bdb75c6c6771284f5133a5c107f5c09475 | |
| parent | 37249336464af98800a7ed0b6ec21dc76b6effe9 (diff) | |
| download | fengari-0ad47e19d91dbfc04f890cdbbd09f7cf9f3e9d5f.tar.gz fengari-0ad47e19d91dbfc04f890cdbbd09f7cf9f3e9d5f.tar.bz2 fengari-0ad47e19d91dbfc04f890cdbbd09f7cf9f3e9d5f.zip | |
Add a couple of asserts to catch common errors
| -rw-r--r-- | src/ldo.js | 1 | ||||
| -rw-r--r-- | src/llex.js | 1 | 
2 files changed, 2 insertions, 0 deletions
| @@ -77,6 +77,7 @@ const luaD_precall = function(L, off, nresults) {                  luaD_hook(L, defs.LUA_HOOKCALL, -1);              let n = f(L); /* do the actual call */ +            assert(typeof n == "number" && n >= 0 && n==n|0, "invalid return value from JS function (expected integer)");              assert(n < L.top - L.ci.funcOff, "not enough elements in the stack");              luaD_poscall(L, ci, L.top - n, n); diff --git a/src/llex.js b/src/llex.js index da15b2f..703db49 100644 --- a/src/llex.js +++ b/src/llex.js @@ -500,6 +500,7 @@ const llex = function(ls, seminfo) {      ls.buff.buffer = [];      for (;;) { +        assert(typeof ls.current == "number");          switch (ls.current) {              case char['\n']: case char['\r']: {  /* line breaks */                  inclinenumber(ls); | 
