[parser] Add beforeSynthetic to Synthetic*

Follow-up to https://dart-review.googlesource.com/c/sdk/+/205799

Change-Id: I620bf4548095d0597b89e4b6305c2301bcbed144
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/230242
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
diff --git a/pkg/_fe_analyzer_shared/lib/src/scanner/token.dart b/pkg/_fe_analyzer_shared/lib/src/scanner/token.dart
index 0a6ab6c..6573bbc 100644
--- a/pkg/_fe_analyzer_shared/lib/src/scanner/token.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/scanner/token.dart
@@ -734,6 +734,9 @@
       : super(type, offset, precedingComment);
 
   @override
+  Token? beforeSynthetic;
+
+  @override
   Token copy() =>
       new SyntheticBeginToken(type, offset, copyComments(precedingComments));
 
@@ -755,6 +758,9 @@
   SyntheticKeywordToken(Keyword keyword, int offset) : super(keyword, offset);
 
   @override
+  Token? beforeSynthetic;
+
+  @override
   int get length => 0;
 
   @override
diff --git a/pkg/analyzer/test/generated/error_parser_test.dart b/pkg/analyzer/test/generated/error_parser_test.dart
index 41a03fc..7073755 100644
--- a/pkg/analyzer/test/generated/error_parser_test.dart
+++ b/pkg/analyzer/test/generated/error_parser_test.dart
@@ -1683,9 +1683,9 @@
 
   void test_invalidTypedef() {
     parseCompilationUnit("typedef var Function(var arg);", errors: [
+      expectedError(ParserErrorCode.EXPECTED_TOKEN, 0, 7),
       expectedError(ParserErrorCode.MISSING_IDENTIFIER, 8, 3),
       expectedError(ParserErrorCode.MISSING_TYPEDEF_PARAMETERS, 8, 3),
-      expectedError(ParserErrorCode.EXPECTED_TOKEN, 8, 3),
       expectedError(ParserErrorCode.VAR_RETURN_TYPE, 8, 3),
       expectedError(ParserErrorCode.MISSING_FUNCTION_BODY, 29, 1),
     ]);
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_38415.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_38415.crash_dart.expect
index 0b3a014..742472b 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_38415.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_38415.crash_dart.expect
@@ -6,11 +6,9 @@
 
 WARNING: Reporting at eof --- see below for details.
 
-parser/error_recovery/issue_38415.crash:1:15: Expected ';' after this.
+parser/error_recovery/issue_38415.crash:1:14: Expected ';' after this.
 f() { m(T<R(<Z
-              ^...
-
-WARNING: Reporting at eof --- see below for details.
+             ^
 
 parser/error_recovery/issue_38415.crash:1:12: Can't find ')' to match '('.
 f() { m(T<R(<Z
@@ -64,8 +62,7 @@
           endBinaryExpression(<)
         endArguments(1, (, ))
         handleSend(m, })
-        handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], , )
-        // WARNING: Reporting at eof for .
+        handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], Z, Z)
         handleExpressionStatement(;)
       endBlockFunctionBody(1, {, })
     endTopLevelMethod(f, null, })
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_38415.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_38415.crash_dart.intertwined.expect
index 6f0eacd..7e5afad 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_38415.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_38415.crash_dart.intertwined.expect
@@ -102,9 +102,8 @@
                                     listener: endArguments(1, (, ))
                               listener: handleSend(m, })
                   ensureSemicolon())
-                    reportRecoverableError([, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
-                      listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], , )
-                      listener: // WARNING: Reporting at eof for .
+                    reportRecoverableError(Z, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
+                      listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], Z, Z)
                     rewriter()
                   listener: handleExpressionStatement(;)
           notEofOrValue(}, })
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_39058.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_39058.crash_dart.intertwined.expect
index c386263..4bbd143 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_39058.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_39058.crash_dart.intertwined.expect
@@ -41,7 +41,7 @@
                                   rewriter()
                                 listener: handleLiteralList(0, [, null, ])
                     ensureSemicolon(])
