OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library dart2js.cps_ir.shrinking_reductions; | 5 library dart2js.cps_ir.shrinking_reductions; |
6 | 6 |
7 import 'cps_ir_nodes.dart'; | 7 import 'cps_ir_nodes.dart'; |
8 import 'optimizers.dart'; | 8 import 'optimizers.dart'; |
9 | 9 |
10 /** | 10 /** |
(...skipping 539 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
550 node.receiver.parent = node; | 550 node.receiver.parent = node; |
551 node.continuation.parent = node; | 551 node.continuation.parent = node; |
552 node.arguments.forEach((Reference ref) => ref.parent = node); | 552 node.arguments.forEach((Reference ref) => ref.parent = node); |
553 } | 553 } |
554 | 554 |
555 processInvokeConstructor(InvokeConstructor node) { | 555 processInvokeConstructor(InvokeConstructor node) { |
556 node.continuation.parent = node; | 556 node.continuation.parent = node; |
557 node.arguments.forEach((Reference ref) => ref.parent = node); | 557 node.arguments.forEach((Reference ref) => ref.parent = node); |
558 } | 558 } |
559 | 559 |
| 560 processConcatenateStrings(ConcatenateStrings node) { |
| 561 node.continuation.parent = node; |
| 562 node.arguments.forEach((Reference ref) => ref.parent = node); |
| 563 } |
| 564 |
560 processBranch(Branch node) { | 565 processBranch(Branch node) { |
561 node.condition.parent = node; | 566 node.condition.parent = node; |
562 node.trueContinuation.parent = node; | 567 node.trueContinuation.parent = node; |
563 node.falseContinuation.parent = node; | 568 node.falseContinuation.parent = node; |
564 } | 569 } |
565 | 570 |
566 processTypeCast(TypeCast node) { | 571 processTypeCast(TypeCast node) { |
567 node.typeArguments.forEach((Reference ref) => ref.parent = node); | 572 node.typeArguments.forEach((Reference ref) => ref.parent = node); |
568 node.continuation.parent = node; | 573 node.continuation.parent = node; |
569 node.value.parent = node; | 574 node.value.parent = node; |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
720 } | 725 } |
721 | 726 |
722 String toString() => "$kind: $node"; | 727 String toString() => "$kind: $node"; |
723 } | 728 } |
724 | 729 |
725 /// A dummy class used solely to mark nodes as deleted once they are removed | 730 /// A dummy class used solely to mark nodes as deleted once they are removed |
726 /// from a term. | 731 /// from a term. |
727 class _DeletedNode extends Node { | 732 class _DeletedNode extends Node { |
728 accept(_) => null; | 733 accept(_) => null; |
729 } | 734 } |
OLD | NEW |