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 e3db1e324637a7c0e6af2ec283aad290f5a67ef7..a99a7ab68e6618f56211e6bd416df6451b28a66c 100644 |
--- a/pkg/compiler/lib/src/cps_ir/type_propagation.dart |
+++ b/pkg/compiler/lib/src/cps_ir/type_propagation.dart |
@@ -2117,7 +2117,7 @@ class TypePropagationVisitor implements Visitor { |
} |
void visitInvokeStatic(InvokeStatic node) { |
- if (node.target.library.isInternalLibrary) { |
+ if (node.target.library != null && node.target.library.isInternalLibrary) { |
switch (node.target.name) { |
case InternalMethod.Stringify: |
AbstractValue argValue = getValue(node.arguments[0].definition); |
@@ -2522,6 +2522,11 @@ class TypePropagationVisitor implements Visitor { |
} |
@override |
+ visitYield(Yield node) { |
+ setReachable(node.continuation.definition); |
+ } |
+ |
+ @override |
void visitRefinement(Refinement node) { |
AbstractValue value = getValue(node.value.definition); |
if (value.isNothing || |