| Index: pkg/compiler/lib/src/tree_ir/optimization/logical_rewriter.dart
|
| diff --git a/pkg/compiler/lib/src/tree_ir/optimization/logical_rewriter.dart b/pkg/compiler/lib/src/tree_ir/optimization/logical_rewriter.dart
|
| index 7138381842ab69260911eb398b74d81013b1c057..a78f8b6c05b6a7a1e108a58e0d9e3691d232ecc7 100644
|
| --- a/pkg/compiler/lib/src/tree_ir/optimization/logical_rewriter.dart
|
| +++ b/pkg/compiler/lib/src/tree_ir/optimization/logical_rewriter.dart
|
| @@ -65,6 +65,28 @@ class LogicalRewriter extends Visitor<Statement, Expression> with PassMixin {
|
| root.body = visitStatement(root.body);
|
| }
|
|
|
| + void rewriteConstructorDefinition(ConstructorDefinition root) {
|
| + if (root.isAbstract) return;
|
| + List<Initializer> initializers = root.initializers;
|
| + for (int i = 0; i < initializers.length; ++i) {
|
| + initializers[i] = visitExpression(initializers[i]);
|
| + }
|
| + root.body = visitStatement(root.body);
|
| + }
|
| +
|
| + Expression visitFieldInitializer(FieldInitializer node) {
|
| + node.body = visitStatement(node.body);
|
| + return node;
|
| + }
|
| +
|
| + visitSuperInitializer(SuperInitializer node) {
|
| + List<Statement> arguments = node.arguments;
|
| + for (int i = 0; i < arguments.length; ++i) {
|
| + arguments[i] = visitStatement(arguments[i]);
|
| + }
|
| + return node;
|
| + }
|
| +
|
| Statement visitLabeledStatement(LabeledStatement node) {
|
| Statement savedFallthrough = fallthrough;
|
| fallthrough = node.next;
|
|
|