Chromium Code Reviews| 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 '../constants/expressions.dart'; | 6 import '../constants/expressions.dart'; |
| 7 import '../constants/values.dart' as values show ConstantValue; | 7 import '../constants/values.dart' as values show ConstantValue; |
| 8 import '../dart_types.dart' show DartType, InterfaceType, TypeVariableType; | 8 import '../dart_types.dart' show DartType, InterfaceType, TypeVariableType; |
| 9 import '../elements/elements.dart'; | 9 import '../elements/elements.dart'; |
| 10 import '../io/source_information.dart' show SourceInformation; | 10 import '../io/source_information.dart' show SourceInformation; |
| (...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 282 /// there is used by optimization passes. This is likely to change. | 282 /// there is used by optimization passes. This is likely to change. |
| 283 class InvokeMethod extends Expression implements Invoke { | 283 class InvokeMethod extends Expression implements Invoke { |
| 284 Reference<Primitive> receiver; | 284 Reference<Primitive> receiver; |
| 285 Selector selector; | 285 Selector selector; |
| 286 TypeMask mask; | 286 TypeMask mask; |
| 287 final List<Reference<Primitive>> arguments; | 287 final List<Reference<Primitive>> arguments; |
| 288 final Reference<Continuation> continuation; | 288 final Reference<Continuation> continuation; |
| 289 final SourceInformation sourceInformation; | 289 final SourceInformation sourceInformation; |
| 290 | 290 |
| 291 /// If true, it is known that the receiver cannot be `null`. | 291 /// If true, it is known that the receiver cannot be `null`. |
| 292 /// | 292 bool receiverIsNotNull = false; |
|
asgerf
2015/06/29 14:09:12
The tree builder expects this to be set, but it's
| |
| 293 /// This field is `null` until initialized by optimization phases. | |
| 294 bool receiverIsNotNull; | |
| 295 | 293 |
| 296 InvokeMethod(Primitive receiver, | 294 InvokeMethod(Primitive receiver, |
| 297 this.selector, | 295 this.selector, |
| 298 this.mask, | 296 this.mask, |
| 299 List<Primitive> arguments, | 297 List<Primitive> arguments, |
| 300 Continuation continuation, | 298 Continuation continuation, |
| 301 {this.sourceInformation}) | 299 {this.sourceInformation}) |
| 302 : this.receiver = new Reference<Primitive>(receiver), | 300 : this.receiver = new Reference<Primitive>(receiver), |
| 303 this.arguments = _referenceList(arguments), | 301 this.arguments = _referenceList(arguments), |
| 304 this.continuation = new Reference<Continuation>(continuation); | 302 this.continuation = new Reference<Continuation>(continuation); |
| (...skipping 966 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1271 const RemovalVisitor(); | 1269 const RemovalVisitor(); |
| 1272 | 1270 |
| 1273 processReference(Reference reference) { | 1271 processReference(Reference reference) { |
| 1274 reference.unlink(); | 1272 reference.unlink(); |
| 1275 } | 1273 } |
| 1276 | 1274 |
| 1277 static void remove(Node node) { | 1275 static void remove(Node node) { |
| 1278 (const RemovalVisitor()).visit(node); | 1276 (const RemovalVisitor()).visit(node); |
| 1279 } | 1277 } |
| 1280 } | 1278 } |
| OLD | NEW |