| 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 1416 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1427 | 1427 |
| 1428 /// Initial values for the fields on the class. | 1428 /// Initial values for the fields on the class. |
| 1429 /// The order corresponds to the order of fields on the class. | 1429 /// The order corresponds to the order of fields on the class. |
| 1430 final List<Reference<Primitive>> argumentRefs; | 1430 final List<Reference<Primitive>> argumentRefs; |
| 1431 | 1431 |
| 1432 /// The runtime type information structure which contains the type arguments. | 1432 /// The runtime type information structure which contains the type arguments. |
| 1433 /// | 1433 /// |
| 1434 /// May be `null` to indicate that no type information is needed because the | 1434 /// May be `null` to indicate that no type information is needed because the |
| 1435 /// compiler determined that the type information for instances of this class | 1435 /// compiler determined that the type information for instances of this class |
| 1436 /// is not needed at runtime. | 1436 /// is not needed at runtime. |
| 1437 final Reference<Primitive> typeInformationRef; | 1437 Reference<Primitive> typeInformationRef; |
| 1438 | 1438 |
| 1439 final SourceInformation sourceInformation; | 1439 final SourceInformation sourceInformation; |
| 1440 | 1440 |
| 1441 Primitive argument(int n) => argumentRefs[n].definition; | 1441 Primitive argument(int n) => argumentRefs[n].definition; |
| 1442 Iterable<Primitive> get arguments => _dereferenceList(argumentRefs); | 1442 Iterable<Primitive> get arguments => _dereferenceList(argumentRefs); |
| 1443 Primitive get typeInformation => typeInformationRef?.definition; | 1443 Primitive get typeInformation => typeInformationRef?.definition; |
| 1444 | 1444 |
| 1445 CreateInstance(this.classElement, List<Primitive> arguments, | 1445 CreateInstance(this.classElement, List<Primitive> arguments, |
| 1446 Primitive typeInformation, this.sourceInformation) | 1446 Primitive typeInformation, this.sourceInformation) |
| 1447 : this.argumentRefs = _referenceList(arguments), | 1447 : this.argumentRefs = _referenceList(arguments), |
| (...skipping 1662 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3110 plug(new Branch.loose( | 3110 plug(new Branch.loose( |
| 3111 _definitions.getCopy(node.conditionRef), | 3111 _definitions.getCopy(node.conditionRef), |
| 3112 _copies[node.trueContinuation], | 3112 _copies[node.trueContinuation], |
| 3113 _copies[node.falseContinuation])..isStrictCheck = node.isStrictCheck); | 3113 _copies[node.falseContinuation])..isStrictCheck = node.isStrictCheck); |
| 3114 } | 3114 } |
| 3115 | 3115 |
| 3116 visitUnreachable(Unreachable node) { | 3116 visitUnreachable(Unreachable node) { |
| 3117 plug(new Unreachable()); | 3117 plug(new Unreachable()); |
| 3118 } | 3118 } |
| 3119 } | 3119 } |
| OLD | NEW |