| Index: sdk/lib/_internal/compiler/implementation/dart_backend/dart_tree_printer.dart
|
| diff --git a/sdk/lib/_internal/compiler/implementation/dart_backend/dart_tree_printer.dart b/sdk/lib/_internal/compiler/implementation/dart_backend/dart_tree_printer.dart
|
| index 0d604cba6571dc13b3ea213bed572dafa6ac05b3..30beb55df2ec4867b62118833fb84f6d8356200e 100644
|
| --- a/sdk/lib/_internal/compiler/implementation/dart_backend/dart_tree_printer.dart
|
| +++ b/sdk/lib/_internal/compiler/implementation/dart_backend/dart_tree_printer.dart
|
| @@ -326,8 +326,11 @@ class TreePrinter {
|
| }
|
| } else if (exp is CallMethod) {
|
| precedence = CALLEE;
|
| + tree.Node receiver = exp.object is This
|
| + ? null
|
| + : makeExp(exp.object, PRIMARY, beginStmt: beginStmt);
|
| result = new tree.Send(
|
| - makeExp(exp.object, PRIMARY, beginStmt: beginStmt),
|
| + receiver,
|
| makeIdentifier(exp.methodName),
|
| argList(exp.arguments.map(makeArgument)));
|
| } else if (exp is CallNew) {
|
| @@ -370,9 +373,10 @@ class TreePrinter {
|
| colon);
|
| } else if (exp is FieldExpression) {
|
| precedence = PRIMARY;
|
| - result = new tree.Send(
|
| - makeExp(exp.object, PRIMARY, beginStmt: beginStmt),
|
| - makeIdentifier(exp.fieldName));
|
| + tree.Node receiver = exp.object is This
|
| + ? null
|
| + : makeExp(exp.object, PRIMARY, beginStmt: beginStmt);
|
| + result = new tree.Send(receiver, makeIdentifier(exp.fieldName));
|
| } else if (exp is FunctionExpression) {
|
| precedence = PRIMARY;
|
| if (beginStmt && exp.name != null) {
|
|
|