| 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 8b2b173d448ed519d167aa6752d618dbc29fc4c2..4e6c64f497486cfa87f0870e3726cd65926a4bff 100644
|
| --- a/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart
|
| +++ b/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart
|
| @@ -377,6 +377,16 @@ class IRTracer extends TracerUtil implements cps_ir.Visitor {
|
| String args = node.arguments.map(formatReference).join(', ');
|
| return 'ApplyBuiltinOperator $operator ($args)';
|
| }
|
| +
|
| + @override
|
| + visitForeignCode(cps_ir.ForeignCode node) {
|
| + String id = names.name(node);
|
| + String arguments = node.arguments.map(formatReference).join(', ');
|
| + String continuation = node.continuation == null ? ''
|
| + : ' ${formatReference(node.continuation)}';
|
| + printStmt(id, "ForeignCode ${node.type} ${node.codeTemplate} $arguments"
|
| + "$continuation");
|
| + }
|
| }
|
|
|
| /**
|
| @@ -563,64 +573,91 @@ class BlockCollector implements cps_ir.Visitor {
|
| visitLiteralList(cps_ir.LiteralList node) {
|
| unexpectedNode(node);
|
| }
|
| +
|
| visitLiteralMap(cps_ir.LiteralMap node) {
|
| unexpectedNode(node);
|
| }
|
| +
|
| visitConstant(cps_ir.Constant node) {
|
| unexpectedNode(node);
|
| }
|
| +
|
| visitCreateFunction(cps_ir.CreateFunction node) {
|
| unexpectedNode(node);
|
| }
|
| +
|
| visitGetMutableVariable(cps_ir.GetMutableVariable node) {
|
| unexpectedNode(node);
|
| }
|
| +
|
| visitParameter(cps_ir.Parameter node) {
|
| unexpectedNode(node);
|
| }
|
| +
|
| visitMutableVariable(cps_ir.MutableVariable node) {
|
| unexpectedNode(node);
|
| }
|
| +
|
| visitGetField(cps_ir.GetField node) {
|
| unexpectedNode(node);
|
| }
|
| +
|
| visitGetStatic(cps_ir.GetStatic node) {
|
| unexpectedNode(node);
|
| }
|
| +
|
| visitCreateBox(cps_ir.CreateBox node) {
|
| unexpectedNode(node);
|
| }
|
| +
|
| visitCreateInstance(cps_ir.CreateInstance node) {
|
| unexpectedNode(node);
|
| }
|
| +
|
| visitIsTrue(cps_ir.IsTrue node) {
|
| unexpectedNode(node);
|
| }
|
| +
|
| visitIdentical(cps_ir.Identical node) {
|
| unexpectedNode(node);
|
| }
|
| +
|
| visitInterceptor(cps_ir.Interceptor node) {
|
| unexpectedNode(node);
|
| }
|
| +
|
| visitReadTypeVariable(cps_ir.ReadTypeVariable node) {
|
| unexpectedNode(node);
|
| }
|
| +
|
| visitReifyRuntimeType(cps_ir.ReifyRuntimeType node) {
|
| unexpectedNode(node);
|
| }
|
| +
|
| visitTypeExpression(cps_ir.TypeExpression node) {
|
| unexpectedNode(node);
|
| }
|
| +
|
| visitNonTailThrow(cps_ir.NonTailThrow node) {
|
| unexpectedNode(node);
|
| }
|
| +
|
| visitCreateInvocationMirror(cps_ir.CreateInvocationMirror node) {
|
| unexpectedNode(node);
|
| }
|
| +
|
| visitTypeTest(cps_ir.TypeTest node) {
|
| unexpectedNode(node);
|
| }
|
| +
|
| visitApplyBuiltinOperator(cps_ir.ApplyBuiltinOperator node) {
|
| unexpectedNode(node);
|
| }
|
| +
|
| + @override
|
| + visitForeignCode(cps_ir.ForeignCode node) {
|
| + if (node.continuation != null) {
|
| + addEdgeToContinuation(node.continuation);
|
| + }
|
| + }
|
| }
|
|
|