| 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 05bacf57ade352d0497e8eedf6e42ae3311e5a1f..cf32d70856c138f45ef28b62ea2febc98da253af 100644
|
| --- a/pkg/compiler/lib/src/js_backend/codegen/codegen.dart
|
| +++ b/pkg/compiler/lib/src/js_backend/codegen/codegen.dart
|
| @@ -424,4 +424,33 @@ class CodeGenerator extends tree_ir.Visitor<dynamic, js.Expression> {
|
| // TODO: implement SuperInitializer
|
| }
|
|
|
| + @override
|
| + js.Expression visitCreateBox(tree_ir.CreateBox node) {
|
| + return new js.ObjectInitializer([]);
|
| + }
|
| +
|
| + @override
|
| + js.Expression visitCreateClosureClass(tree_ir.CreateClosureClass node) {
|
| + registry.registerInstantiatedClass(node.classElement);
|
| + return new js.New(glue.closureClassConstructorAccess(node.classElement),
|
| + node.arguments.map(visitExpression).toList());
|
| + }
|
| +
|
| + @override
|
| + js.Expression visitGetField(tree_ir.GetField node) {
|
| + return new js.PropertyAccess.field(
|
| + visitExpression(node.object),
|
| + glue.instanceFieldPropertyName(node.field));
|
| + }
|
| +
|
| + @override
|
| + void visitSetField(tree_ir.SetField node) {
|
| + js.PropertyAccess field =
|
| + new js.PropertyAccess.field(
|
| + visitExpression(node.object),
|
| + glue.instanceFieldPropertyName(node.field));
|
| + js.Assignment asn = new js.Assignment(field, visitExpression(node.value));
|
| + accumulator.add(new js.ExpressionStatement(asn));
|
| + visitStatement(node.next);
|
| + }
|
| }
|
|
|