-                      reportRecoverableError([, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
+                      reportRecoverableError((, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
                       rewriter()
                     listener: handleExpressionStatement(;)
           notEofOrValue(}, })
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_39058_prime.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_39058_prime.crash_dart.intertwined.expect
index caab7bd..4ed5364 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_39058_prime.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_39058_prime.crash_dart.intertwined.expect
@@ -41,7 +41,7 @@
                                   rewriter()
                                 listener: handleLiteralList(0, [, null, ])
                     ensureSemicolon(])
-                      reportRecoverableError([, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
+                      reportRecoverableError(>, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
                       rewriter()
                     listener: handleExpressionStatement(;)
           notEofOrValue(}, })
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_39060.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_39060.dart.expect
index f1b7c51..de5b119 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_39060.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_39060.dart.expect
@@ -12,9 +12,9 @@
 }
 ^
 
-parser/error_recovery/issue_39060:3:1: Expected ';' after this.
-}
-^
+parser/error_recovery/issue_39060:2:9: Expected ';' after this.
+  {s A<}>
+        ^
 
 beginCompilationUnit(main)
   beginMetadataStar(main)
@@ -49,7 +49,7 @@
           endTypeArguments(1, <, >)
           handleRecoverableError(Message[ExpectedButGot, Expected '[' before this., null, {string: [}], }, })
           handleLiteralList(0, [, null, ])
-          handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], }, })
+          handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], >, >)
           handleExpressionStatement(;)
         endBlock(2, {, }, BlockKind(statement))
       endBlockFunctionBody(1, {, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_39060.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_39060.dart.intertwined.expect
index c6ddd9b..bb5e98d 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_39060.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_39060.dart.intertwined.expect
@@ -85,8 +85,8 @@
                                         rewriter()
                                       listener: handleLiteralList(0, [, null, ])
                           ensureSemicolon(])
-                            reportRecoverableError([, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
-                              listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], }, })
+                            reportRecoverableError(>, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
+                              listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], >, >)
                             rewriter()
                           listener: handleExpressionStatement(;)
                 notEofOrValue(}, })
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.expect
index a281a5c..34b8bbc 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.expect
@@ -112,9 +112,9 @@
   }
   ^
 
-parser/error_recovery/keyword_named_class_methods:75:3: Expected ';' after this.
-  }
-  ^
+parser/error_recovery/keyword_named_class_methods:74:23: Expected ';' after this.
+    return do(x-1) + 1;
+                      ^
 
 parser/error_recovery/keyword_named_class_methods:82:7: 'else' can't be used as an identifier because it's a keyword.
   int else(int x) {
@@ -1394,7 +1394,7 @@
                 handleNoArguments())
                 handleSend(, ))
                 handleParenthesizedCondition(()
-                handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], }, })
+                handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], ;, ;)
               endDoWhileStatement(do, while, ;)
             endBlockFunctionBody(3, {, })
           endClassMethod(null, int, (, null, })
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.intertwined.expect
index 75b6cd7..9e74712 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.intertwined.expect
@@ -2325,8 +2325,8 @@
                             ensureCloseParen(, ()
                           listener: handleParenthesizedCondition(()
                         ensureSemicolon())
-                          reportRecoverableError((, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
-                            listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], }, })
+                          reportRecoverableError(;, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
+                            listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], ;, ;)
                           rewriter()
                         listener: endDoWhileStatement(do, while, ;)
                   notEofOrValue(}, })
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_methods.dart.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_methods.dart.expect
index 85b9f18..8734745 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_methods.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_methods.dart.expect
@@ -112,9 +112,9 @@
 }
 ^
 
