| Index: pkg/analyzer2dart/lib/src/cps_generator.dart
|
| diff --git a/pkg/analyzer2dart/lib/src/cps_generator.dart b/pkg/analyzer2dart/lib/src/cps_generator.dart
|
| index 7acf50452f33de7eb9d6f68d41c8a190c30c1677..060d8037fc8c46d223e6b469694c895f0f91f405 100644
|
| --- a/pkg/analyzer2dart/lib/src/cps_generator.dart
|
| +++ b/pkg/analyzer2dart/lib/src/cps_generator.dart
|
| @@ -6,6 +6,7 @@ library analyzer2dart.cps_generator;
|
|
|
| import 'package:analyzer/analyzer.dart';
|
|
|
| +import 'package:compiler/implementation/dart_types.dart' as dart2js;
|
| import 'package:compiler/implementation/elements/elements.dart' as dart2js;
|
| import 'package:analyzer/src/generated/source.dart';
|
| import 'package:analyzer/src/generated/element.dart' as analyzer;
|
| @@ -230,4 +231,23 @@ class CpsGeneratingVisitor extends SemanticVisitor<ir.Node>
|
| subbuild(node.thenStatement),
|
| subbuild(node.elseStatement));
|
| }
|
| +
|
| + @override
|
| + ir.Node visitListLiteral(ListLiteral node) {
|
| + dart2js.InterfaceType type = converter.convertType(node.staticType);
|
| + // TODO(johnniwinther): Use `build` instead of `(e) => build(e)` when issue
|
| + // 18630 has been resolved.
|
| + Iterable<ir.Primitive> values = node.elements.map((e) => build(e));
|
| + return irBuilder.buildListLiteral(type, values);
|
| + }
|
| +
|
| + @override
|
| + ir.Node visitMapLiteral(MapLiteral node) {
|
| + dart2js.InterfaceType type = converter.convertType(node.staticType);
|
| + Iterable<ir.Primitive> keys =
|
| + node.entries.map((MapLiteralEntry entry) => build(entry.key));
|
| + Iterable<ir.Primitive> values =
|
| + node.entries.map((MapLiteralEntry entry) => build(entry.value));
|
| + return irBuilder.buildMapLiteral(type, keys, values);
|
| + }
|
| }
|
|
|