| Index: dart/frog/leg/tree/nodes.dart
|
| diff --git a/dart/frog/leg/tree/nodes.dart b/dart/frog/leg/tree/nodes.dart
|
| index 35e3098e153ee55400402fb763e87d44776cc838..35836dcb2314f568919d5c0670e2fcd86770422a 100644
|
| --- a/dart/frog/leg/tree/nodes.dart
|
| +++ b/dart/frog/leg/tree/nodes.dart
|
| @@ -262,7 +262,9 @@ class Send extends Expression {
|
| if (selector !== null) return selector.getEndToken();
|
| return null;
|
| }
|
| - if (argumentsNode !== null) return argumentsNode.getEndToken();
|
| + if (!isPostfix && argumentsNode !== null) {
|
| + return argumentsNode.getEndToken();
|
| + }
|
| if (selector !== null) return selector.getEndToken();
|
| return receiver.getBeginToken();
|
| }
|
| @@ -578,7 +580,9 @@ class FunctionExpression extends Expression {
|
| }
|
|
|
| Token getEndToken() {
|
| - return (body === null) ? parameters.getEndToken() : body.getEndToken();
|
| + Token token = (body === null) ? null : body.getEndToken();
|
| + token = (token === null) ? parameters.getEndToken() : token;
|
| + return (token === null) ? name.getEndToken() : token;
|
| }
|
| }
|
|
|
| @@ -1648,7 +1652,8 @@ class TryStatement extends Statement {
|
|
|
| Token getEndToken() {
|
| if (finallyBlock !== null) return finallyBlock.getEndToken();
|
| - return catchBlocks.getEndToken();
|
| + if (!catchBlocks.isEmpty()) return catchBlocks.getEndToken();
|
| + return tryBlock.getEndToken();
|
| }
|
| }
|
|
|
|
|