| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 library dart2js.ir_nodes; | 4 library dart2js.ir_nodes; |
| 5 | 5 |
| 6 import 'dart:collection'; | 6 import 'dart:collection'; |
| 7 import 'cps_fragment.dart' show CpsFragment; | 7 import 'cps_fragment.dart' show CpsFragment; |
| 8 import 'cps_ir_nodes_sexpr.dart'; | 8 import 'cps_ir_nodes_sexpr.dart'; |
| 9 import '../constants/values.dart' as values; | 9 import '../constants/values.dart' as values; |
| 10 import '../dart_types.dart' show DartType, InterfaceType, TypeVariableType; | 10 import '../dart_types.dart' show DartType, InterfaceType, TypeVariableType; |
| (...skipping 2683 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2694 } | 2694 } |
| 2695 | 2695 |
| 2696 Definition visitNullCheck(NullCheck node) { | 2696 Definition visitNullCheck(NullCheck node) { |
| 2697 return new NullCheck(getCopy(node.value), node.sourceInformation, | 2697 return new NullCheck(getCopy(node.value), node.sourceInformation, |
| 2698 condition: node.condition == null ? null : getCopy(node.condition), | 2698 condition: node.condition == null ? null : getCopy(node.condition), |
| 2699 selector: node.selector, | 2699 selector: node.selector, |
| 2700 useSelector: node.useSelector); | 2700 useSelector: node.useSelector); |
| 2701 } | 2701 } |
| 2702 | 2702 |
| 2703 Definition visitForeignCode(ForeignCode node) { | 2703 Definition visitForeignCode(ForeignCode node) { |
| 2704 return new ForeignCode(node.codeTemplate, node.type, | 2704 return new ForeignCode(node.codeTemplate, node.storedType, |
| 2705 getList(node.arguments), | 2705 getList(node.arguments), |
| 2706 node.nativeBehavior, | 2706 node.nativeBehavior, |
| 2707 dependency: node.dependency); | 2707 dependency: node.dependency); |
| 2708 } | 2708 } |
| 2709 } | 2709 } |
| 2710 | 2710 |
| 2711 /// A trampolining visitor to copy [FunctionDefinition]s. | 2711 /// A trampolining visitor to copy [FunctionDefinition]s. |
| 2712 class CopyingVisitor extends TrampolineRecursiveVisitor { | 2712 class CopyingVisitor extends TrampolineRecursiveVisitor { |
| 2713 // The visitor maintains a map from original continuations to their copies. | 2713 // The visitor maintains a map from original continuations to their copies. |
| 2714 Map<Continuation, Continuation> _copies = <Continuation, Continuation>{}; | 2714 Map<Continuation, Continuation> _copies = <Continuation, Continuation>{}; |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2841 plug(new Branch.loose(_definitions.getCopy(node.condition), | 2841 plug(new Branch.loose(_definitions.getCopy(node.condition), |
| 2842 _copies[node.trueContinuation.definition], | 2842 _copies[node.trueContinuation.definition], |
| 2843 _copies[node.falseContinuation.definition]) | 2843 _copies[node.falseContinuation.definition]) |
| 2844 ..isStrictCheck = node.isStrictCheck); | 2844 ..isStrictCheck = node.isStrictCheck); |
| 2845 } | 2845 } |
| 2846 | 2846 |
| 2847 visitUnreachable(Unreachable node) { | 2847 visitUnreachable(Unreachable node) { |
| 2848 plug(new Unreachable()); | 2848 plug(new Unreachable()); |
| 2849 } | 2849 } |
| 2850 } | 2850 } |
| OLD | NEW |