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

Unified Diff: pkg/compiler/lib/src/js_backend/codegen/codegen.dart

Issue 1130813002: dart2js cps: Handle error cases. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Comments from floitch Created 5 years, 7 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: pkg/compiler/lib/src/js_backend/codegen/codegen.dart
diff --git a/pkg/compiler/lib/src/js_backend/codegen/codegen.dart b/pkg/compiler/lib/src/js_backend/codegen/codegen.dart
index 95b1dee349aec14ff8733a8a83103ff0c9ad36e0..f101a7610ca8a7353f55d27bb79670adc653df87 100644
--- a/pkg/compiler/lib/src/js_backend/codegen/codegen.dart
+++ b/pkg/compiler/lib/src/js_backend/codegen/codegen.dart
@@ -589,6 +589,20 @@ class CodeGenerator extends tree_ir.StatementVisitor
}
@override
+ js.Expression visitCreateInvocationMirror(
+ tree_ir.CreateInvocationMirror node) {
+ js.Expression name = js.string(node.selector.name);
+ js.Expression internalName = js.string(glue.invocationName(node.selector));
+ js.Expression kind = js.number(node.selector.invocationMirrorKind);
+ js.Expression arguments = new js.ArrayInitializer(
+ node.arguments.map(visitExpression).toList());
+ js.Expression argumentNames = new js.ArrayInitializer(
+ node.selector.namedArguments.map(js.string).toList());
+ return buildStaticHelperInvocation(glue.createInvocationMirrorMethod,
+ [name, internalName, kind, arguments, argumentNames]);
+ }
+
+ @override
js.Expression visitGetField(tree_ir.GetField node) {
return new js.PropertyAccess.field(
visitExpression(node.object),

Powered by Google App Engine
This is Rietveld 408576698