[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>
This commit is contained in:
committed by
Commit Bot
parent
1307a78707
commit
c2b2aa5b9a
@@ -733,6 +733,9 @@ class SyntheticBeginToken extends BeginToken {
|
||||
[CommentToken? precedingComment])
|
||||
: super(type, offset, precedingComment);
|
||||
|
||||
@override
|
||||
Token? beforeSynthetic;
|
||||
|
||||
@override
|
||||
Token copy() =>
|
||||
new SyntheticBeginToken(type, offset, copyComments(precedingComments));
|
||||
@@ -754,6 +757,9 @@ class SyntheticKeywordToken extends KeywordToken {
|
||||
*/
|
||||
SyntheticKeywordToken(Keyword keyword, int offset) : super(keyword, offset);
|
||||
|
||||
@override
|
||||
Token? beforeSynthetic;
|
||||
|
||||
@override
|
||||
int get length => 0;
|
||||
|
||||
|
||||
@@ -1683,9 +1683,9 @@ class Wrong<T> {
|
||||
|
||||
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),
|
||||
]);
|
||||
|
||||
@@ -6,11 +6,9 @@ f() { m(T<R(<Z
|
||||
|
||||
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 @@ beginCompilationUnit(f)
|
||||
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, })
|
||||
|
||||
+2
-3
@@ -102,9 +102,8 @@ parseUnit(UnmatchedToken(())
|
||||
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(}, })
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@ parseUnit(UnmatchedToken(())
|
||||
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(}, })
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@ parseUnit({)
|
||||
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(}, })
|
||||
|
||||
@@ -12,9 +12,9 @@ parser/error_recovery/issue_39060:3:1: Expected '[' before this.
|
||||
}
|
||||
^
|
||||
|
||||
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 @@ beginCompilationUnit(main)
|
||||
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, {, )
|
||||
|
||||
@@ -85,8 +85,8 @@ parseUnit(main)
|
||||
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(}, })
|
||||
|
||||
+4
-4
@@ -112,9 +112,9 @@ parser/error_recovery/keyword_named_class_methods:75:3: Expected an identifier,
|
||||
}
|
||||
^
|
||||
|
||||
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 @@ beginCompilationUnit(class)
|
||||
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, })
|
||||
|
||||
+2
-2
@@ -2325,8 +2325,8 @@ parseUnit(class)
|
||||
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(}, })
|
||||
|
||||
+4
-4
@@ -112,9 +112,9 @@ parser/error_recovery/keyword_named_top_level_methods:74:1: Expected an identifi
|
||||
}
|
||||
^
|
||||
|
||||
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 @@ beginCompilationUnit(int)
|
||||
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, })
|
||||
|
||||
+2
-2
@@ -2241,8 +2241,8 @@ parseUnit(int)
|
||||
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(}, })
|
||||
|
||||
@@ -436,9 +436,9 @@ parser/error_recovery/keyword_named_typedefs:132:14: A typedef needs an explicit
|
||||
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 @@ beginCompilationUnit(typedef)
|
||||
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(=)
|
||||
|
||||
+2
-2
@@ -3057,8 +3057,8 @@ parseUnit(typedef)
|
||||
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(=)
|
||||
|
||||
@@ -38,9 +38,9 @@ library /*isNonNullableByDefault*/;
|
||||
// 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;
|
||||
|
||||
|
||||
+2
-2
@@ -38,9 +38,9 @@ library /*isNonNullableByDefault*/;
|
||||
// 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;
|
||||
|
||||
|
||||
+2
-2
@@ -38,9 +38,9 @@ library /*isNonNullableByDefault*/;
|
||||
// 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;
|
||||
|
||||
|
||||
@@ -22,9 +22,9 @@ library;
|
||||
// }
|
||||
// ^
|
||||
//
|
||||
// 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;
|
||||
|
||||
|
||||
@@ -22,9 +22,9 @@ library;
|
||||
// }
|
||||
// ^
|
||||
//
|
||||
// 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;
|
||||
|
||||
|
||||
+3
-3
@@ -22,9 +22,9 @@ library;
|
||||
// }
|
||||
// ^
|
||||
//
|
||||
// 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;
|
||||
|
||||
@@ -6,9 +6,9 @@ library;
|
||||
// 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)();
|
||||
|
||||
@@ -6,9 +6,9 @@ library;
|
||||
// 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)();
|
||||
|
||||
@@ -6,9 +6,9 @@ library;
|
||||
// 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)();
|
||||
|
||||
@@ -6,9 +6,9 @@ library;
|
||||
// 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)();
|
||||
|
||||
Reference in New Issue
Block a user