| Index: pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart
|
| diff --git a/pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart b/pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart
|
| index cb1659b7688752adac610386e3bb7b72f693026b..cb1da7cbad259e5445aafb36809d79f5546167c1 100644
|
| --- a/pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart
|
| +++ b/pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart
|
| @@ -172,6 +172,10 @@ class BlockCollector extends StatementVisitor {
|
| _addStatement(node);
|
| visitStatement(node.next);
|
| }
|
| +
|
| + visitForeignStatement(ForeignStatement node) {
|
| + _addStatement(node);
|
| + }
|
| }
|
|
|
| class TreeTracer extends TracerUtil with StatementVisitor {
|
| @@ -321,6 +325,11 @@ class TreeTracer extends TracerUtil with StatementVisitor {
|
| String expr(Expression e) {
|
| return e.accept(new SubexpressionVisitor(names));
|
| }
|
| +
|
| + @override
|
| + visitForeignStatement(ForeignStatement node) {
|
| + printStatement(null, 'foreign');
|
| + }
|
| }
|
|
|
| class SubexpressionVisitor extends ExpressionVisitor<String> {
|
| @@ -509,6 +518,12 @@ class SubexpressionVisitor extends ExpressionVisitor<String> {
|
| String args = node.arguments.map(visitExpression).join(', ');
|
| return 'CreateInvocationMirror(${node.selector.name}, $args)';
|
| }
|
| +
|
| + @override
|
| + String visitForeignExpression(ForeignExpression node) {
|
| + String arguments = node.arguments.map(visitExpression).join(', ');
|
| + return 'Foreign "${node.codeTemplate}"($arguments)';
|
| + }
|
| }
|
|
|
| /**
|
|
|