Index: pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart |
diff --git a/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart b/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart |
index 6c7469ee96ce2a25cbc2a9316332ec1402191106..cecec47b6d2d5a9fb1ae881e123705cd1b24c312 100644 |
--- a/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart |
+++ b/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart |
@@ -242,6 +242,7 @@ class IRTracer extends TracerUtil implements cps_ir.Visitor { |
} |
String formatReference(cps_ir.Reference ref) { |
+ if (ref == null) return 'null'; |
cps_ir.Definition target = ref.definition; |
if (target is cps_ir.Continuation && target.isReturnContinuation) { |
return "return"; // Do not generate a name for the return continuation |
@@ -389,6 +390,12 @@ class IRTracer extends TracerUtil implements cps_ir.Visitor { |
String value = formatReference(node.value); |
return 'Refinement $value ${node.refineType}'; |
} |
+ |
+ visitNullCheck(cps_ir.NullCheck node) { |
+ String value = formatReference(node.value); |
+ String condition = formatReference(node.condition); |
+ return 'NullCheck $value condition:$condition selector:${node.selector}'; |
+ } |
} |
/** |
@@ -671,4 +678,8 @@ class BlockCollector implements cps_ir.Visitor { |
visitRefinement(cps_ir.Refinement node) { |
unexpectedNode(node); |
} |
+ |
+ visitNullCheck(cps_ir.NullCheck node) { |
+ unexpectedNode(node); |
+ } |
} |