| Index: pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart
|
| diff --git a/pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart b/pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart
|
| index 6dc6f9f635931c0ca303a9c7b7451f3e7b35303a..fa05f97eab06bdb1c53e0264917f7736a4da5c9e 100644
|
| --- a/pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart
|
| +++ b/pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart
|
| @@ -525,18 +525,18 @@ class CreateBox extends Primitive implements JsSpecificNode {
|
| accept(Visitor visitor) => visitor.visitCreateBox(this);
|
| }
|
|
|
| -/// Instantiates a synthetic class created by closure conversion.
|
| -class CreateClosureClass extends Primitive implements JsSpecificNode {
|
| - final ClosureClassElement classElement;
|
| +/// Creates an instance of a class and initializes its fields.
|
| +class CreateInstance extends Primitive implements JsSpecificNode {
|
| + final ClassElement classElement;
|
|
|
| - /// Values and boxes for locals captured by the closure.
|
| - /// The order corresponds to [ClosureClassElement.closureFields].
|
| + /// Initial values for the fields on the class.
|
| + /// The order corresponds to the order of fields on the class.
|
| final List<Reference<Primitive>> arguments;
|
|
|
| - CreateClosureClass(this.classElement, List<Primitive> arguments)
|
| + CreateInstance(this.classElement, List<Primitive> arguments)
|
| : this.arguments = _referenceList(arguments);
|
|
|
| - accept(Visitor visitor) => visitor.visitCreateClosureClass(this);
|
| + accept(Visitor visitor) => visitor.visitCreateInstance(this);
|
| }
|
|
|
| class Identical extends Primitive implements JsSpecificNode {
|
| @@ -853,7 +853,7 @@ abstract class Visitor<T> {
|
| T visitClosureVariable(ClosureVariable node) => visitDefinition(node);
|
| T visitGetField(GetField node) => visitDefinition(node);
|
| T visitCreateBox(CreateBox node) => visitDefinition(node);
|
| - T visitCreateClosureClass(CreateClosureClass node) => visitDefinition(node);
|
| + T visitCreateInstance(CreateInstance node) => visitDefinition(node);
|
|
|
| // Conditions.
|
| T visitIsTrue(IsTrue node) => visitCondition(node);
|
| @@ -1085,9 +1085,9 @@ abstract class RecursiveVisitor extends Visitor {
|
| processReference(node.input);
|
| }
|
|
|
| - processCreateClosureClass(CreateClosureClass node) {}
|
| - visitCreateClosureClass(CreateClosureClass node) {
|
| - processCreateClosureClass(node);
|
| + processCreateInstance(CreateInstance node) {}
|
| + visitCreateInstance(CreateInstance node) {
|
| + processCreateInstance(node);
|
| node.arguments.forEach(processReference);
|
| }
|
|
|
| @@ -1327,7 +1327,7 @@ class RegisterAllocator extends Visitor {
|
| void visitCreateBox(CreateBox node) {
|
| }
|
|
|
| - void visitCreateClosureClass(CreateClosureClass node) {
|
| + void visitCreateInstance(CreateInstance node) {
|
| node.arguments.forEach(visitReference);
|
| }
|
|
|
|
|