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

Side by Side Diff: pkg/compiler/lib/src/kernel/kernel_visitor.dart

Issue 2346543002: kernel -> ssa: implement literal lists (Closed)
Patch Set: dartfmt Created 4 years, 3 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 unified diff | Download patch
« no previous file with comments | « no previous file | pkg/compiler/lib/src/ssa/builder_kernel.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE.md file. 3 // BSD-style license that can be found in the LICENSE.md file.
4 4
5 import 'package:kernel/ast.dart' as ir; 5 import 'package:kernel/ast.dart' as ir;
6 import 'package:kernel/frontend/accessors.dart' 6 import 'package:kernel/frontend/accessors.dart'
7 show 7 show
8 Accessor, 8 Accessor,
9 IndexAccessor, 9 IndexAccessor,
10 NullAwarePropertyAccessor, 10 NullAwarePropertyAccessor,
(...skipping 843 matching lines...) Expand 10 before | Expand all | Expand 10 after
854 return new ir.IntLiteral(node.value); 854 return new ir.IntLiteral(node.value);
855 } 855 }
856 856
857 @override 857 @override
858 ir.ListLiteral visitLiteralList(LiteralList node) { 858 ir.ListLiteral visitLiteralList(LiteralList node) {
859 // TODO(ahe): Type arguments. 859 // TODO(ahe): Type arguments.
860 List<ir.Expression> elements = <ir.Expression>[]; 860 List<ir.Expression> elements = <ir.Expression>[];
861 for (Expression element in node.elements.nodes) { 861 for (Expression element in node.elements.nodes) {
862 elements.add(visitForValue(element)); 862 elements.add(visitForValue(element));
863 } 863 }
864 return new ir.ListLiteral(elements, 864 return associateNode(
865 typeArgument: computeTypeFromTypes(node.typeArguments), 865 new ir.ListLiteral(elements,
866 // TODO(ahe): Should constness be validated? 866 typeArgument: computeTypeFromTypes(node.typeArguments),
867 isConst: node.isConst); 867 // TODO(ahe): Should constness be validated?
868 isConst: node.isConst),
869 node);
868 } 870 }
869 871
870 @override 872 @override
871 ir.MapLiteral visitLiteralMap(LiteralMap node) { 873 ir.MapLiteral visitLiteralMap(LiteralMap node) {
872 // TODO(ahe): Type arguments. 874 // TODO(ahe): Type arguments.
873 List<ir.MapEntry> entries = <ir.MapEntry>[]; 875 List<ir.MapEntry> entries = <ir.MapEntry>[];
874 for (LiteralMapEntry entry in node.entries.nodes) { 876 for (LiteralMapEntry entry in node.entries.nodes) {
875 entries.add(new ir.MapEntry( 877 entries.add(new ir.MapEntry(
876 visitForValue(entry.key), visitForValue(entry.value))); 878 visitForValue(entry.key), visitForValue(entry.value)));
877 } 879 }
(...skipping 1870 matching lines...) Expand 10 before | Expand all | Expand 10 after
2748 : this(null, true, node, initializers); 2750 : this(null, true, node, initializers);
2749 2751
2750 accept(ir.Visitor v) => throw "unsupported"; 2752 accept(ir.Visitor v) => throw "unsupported";
2751 2753
2752 visitChildren(ir.Visitor v) => throw "unsupported"; 2754 visitChildren(ir.Visitor v) => throw "unsupported";
2753 2755
2754 String toString() { 2756 String toString() {
2755 return "IrFunction($kind, $isConstructor, $node, $initializers)"; 2757 return "IrFunction($kind, $isConstructor, $node, $initializers)";
2756 } 2758 }
2757 } 2759 }
OLDNEW
« no previous file with comments | « no previous file | pkg/compiler/lib/src/ssa/builder_kernel.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698