From 8b31fc23cd80de9baa62535e95367da7a21c9cfd Mon Sep 17 00:00:00 2001 From: Nayeem Rahman Date: Fri, 15 Apr 2022 15:08:09 +0100 Subject: 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. --- runtime/js/40_error_stack.js | 7 +------ runtime/js/99_main.js | 4 ---- 2 files changed, 1 insertion(+), 10 deletions(-) (limited to 'runtime/js') 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 -- cgit v1.2.3