Chromium Code Reviews| Index: pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart |
| diff --git a/pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart b/pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart |
| index 8227e7f62a7c47388cd15533175cea0c4af83c5b..2d538659ab78b9e24b48b37491313081300ad749 100644 |
| --- a/pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart |
| +++ b/pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart |
| @@ -173,6 +173,14 @@ class InvokeStatic extends Expression implements Invoke { |
| final Selector selector; |
| final SourceInformation sourceInformation; |
| + /// True if the [target] is known not to diverge or read or write any |
| + /// mutable state. |
| + /// |
| + /// This is set for calls to `getInterceptor` and `identical` to indicate |
| + /// that they can be safely be moved across an impure expression |
| + /// (assuming the [arguments] are not affected by the impure expression). |
| + bool isEffectivelyConstant = false; |
|
asgerf
2015/04/14 13:45:48
I am not overly enthusiastic about this design, bu
|
| + |
| InvokeStatic(this.target, this.selector, this.arguments, |
| {this.sourceInformation}); |