-parser/error_recovery/keyword_named_top_level_methods:74:1: Expected ';' after this.
-}
-^
+parser/error_recovery/keyword_named_top_level_methods:73:21: Expected ';' after this.
+  return do(x-1) + 1;
+                    ^
 
 parser/error_recovery/keyword_named_top_level_methods:81:5: 'else' can't be used as an identifier because it's a keyword.
 int else(int x) {
@@ -1359,7 +1359,7 @@
           handleNoArguments())
           handleSend(, ))
           handleParenthesizedCondition(()
-          handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], }, })
+          handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], ;, ;)
         endDoWhileStatement(do, while, ;)
       endBlockFunctionBody(3, {, })
     endTopLevelMethod(int, null, })
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_methods.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_methods.dart.intertwined.expect
index bad4dea..385ad93 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_methods.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_methods.dart.intertwined.expect
@@ -2241,8 +2241,8 @@
                     ensureCloseParen(, ()
                   listener: handleParenthesizedCondition(()
                 ensureSemicolon())
-                  reportRecoverableError((, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
-                    listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], }, })
+                  reportRecoverableError(;, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
+                    listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], ;, ;)
                   rewriter()
                 listener: endDoWhileStatement(do, while, ;)
           notEofOrValue(}, })
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_typedefs.dart.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_typedefs.dart.expect
index 1f1f6e6..f39ac71 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_typedefs.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_typedefs.dart.expect
@@ -436,9 +436,9 @@
 typedef void = void Function();
              ^
 
-parser/error_recovery/keyword_named_typedefs:132:14: Expected ';' after this.
+parser/error_recovery/keyword_named_typedefs:132:9: Expected ';' after this.
 typedef void = void Function();
-             ^
+        ^^^^
 
 parser/error_recovery/keyword_named_typedefs:132:14: Expected a declaration, but got '='.
 typedef void = void Function();
@@ -2219,7 +2219,7 @@
       handleRecoverableError(MissingTypedefParameters, =, =)
       beginFormalParameters((, MemberKind.FunctionTypeAlias)
       endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
-      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], =, =)
+      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], void, void)
     endTypedef(typedef, null, ;)
   endTopLevelDeclaration(=)
   beginMetadataStar(=)
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_typedefs.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_typedefs.dart.intertwined.expect
index 93da896..68d9dd8 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_typedefs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_typedefs.dart.intertwined.expect
@@ -3057,8 +3057,8 @@
             listener: beginFormalParameters((, MemberKind.FunctionTypeAlias)
             listener: endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
         ensureSemicolon())
-          reportRecoverableError((, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
-            listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], =, =)
+          reportRecoverableError(void, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
+            listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], void, void)
           rewriter()
         listener: endTypedef(typedef, null, ;)
   listener: endTopLevelDeclaration(=)
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.weak.expect
index 75defa5..1a48ce6 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.weak.expect
@@ -38,9 +38,9 @@
 // f() { m(T<R(<Z
 //       ^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:15: Error: Expected ';' after this.
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:14: Error: Expected ';' after this.
 // f() { m(T<R(<Z
-//               ^...
+//              ^
 //
 import self as self;
 
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.weak.modular.expect b/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.weak.modular.expect
index 75defa5..1a48ce6 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.weak.modular.expect
@@ -38,9 +38,9 @@
 // f() { m(T<R(<Z
 //       ^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:15: Error: Expected ';' after this.
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:14: Error: Expected ';' after this.
 // f() { m(T<R(<Z
-//               ^...
+//              ^
 //
 import self as self;
 
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.weak.transformed.expect
index 75defa5..1a48ce6 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.weak.transformed.expect
@@ -38,9 +38,9 @@
 // f() { m(T<R(<Z
 //       ^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:15: Error: Expected ';' after this.
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:14: Error: Expected ';' after this.
 // f() { m(T<R(<Z
-//               ^...
+//              ^
 //
 import self as self;
 
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.expect
index a49ea7c..2504ef6 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.expect
@@ -22,9 +22,9 @@
 // }
 // ^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:4:1: Error: Expected ';' after this.
-// }
-// ^
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:9: Error: Expected ';' after this.
+//   {s A<}>
+//         ^
 //
 import self as self;
 
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.modular.expect b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.modular.expect
index a49ea7c..2504ef6 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.modular.expect
@@ -22,9 +22,9 @@
 // }
 // ^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:4:1: Error: Expected ';' after this.
