| 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 97314262323c6e1d92b1a87c2d2bd6c63280cae9..aa5b1b04f11fe53c179010f037401887cd082a86 100644
|
| --- a/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart
|
| +++ b/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart
|
| @@ -182,15 +182,18 @@ class IRTracer extends TracerUtil implements cps_ir.Visitor {
|
|
|
| visitInvokeConstructor(cps_ir.InvokeConstructor node) {
|
| String dummy = names.name(node);
|
| + String className = node.target.enclosingClass.name;
|
| String callName;
|
| if (node.target.name.isEmpty) {
|
| - callName = '${node.type}';
|
| + callName = '${className}';
|
| } else {
|
| - callName = '${node.type}.${node.target.name}';
|
| + callName = '${className}.${node.target.name}';
|
| }
|
| String args = node.arguments.map(formatReference).join(', ');
|
| + String typeArguments = node.typeArguments.map(formatReference).join(', ');
|
| String kont = formatReference(node.continuation);
|
| - printStmt(dummy, "InvokeConstructor $callName ($args) $kont");
|
| + printStmt(dummy, "InvokeConstructor $callName ($args) "
|
| + "<$typeArguments> $kont");
|
| }
|
|
|
| visitConcatenateStrings(cps_ir.ConcatenateStrings node) {
|
| @@ -348,6 +351,12 @@ class IRTracer extends TracerUtil implements cps_ir.Visitor {
|
| visitReifyRuntimeType(cps_ir.ReifyRuntimeType node) {
|
| return "ReifyRuntimeType ${formatReference(node.value)}";
|
| }
|
| +
|
| + @override
|
| + visitTypeExpression(cps_ir.TypeExpression node) {
|
| + return "TypeExpression ${node.dartType} "
|
| + "${node.arguments.map(formatReference).join(', ')}";
|
| + }
|
| }
|
|
|
| /**
|
| @@ -595,4 +604,9 @@ class BlockCollector implements cps_ir.Visitor {
|
| visitReifyRuntimeType(cps_ir.ReifyRuntimeType node) {
|
| unexpectedNode(node);
|
| }
|
| +
|
| + @override
|
| + visitTypeExpression(cps_ir.TypeExpression node) {
|
| + unexpectedNode(node);
|
| + }
|
| }
|
|
|