Chromium Code Reviews| Index: pkg/dev_compiler/tool/input_sdk/private/js_helper.dart |
| diff --git a/pkg/dev_compiler/tool/input_sdk/private/js_helper.dart b/pkg/dev_compiler/tool/input_sdk/private/js_helper.dart |
| index fee11a52f8618a00153bec37387627ffe2791509..28cd859ebd87077efe41558ab01a796d0eaf4767 100644 |
| --- a/pkg/dev_compiler/tool/input_sdk/private/js_helper.dart |
| +++ b/pkg/dev_compiler/tool/input_sdk/private/js_helper.dart |
| @@ -6,6 +6,8 @@ library dart._js_helper; |
| import 'dart:collection'; |
| +import 'dart:_debugger' show stackTraceMapper; |
| + |
| import 'dart:_foreign_helper' show |
| JS, |
| JS_STRING_CONCAT; |
| @@ -628,15 +630,19 @@ StackTrace getTraceFromException(exception) => new _StackTrace(exception); |
| class _StackTrace implements StackTrace { |
| var _exception; |
| String _trace; |
| + |
| _StackTrace(this._exception); |
| String toString() { |
| - if (_trace != null) return JS('String', '#', _trace); |
| + if (_trace != null) return _trace; |
|
Jacob
2017/03/08 02:58:13
no idea why this JS macro was used.
|
| String trace; |
| if (JS('bool', '# !== null', _exception) && |
| JS('bool', 'typeof # === "object"', _exception)) { |
| trace = JS("String|Null", r"#.stack", _exception); |
| + if (trace != null && stackTraceMapper != null) { |
| + trace = stackTraceMapper(trace); |
| + } |
| } |
| return _trace = (trace == null) ? '' : trace; |
| } |