|  | beginCompilationUnit(void) | 
|  | beginMetadataStar(void) | 
|  | endMetadataStar(0) | 
|  | beginTopLevelMember(void) | 
|  | beginTopLevelMethod(, null, null) | 
|  | handleVoidKeyword(void) | 
|  | 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) | 
|  | beginBlockFunctionBody({) | 
|  | beginMetadataStar(const) | 
|  | endMetadataStar(0) | 
|  | handleNoType(const) | 
|  | beginVariablesDeclaration(y, null, const) | 
|  | handleIdentifier(y, localVariableDeclaration) | 
|  | beginInitializedIdentifier(y) | 
|  | beginVariableInitializer(=) | 
|  | handleIdentifier(abstract, expression) | 
|  | handleNoTypeArguments(.) | 
|  | handleNoArguments(.) | 
|  | handleSend(abstract, abstract) | 
|  | handleIdentifier(as, expressionContinuation) | 
|  | handleNoTypeArguments(.) | 
|  | handleNoArguments(.) | 
|  | handleSend(as, as) | 
|  | handleDotAccess(., as, false) | 
|  | handleIdentifier(get, expressionContinuation) | 
|  | handleNoTypeArguments(;) | 
|  | handleNoArguments(;) | 
|  | handleSend(get, get) | 
|  | handleDotAccess(., get, false) | 
|  | endVariableInitializer(=) | 
|  | endInitializedIdentifier(y) | 
|  | endVariablesDeclaration(1, ;) | 
|  | beginSwitchStatement(switch) | 
|  | handleIdentifier(x, expression) | 
|  | handleNoTypeArguments()) | 
|  | handleNoArguments()) | 
|  | handleSend(x, x) | 
|  | handleParenthesizedCondition((, null, null) | 
|  | beginSwitchBlock({) | 
|  | beginCaseExpression(case) | 
|  | beginPattern(case) | 
|  | beginConstantPattern(null) | 
|  | handleIdentifier(abstract, expression) | 
|  | handleNoTypeArguments(.) | 
|  | handleNoArguments(.) | 
|  | handleSend(abstract, abstract) | 
|  | handleIdentifier(as, expressionContinuation) | 
|  | handleNoTypeArguments(.) | 
|  | handleNoArguments(.) | 
|  | handleSend(as, as) | 
|  | handleDotAccess(., as, false) | 
|  | handleIdentifier(get, expressionContinuation) | 
|  | handleNoTypeArguments(:) | 
|  | handleNoArguments(:) | 
|  | handleSend(get, get) | 
|  | handleDotAccess(., get, false) | 
|  | endConstantPattern(null) | 
|  | endPattern(get) | 
|  | handleSwitchCaseNoWhenClause(get) | 
|  | endCaseExpression(case, null, :) | 
|  | beginSwitchCase(0, 1, case) | 
|  | handleBreakStatement(false, break, ;) | 
|  | endSwitchCase(0, 1, null, null, 1, case, ;) | 
|  | endSwitchBlock(1, {, }) | 
|  | endSwitchStatement(switch, }) | 
|  | endBlockFunctionBody(2, {, }) | 
|  | endTopLevelMethod(void, null, }) | 
|  | endTopLevelDeclaration(}) | 
|  | endCompilationUnit(1, ) |