| Index: pkg/compiler/lib/src/cps_ir/type_propagation.dart
|
| diff --git a/pkg/compiler/lib/src/cps_ir/type_propagation.dart b/pkg/compiler/lib/src/cps_ir/type_propagation.dart
|
| index 2a4307e2e7d01a333240b8505a433a61ccee1fdf..842d460e100272048de5271cc68f01f3cac6d5e4 100644
|
| --- a/pkg/compiler/lib/src/cps_ir/type_propagation.dart
|
| +++ b/pkg/compiler/lib/src/cps_ir/type_propagation.dart
|
| @@ -301,7 +301,8 @@ class _TransformingVisitor<T> extends RecursiveVisitor {
|
| void visitTypeOperator(TypeOperator node) {
|
| Continuation cont = node.continuation.definition;
|
| LetPrim letPrim = constifyExpression(node, cont, () {
|
| - node.receiver.unlink();
|
| + node.value.unlink();
|
| + node.typeArguments.forEach((Reference ref) => ref.unlink());
|
| node.continuation.unlink();
|
| });
|
|
|
| @@ -707,9 +708,10 @@ class _TypePropagationVisitor<T> implements Visitor {
|
| if (node.isTypeCast) {
|
| // TODO(jgruber): Add support for `as` casts.
|
| setValues(nonConstant());
|
| + return;
|
| }
|
|
|
| - _AbstractValue<T> cell = getValue(node.receiver.definition);
|
| + _AbstractValue<T> cell = getValue(node.value.definition);
|
| if (cell.isNothing) {
|
| return; // And come back later.
|
| } else if (cell.isConstant && node.type.kind == types.TypeKind.INTERFACE) {
|
|
|