parseUnit(void) skipErrorTokens(void) listener: beginCompilationUnit(void) syntheticPreviousToken(void) parseTopLevelDeclarationImpl(, DirectiveContext(DirectiveState.Unknown)) parseMetadataStar() listener: beginMetadataStar(void) listener: endMetadataStar(0) parseTopLevelMemberImpl() listener: beginTopLevelMember(void) parseTopLevelMethod(, null, null, , VoidType(), null, f, false) listener: beginTopLevelMethod(, null, null) listener: handleVoidKeyword(void) ensureIdentifierPotentiallyRecovered(void, topLevelFunctionDeclaration, false) listener: handleIdentifier(f, topLevelFunctionDeclaration) parseMethodTypeVar(f) listener: handleNoTypeVariables(() parseGetterOrFormalParameters(f, f, false, MemberKind.TopLevelMethod) parseFormalParameters(f, MemberKind.TopLevelMethod) parseFormalParametersRest((, MemberKind.TopLevelMethod) listener: beginFormalParameters((, MemberKind.TopLevelMethod) parseFormalParameter((, FormalParameterKind.requiredPositional, MemberKind.TopLevelMethod) parseMetadataStar(() listener: beginMetadataStar(x) listener: endMetadataStar(0) listener: beginFormalParameter(x, MemberKind.TopLevelMethod, null, null, null) listener: handleNoType(() ensureIdentifier((, formalParameterDeclaration) listener: handleIdentifier(x, formalParameterDeclaration) listener: handleFormalParameterWithoutValue()) listener: endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.TopLevelMethod) listener: endFormalParameters(1, (, ), MemberKind.TopLevelMethod) parseAsyncModifierOpt()) listener: handleAsyncModifier(null, null) inPlainSync() parseFunctionBody(), false, false) listener: beginBlockFunctionBody({) notEofOrValue(}, var) parseStatement({) parseStatementX({) parseExpressionStatementOrDeclarationAfterModifiers(var, {, null, var, null, null) skipOuterPattern(var) listener: beginMetadataStar(var) listener: endMetadataStar(0) parsePatternVariableDeclarationStatement(var, {, var) parsePattern(var, PatternContext.declaration, precedence: 1) listener: beginPattern(var) parsePrimaryPattern(var, PatternContext.declaration) parseParenthesizedPatternOrRecordPattern(var, PatternContext.declaration) parsePattern((, PatternContext.declaration, precedence: 1) listener: beginPattern(() parsePrimaryPattern((, PatternContext.declaration) parseVariablePattern((, PatternContext.declaration, typeInfo: NoType()) listener: handleNoType(y) listener: handleDeclaredVariablePattern(null, y, false) listener: handleNullAssertPattern(!) listener: endPattern(!) ensureCloseParen(!, () listener: handleParenthesizedPattern(() listener: endPattern()) parseExpression(=) looksLikeOuterPatternEquals(=) skipOuterPattern(=) skipObjectPatternRest(x) parsePrecedenceExpression(=, 1, true, ConstantPatternContext.none) parseUnaryExpression(=, true, ConstantPatternContext.none) parsePrimary(=, expression, ConstantPatternContext.none) parseSendOrFunctionLiteral(=, expression, ConstantPatternContext.none) parseSend(=, expression, ConstantPatternContext.none) isNextIdentifier(=) ensureIdentifier(=, expression) listener: handleIdentifier(x, expression) listener: handleNoTypeArguments(;) parseArgumentsOpt(x) listener: handleNoArguments(;) listener: handleSend(x, ;) ensureSemicolon(x) listener: handlePatternVariableDeclarationStatement(var, =, ;) notEofOrValue(}, }) listener: endBlockFunctionBody(1, {, }) listener: endTopLevelMethod(void, null, }) listener: endTopLevelDeclaration() reportAllErrorTokens(void) listener: endCompilationUnit(1, )