Files
sdk/pkg/front_end/parser_testcases/patterns/issue50591_example2.dart.expect
Paul Berry d579b03f71 [messages] Use withArguments for diagnostics translated by the analyzer.
Changes the `front_end` and `_fe_analyzer_shared` code that reports
the following diagnostics so that it uses `withArguments` rather than
`withArgumentsOld`:

- `expectedButGot`
- `expectedButGot2`
- `expectedAfterButGot`
- `expectedToken`
- `unmatchedToken`
- `constFieldWithoutInitializer`
- `finalFieldWithoutInitializer`
- `superclassHasNoMethod`
- `unavailableDartLibrary`
- `unsupportedPlatformDartLibraryImport`

These messages required special care because they are translated into
analyzer diagnostics by the analyzer method
`FastaErrorReporter.reportByCode`, and the logic to do the translation
depends on the exact parameter names used by the messages.

For some of the messages I've clarified the parameter names and
updated `FastaErrorReporter.reportByCode` accordingly. For others, I
left the parameter names as is.

Change-Id: I6a6a696481c75f4cbb198d1e012aa1ca4294ed61
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/476323
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2026-01-30 10:12:42 -08:00

68 lines
2.8 KiB
Plaintext

Problems reported:
parser/patterns/issue50591_example2:1:19: Can't find '}' to match '{'.
void f(Object? x) {
^
beginCompilationUnit(void)
beginMetadataStar(void)
endMetadataStar(0)
beginTopLevelMember(void)
beginTopLevelMethod(UnmatchedToken({), null, null)
handleVoidKeyword(void)
handleIdentifier(f, topLevelFunctionDeclaration)
handleNoTypeVariables(()
beginFormalParameters((, MemberKind.TopLevelMethod)
beginMetadataStar(Object)
endMetadataStar(0)
beginFormalParameter(Object, MemberKind.TopLevelMethod, null, null, null)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(?)
handleType(Object, ?)
handleIdentifier(x, formalParameterDeclaration)
handleFormalParameterWithoutValue())
endFormalParameter(null, null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.TopLevelMethod)
endFormalParameters(1, (, ), MemberKind.TopLevelMethod)
handleAsyncModifier(null, null)
beginBlockFunctionBody({)
beginParenthesizedExpressionOrRecordLiteral(()
beginSwitchExpression(switch)
handleIdentifier(x, expression)
handleNoTypeArguments())
handleNoArguments())
handleSend(x, x)
handleParenthesizedCondition((, null, null)
beginSwitchExpressionBlock({)
beginSwitchExpressionCase()
beginPattern({)
beginConstantPattern(const)
handleIdentifier(A, expression)
handleNoTypeArguments(()
beginArguments(()
endArguments(0, (, ))
handleSend(A, ))
endConstantPattern(const)
endPattern())
handleSwitchExpressionCasePattern())
handleLiteralInt(0)
endSwitchExpressionCase(const, null, =>, 0)
beginSwitchExpressionCase()
beginPattern(,)
handleNoType(_)
handleWildcardPattern(null, _)
endPattern(_)
handleSwitchExpressionCasePattern(_)
handleLiteralInt(1)
endSwitchExpressionCase(_, null, =>, 1)
endSwitchExpressionBlock(2, {, })
endSwitchExpression(switch, })
handlePositionalRecordField(switch)
endParenthesizedExpression(()
handleExpressionStatement((, ;)
endBlockFunctionBody(1, {, })
endTopLevelMethod(void, null, })
endTopLevelDeclaration(})
handleErrorToken(UnmatchedToken({))
handleRecoverableError(Message[Template(UnmatchedToken), Can't find '}' to match '{'., null, {expected: }, lexeme: {}], UnmatchedToken({), UnmatchedToken({))
endCompilationUnit(1, )