| Index: dart/frog/leg/tree/nodes.dart
|
| diff --git a/dart/frog/leg/tree/nodes.dart b/dart/frog/leg/tree/nodes.dart
|
| index 9bf503670296063715847efb10ab26b6d3c12255..1f1fe841506bf644ec7c9895ff83af180008a074 100644
|
| --- a/dart/frog/leg/tree/nodes.dart
|
| +++ b/dart/frog/leg/tree/nodes.dart
|
| @@ -1425,7 +1425,14 @@ class SwitchCase extends Node {
|
| return caseKeyword;
|
| }
|
|
|
| - Token getEndToken() => statements.getEndToken();
|
| + Token getEndToken() {
|
| + if (statements.nodes.isEmpty()) {
|
| + // The colon after the expression.
|
| + return expression.getEndToken().next;
|
| + } else {
|
| + return statements.getEndToken();
|
| + }
|
| + }
|
| }
|
|
|
| class DefaultCase extends Node {
|
| @@ -1446,11 +1453,18 @@ class DefaultCase extends Node {
|
| }
|
|
|
| Token getBeginToken() {
|
| - if (label === null) return label.getBeginToken();
|
| + if (label !== null) return label.getBeginToken();
|
| return defaultKeyword;
|
| }
|
|
|
| - Token getEndToken() => statements.getEndToken();
|
| + Token getEndToken() {
|
| + if (statements.nodes.isEmpty()) {
|
| + // The colon after default.
|
| + return defaultKeyword.next;
|
| + } else {
|
| + return statements.getEndToken();
|
| + }
|
| + }
|
| }
|
|
|
| class GotoStatement extends Statement {
|
|
|