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

Unified Diff: sdk/lib/_internal/compiler/implementation/dart_backend/tree_ir_nodes.dart

Issue 658103003: Support map and list literals in analyzer2dart. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Use LiteralMapEntry to ensure build order Created 6 years, 2 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: sdk/lib/_internal/compiler/implementation/dart_backend/tree_ir_nodes.dart
diff --git a/sdk/lib/_internal/compiler/implementation/dart_backend/tree_ir_nodes.dart b/sdk/lib/_internal/compiler/implementation/dart_backend/tree_ir_nodes.dart
index 07866a03e8d32a89f67a7cebd6772e5d78f6c400..73fa6ba7c9c62bd5bbc725acd089b1348a74b1e3 100644
--- a/sdk/lib/_internal/compiler/implementation/dart_backend/tree_ir_nodes.dart
+++ b/sdk/lib/_internal/compiler/implementation/dart_backend/tree_ir_nodes.dart
@@ -223,12 +223,18 @@ class LiteralList extends Expression {
accept(ExpressionVisitor visitor) => visitor.visitLiteralList(this);
}
+class LiteralMapEntry {
+ Expression key;
+ Expression value;
+
+ LiteralMapEntry(this.key, this.value);
+}
+
class LiteralMap extends Expression {
final GenericType type;
- final List<Expression> keys;
- final List<Expression> values;
+ final List<LiteralMapEntry> entries;
- LiteralMap(this.type, this.keys, this.values);
+ LiteralMap(this.type, this.entries);
accept(ExpressionVisitor visitor) => visitor.visitLiteralMap(this);
}
@@ -595,10 +601,10 @@ class RecursiveVisitor extends Visitor {
}
visitLiteralMap(LiteralMap node) {
- for (int i=0; i<node.keys.length; i++) {
- visitExpression(node.keys[i]);
- visitExpression(node.values[i]);
- }
+ node.entries.forEach((LiteralMapEntry entry) {
+ visitExpression(entry.key);
+ visitExpression(entry.value);
+ });
}
visitTypeOperator(TypeOperator node) {

Powered by Google App Engine
This is Rietveld 408576698