59462214cb
- simplify column number tracking using a pointer to the beginning of line instead of `eol` + `mark`. - add `js_parse_error_pos` to report syntax errors with exact source position for token parsing errors. This makes the syntax error reports much more precise. eg: exact position of UTF-8 encoding error, invalid escape sequence, etc. - add `JSSourcePos` type to use single opaque object for token source position - add `emit_pos` to set the precise source position in code generation - change `emit_op` to no longer emit source positions from `s->last_line_num` and `s->last_col_num`. - remove `last_line_num` and `last_col_num` `JSParserState` members - runtime errors on calls report the column number of calling function or method name. - runtime errors on `new` expressions report the column number of the `neẁ` keyword. - do not show source position in backtrace if debug information is missing - fix spurious parsing bugs when `js_parse_skip_parens_token` could not reparse the current token because of stack overflow detection. - `js_parse_save_pos` now saves the current token and `js_parse_seek_back` always restores the token, hence never fails, while `js_parse_seek_token` reparses the saved token. This is needed to handle the weird semantics of `"\1"; "use strict";` - simplify html comment detection - update **tests/test_builtin,js** with more informative messages - improve `assert()` and **tests/test_language.js** tests - update **v8.txt** for updated column numbers in remaining errors |
||
---|---|---|
.. | ||
function_source.c | ||
hello.c | ||
hello_module.c | ||
repl.c | ||
test_fib.c |