Chromium Code Reviews| 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 9dbaad40aa98b688eb834730d87bc21b3207a19c..63884293b6d1b5209f412245adb4ed753d33faae 100644 |
| --- a/pkg/compiler/lib/src/js_backend/codegen/codegen.dart |
| +++ b/pkg/compiler/lib/src/js_backend/codegen/codegen.dart |
| @@ -175,8 +175,17 @@ class CodeGenerator extends tree_ir.Visitor<dynamic, js.Expression> { |
| @override |
| js.Expression visitLiteralList(tree_ir.LiteralList node) { |
| - return giveup(node); |
| - // TODO: implement visitLiteralList |
| + registry.registerInstantiatedClass(glue.listClass); |
| + return generateArrayLiteral(node); |
| + } |
| + |
| + js.ArrayInitializer generateArrayLiteral(tree_ir.LiteralList node) { |
|
karlklose
2014/11/20 12:31:18
Do you intend to share this method? Otherwise I wo
sigurdm
2014/11/20 13:32:44
Done.
|
| + int length = node.values.length; |
| + List<js.ArrayElement> entries = new List<js.ArrayElement>(); |
|
karlklose
2014/11/20 12:31:18
How about:
... entries = new List<js.ArrayElemen
sigurdm
2014/11/20 13:32:45
I almost wrote that, but in the end thought that t
|
| + for (int i = 0; i < length; i++) { |
| + entries.add(new js.ArrayElement(i, visitExpression(node.values[i]))); |
| + } |
| + return new js.ArrayInitializer(length, entries); |
| } |
| @override |