Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(194)

Unified Diff: lib/src/codegen/js_codegen.dart

Issue 1233553005: Fixes #254 - Better stacktrace support (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: lib/src/codegen/js_codegen.dart
diff --git a/lib/src/codegen/js_codegen.dart b/lib/src/codegen/js_codegen.dart
index 4426755e2b6e30fb7962793d18e1c5b3c8606f7c..4dc3022f25bd04a331ae4057c5db601f80405bf8 100644
--- a/lib/src/codegen/js_codegen.dart
+++ b/lib/src/codegen/js_codegen.dart
@@ -2322,7 +2322,7 @@ class JSCodegenVisitor extends GeneralizingAstVisitor {
visitThrowExpression(ThrowExpression node) {
var expr = _visit(node.expression);
if (node.parent is ExpressionStatement) {
- return js.statement('throw #;', expr);
+ return js.statement('dart.throw_(#);', expr);
Jennifer Messerly 2015/07/13 16:39:17 commented on the bug, but I have some concerns ove
vsm 2015/07/14 13:54:48 Done in the case of Error - Exception is only an i
} else {
return js.call('dart.throw_(#)', expr);
}
@@ -2331,9 +2331,9 @@ class JSCodegenVisitor extends GeneralizingAstVisitor {
@override
visitRethrowExpression(RethrowExpression node) {
if (node.parent is ExpressionStatement) {
- return js.statement('throw #;', _visit(_catchParameter));
+ return js.statement('dart.rethrow(#);', _visit(_catchParameter));
} else {
- return js.call('dart.throw_(#)', _visit(_catchParameter));
+ return js.call('dart.rethrow(#)', _visit(_catchParameter));
}
}
@@ -2403,7 +2403,7 @@ class JSCodegenVisitor extends GeneralizingAstVisitor {
_catchParameter = _createTemporary('e', types.dynamicType);
}
- JS.Statement catchBody = js.statement('throw #;', _visit(_catchParameter));
+ JS.Statement catchBody = js.statement('dart.rethrow(#);', _visit(_catchParameter));
for (var clause in clauses.reversed) {
catchBody = _catchClauseGuard(clause, catchBody);
}

Powered by Google App Engine
This is Rietveld 408576698