38cab10852
Variable patterns behave so differently inside a patternAssignment that we may want to represent them using different AST nodes inside the analyzer/CFE. This change adds a boolean flag allowing the implementation to know what kind of variable pattern it's looking at when parsing occurs. Bug: https://github.com/dart-lang/sdk/issues/50035 Change-Id: I60adf2865bbe24f85b72a79b1360833bf823bd67 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/273829 Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Commit-Queue: Paul Berry <paulberry@google.com> Reviewed-by: Jens Johansen <jensj@google.com>
37 lines
1.4 KiB
Plaintext
37 lines
1.4 KiB
Plaintext
beginCompilationUnit(f)
|
|
beginMetadataStar(f)
|
|
endMetadataStar(0)
|
|
beginTopLevelMember(f)
|
|
beginTopLevelMethod(, null, null)
|
|
handleNoType()
|
|
handleIdentifier(f, topLevelFunctionDeclaration)
|
|
handleNoTypeVariables(()
|
|
beginFormalParameters((, MemberKind.TopLevelMethod)
|
|
beginMetadataStar(x)
|
|
endMetadataStar(0)
|
|
beginFormalParameter(x, MemberKind.TopLevelMethod, null, null, null)
|
|
handleNoType(()
|
|
handleIdentifier(x, formalParameterDeclaration)
|
|
handleFormalParameterWithoutValue())
|
|
endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.TopLevelMethod)
|
|
endFormalParameters(1, (, ), MemberKind.TopLevelMethod)
|
|
handleAsyncModifier(null, null)
|
|
beginSwitchExpression(switch)
|
|
handleIdentifier(x, expression)
|
|
handleNoTypeArguments())
|
|
handleNoArguments())
|
|
handleSend(x, ))
|
|
handleParenthesizedCondition((, null, null)
|
|
beginSwitchExpressionBlock({)
|
|
beginSwitchExpressionCase()
|
|
handleNoType({)
|
|
handleVariablePattern(null, _, false)
|
|
handleLiteralInt(0)
|
|
endSwitchExpressionCase(null, =>, 0)
|
|
endSwitchExpressionBlock(1, {, })
|
|
endSwitchExpression(switch, })
|
|
handleExpressionFunctionBody(=>, ;)
|
|
endTopLevelMethod(f, null, ;)
|
|
endTopLevelDeclaration()
|
|
endCompilationUnit(1, )
|