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; |
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; |
} |