diff options
author | Nayeem Rahman <nayeemrmn99@gmail.com> | 2022-04-15 15:08:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-15 16:08:09 +0200 |
commit | 8b31fc23cd80de9baa62535e95367da7a21c9cfd (patch) | |
tree | 994748bd06ed5b4953929392107b6beaa1c1c337 /runtime/js | |
parent | b4af648c1515a8e79d7a5d1b14d8a4ba9d966a72 (diff) |
refactor: Move source map lookups to core (#14274)
The following transformations gradually faced by "JsError" have all been
moved up front to "JsError::from_v8_exception()":
- finding the first non-"deno:" source line;
- moving "JsError::script_resource_name" etc. into the first error stack
in case of syntax errors;
- source mapping "JsError::script_resource_name" etc. when wrapping
the error even though the frame locations are source mapped earlier;
- removing "JsError::{script_resource_name,line_number,start_column,end_column}"
entirely in favour of "js_error.frames.get(0)".
We also no longer pass a js-side callback to "core/02_error.js" from cli.
I avoided doing this on previous occasions because the source map lookups
were in an awkward place.
Diffstat (limited to 'runtime/js')
-rw-r--r-- | runtime/js/40_error_stack.js | 7 | ||||
-rw-r--r-- | runtime/js/99_main.js | 4 |
2 files changed, 1 insertions, 10 deletions
diff --git a/runtime/js/40_error_stack.js b/runtime/js/40_error_stack.js index 7ed463273..1ecf0f6bb 100644 --- a/runtime/js/40_error_stack.js +++ b/runtime/js/40_error_stack.js @@ -13,12 +13,7 @@ } function opApplySourceMap(location) { - const res = core.opSync("op_apply_source_map", location); - return { - fileName: res.fileName, - lineNumber: res.lineNumber, - columnNumber: res.columnNumber, - }; + return core.applySourceMap(location); } window.__bootstrap.errorStack = { diff --git a/runtime/js/99_main.js b/runtime/js/99_main.js index 44d457e5c..0b83846ca 100644 --- a/runtime/js/99_main.js +++ b/runtime/js/99_main.js @@ -222,10 +222,6 @@ delete Object.prototype.__proto__; build.setBuildInfo(runtimeOptions.target); util.setLogDebug(runtimeOptions.debugFlag, source); const prepareStackTrace = core.createPrepareStackTrace( - // TODO(bartlomieju): a very crude way to disable - // source mapping of errors. This condition is true - // only for compiled standalone binaries. - runtimeOptions.applySourceMaps ? errorStack.opApplySourceMap : undefined, errorStack.opFormatFileName, ); // deno-lint-ignore prefer-primordials |