-// }
-// ^
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:9: Error: Expected ';' after this.
+//   {s A<}>
+//         ^
 //
 import self as self;
 
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.transformed.expect
index f0e2ebd..3684ba3 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.transformed.expect
@@ -22,9 +22,9 @@
 // }
 // ^
 //
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:4:1: Error: Expected ';' after this.
-// }
-// ^
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:9: Error: Expected ';' after this.
+//   {s A<}>
+//         ^
 //
 import self as self;
 import "dart:core" as core;
diff --git a/pkg/front_end/testcases/rasta/issue_000046.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000046.dart.weak.expect
index 4625b85..77f4768 100644
--- a/pkg/front_end/testcases/rasta/issue_000046.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000046.dart.weak.expect
@@ -6,9 +6,9 @@
 //   C c = new Object)();
 //             ^^^^^^
 //
-// pkg/front_end/testcases/rasta/issue_000046.dart:6:19: Error: Expected ';' after this.
+// pkg/front_end/testcases/rasta/issue_000046.dart:6:13: Error: Expected ';' after this.
 //   C c = new Object)();
-//                   ^
+//             ^^^^^^
 //
 // pkg/front_end/testcases/rasta/issue_000046.dart:6:19: Error: Expected a class member, but got ')'.
 //   C c = new Object)();
diff --git a/pkg/front_end/testcases/rasta/issue_000046.dart.weak.modular.expect b/pkg/front_end/testcases/rasta/issue_000046.dart.weak.modular.expect
index 4625b85..77f4768 100644
--- a/pkg/front_end/testcases/rasta/issue_000046.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/rasta/issue_000046.dart.weak.modular.expect
@@ -6,9 +6,9 @@
 //   C c = new Object)();
 //             ^^^^^^
 //
-// pkg/front_end/testcases/rasta/issue_000046.dart:6:19: Error: Expected ';' after this.
+// pkg/front_end/testcases/rasta/issue_000046.dart:6:13: Error: Expected ';' after this.
 //   C c = new Object)();
-//                   ^
+//             ^^^^^^
 //
 // pkg/front_end/testcases/rasta/issue_000046.dart:6:19: Error: Expected a class member, but got ')'.
 //   C c = new Object)();
diff --git a/pkg/front_end/testcases/rasta/issue_000046.dart.weak.outline.expect b/pkg/front_end/testcases/rasta/issue_000046.dart.weak.outline.expect
index 204c7a9..ef6529e 100644
--- a/pkg/front_end/testcases/rasta/issue_000046.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000046.dart.weak.outline.expect
@@ -6,9 +6,9 @@
 //   C c = new Object)();
 //             ^^^^^^
 //
-// pkg/front_end/testcases/rasta/issue_000046.dart:6:19: Error: Expected ';' after this.
+// pkg/front_end/testcases/rasta/issue_000046.dart:6:13: Error: Expected ';' after this.
 //   C c = new Object)();
-//                   ^
+//             ^^^^^^
 //
 // pkg/front_end/testcases/rasta/issue_000046.dart:6:19: Error: Expected a class member, but got ')'.
 //   C c = new Object)();
diff --git a/pkg/front_end/testcases/rasta/issue_000046.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000046.dart.weak.transformed.expect
index 4625b85..77f4768 100644
--- a/pkg/front_end/testcases/rasta/issue_000046.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000046.dart.weak.transformed.expect
@@ -6,9 +6,9 @@
 //   C c = new Object)();
 //             ^^^^^^
 //
-// pkg/front_end/testcases/rasta/issue_000046.dart:6:19: Error: Expected ';' after this.
+// pkg/front_end/testcases/rasta/issue_000046.dart:6:13: Error: Expected ';' after this.
 //   C c = new Object)();
-//                   ^
+//             ^^^^^^
 //
 // pkg/front_end/testcases/rasta/issue_000046.dart:6:19: Error: Expected a class member, but got ')'.
 //   C c = new Object)();