Files
sdk/pkg/front_end/parser_testcases/patterns/issue51415.dart.parser.expect
Johnni Winther f583a2bf73 [parser] Fix error reporting on const ()
The parser wrongly flagged any `const (...)` in a constant pattern
context and not just the intended `const ()`.

Closes #51415

Change-Id: Id7b0621cda4a144ac186dea55dbcbeaf041349bf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/283602
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2023-02-16 11:35:28 +00:00

12 lines
1.3 KiB
Plaintext

void foo() {
if (obj case (longFieldName: const (first: 1, second: 2))) {;}
if (obj case const (element, element, element, element)) {;}
if (obj case Foo(longFieldName: const (first: 1, second: 2))) {;}
}
void[KeywordToken] foo[StringToken]([BeginToken])[SimpleToken] {[BeginToken]
if[KeywordToken] ([BeginToken]obj[StringToken] case[KeywordToken] ([BeginToken]longFieldName[StringToken]:[SimpleToken] const[KeywordToken] ([BeginToken]first[StringToken]:[SimpleToken] 1[StringToken],[SimpleToken] second[StringToken]:[SimpleToken] 2[StringToken])[SimpleToken])[SimpleToken])[SimpleToken] {[BeginToken];[SimpleToken]}[SimpleToken]
if[KeywordToken] ([BeginToken]obj[StringToken] case[KeywordToken] const[KeywordToken] ([BeginToken]element[StringToken],[SimpleToken] element[StringToken],[SimpleToken] element[StringToken],[SimpleToken] element[StringToken])[SimpleToken])[SimpleToken] {[BeginToken];[SimpleToken]}[SimpleToken]
if[KeywordToken] ([BeginToken]obj[StringToken] case[KeywordToken] Foo[StringToken]([BeginToken]longFieldName[StringToken]:[SimpleToken] const[KeywordToken] ([BeginToken]first[StringToken]:[SimpleToken] 1[StringToken],[SimpleToken] second[StringToken]:[SimpleToken] 2[StringToken])[SimpleToken])[SimpleToken])[SimpleToken] {[BeginToken];[SimpleToken]}[SimpleToken]
}[SimpleToken][SimpleToken]