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

Unified Diff: frog/leg/ssa/builder.dart

Issue 9703074: Call the compile-time constant handler inside bodies. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Update status files. Created 8 years, 9 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: frog/leg/ssa/builder.dart
diff --git a/frog/leg/ssa/builder.dart b/frog/leg/ssa/builder.dart
index 8f7bea4a9353c2a824e0a355e7cfb12d8a85f8e9..40ddd744aa188065d3bb542a09b579f440a0baf2 100644
--- a/frog/leg/ssa/builder.dart
+++ b/frog/leg/ssa/builder.dart
@@ -1975,7 +1975,15 @@ class SsaBuilder implements Visitor {
}
}
- visitNewExpression(NewExpression node) => visitSend(node.send);
+ visitNewExpression(NewExpression node) {
+ if (node.isConst()) {
+ ConstantHandler handler = compiler.constantHandler;
+ Constant constant = handler.compileNodeWithDefinitions(node, elements);
+ stack.add(graph.addConstant(constant));
+ } else {
+ visitSend(node.send);
+ }
+ }
visitSendSet(SendSet node) {
Operator op = node.assignmentOperator;

Powered by Google App Engine
This is Rietveld 408576698