| parseUnit(main) | |
| skipErrorTokens(main) | |
| listener: beginCompilationUnit(main) | |
| syntheticPreviousToken(main) | |
| parseTopLevelDeclarationImpl(, Instance of 'DirectiveContext') | |
| parseMetadataStar() | |
| listener: beginMetadataStar(main) | |
| listener: endMetadataStar(0) | |
| parseTopLevelMemberImpl() | |
| listener: beginTopLevelMember(main) | |
| isReservedKeyword(() | |
| parseTopLevelMethod(, null, , Instance of 'NoType', null, main, false) | |
| listener: beginTopLevelMethod(, null) | |
| listener: handleNoType() | |
| ensureIdentifierPotentiallyRecovered(, topLevelFunctionDeclaration, false) | |
| listener: handleIdentifier(main, topLevelFunctionDeclaration) | |
| parseMethodTypeVar(main) | |
| listener: handleNoTypeVariables(() | |
| parseGetterOrFormalParameters(main, main, false, MemberKind.TopLevelMethod) | |
| parseFormalParameters(main, MemberKind.TopLevelMethod) | |
| parseFormalParametersRest((, MemberKind.TopLevelMethod) | |
| listener: beginFormalParameters((, MemberKind.TopLevelMethod) | |
| listener: endFormalParameters(0, (, ), MemberKind.TopLevelMethod) | |
| parseAsyncModifierOpt()) | |
| listener: handleAsyncModifier(null, null) | |
| inPlainSync() | |
| parseFunctionBody(), false, false) | |
| listener: beginBlockFunctionBody({) | |
| notEofOrValue(}, dynamic) | |
| parseStatement({) | |
| parseStatementX({) | |
| parseExpressionStatementOrDeclaration({, false) | |
| parseExpressionStatementOrDeclarationAfterModifiers({, {, null, null, null, false) | |
| looksLikeLocalFunction(foo) | |
| listener: beginMetadataStar(dynamic) | |
| listener: endMetadataStar(0) | |
| listener: handleIdentifier(dynamic, typeReference) | |
| listener: handleNoTypeArguments(foo) | |
| listener: handleType(dynamic, null) | |
| listener: beginVariablesDeclaration(foo, null, null) | |
| parseVariablesDeclarationRest(dynamic, true) | |
| parseOptionallyInitializedIdentifier(dynamic) | |
| ensureIdentifier(dynamic, localVariableDeclaration) | |
| listener: handleIdentifier(foo, localVariableDeclaration) | |
| listener: beginInitializedIdentifier(foo) | |
| parseVariableInitializerOpt(foo) | |
| listener: beginVariableInitializer(=) | |
| parseExpression(=) | |
| parsePrecedenceExpression(=, 1, true) | |
| parseUnaryExpression(=, true) | |
| parsePrimary(=, expression) | |
| parseNewExpression(=) | |
| listener: beginNewExpression(new) | |
| parseConstructorReference(new, null) | |
| ensureIdentifier(new, constructorReference) | |
| listener: handleIdentifier(X, constructorReference) | |
| listener: beginConstructorReference(X) | |
| parseQualifiedRestOpt(X, constructorReferenceContinuation) | |
| listener: handleNoTypeArguments(() | |
| listener: handleNoConstructorReferenceContinuationAfterTypeArguments(() | |
| listener: endConstructorReference(X, null, () | |
| parseConstructorInvocationArguments(X) | |
| parseArgumentsRest(() | |
| listener: beginArguments(() | |
| listener: endArguments(0, (, )) | |
| listener: endNewExpression(new) | |
| listener: endVariableInitializer(=) | |
| listener: endInitializedIdentifier(foo) | |
| ensureSemicolon()) | |
| listener: endVariablesDeclaration(1, ;) | |
| notEofOrValue(}, var) | |
| parseStatement(;) | |
| parseStatementX(;) | |
| parseExpressionStatementOrDeclarationAfterModifiers(var, ;, null, var, null, false) | |
| looksLikeLocalFunction(bar) | |
| listener: beginMetadataStar(var) | |
| listener: endMetadataStar(0) | |
| listener: handleNoType(var) | |
| listener: beginVariablesDeclaration(bar, null, var) | |
| parseVariablesDeclarationRest(var, true) | |
| parseOptionallyInitializedIdentifier(var) | |
| ensureIdentifier(var, localVariableDeclaration) | |
| listener: handleIdentifier(bar, localVariableDeclaration) | |
| listener: beginInitializedIdentifier(bar) | |
| parseVariableInitializerOpt(bar) | |
| listener: beginVariableInitializer(=) | |
| parseExpression(=) | |
| parsePrecedenceExpression(=, 1, true) | |
| parseUnaryExpression(=, true) | |
| parsePrimary(=, expression) | |
| parseSendOrFunctionLiteral(=, expression) | |
| parseSend(=, expression) | |
| ensureIdentifier(=, expression) | |
| listener: handleIdentifier(foo, expression) | |
| listener: handleNoTypeArguments(.) | |
| parseArgumentsOpt(foo) | |
| listener: handleNoArguments(.) | |
| listener: handleSend(foo, .) | |
| parsePrimary(., expressionContinuation) | |
| inPlainSync() | |
| parseSendOrFunctionLiteral(., expressionContinuation) | |
| parseSend(., expressionContinuation) | |
| ensureIdentifier(., expressionContinuation) | |
| inPlainSync() | |
| listener: handleIdentifier(late, expressionContinuation) | |
| listener: handleNoTypeArguments(;) | |
| parseArgumentsOpt(late) | |
| listener: handleNoArguments(;) | |
| listener: handleSend(late, ;) | |
| listener: handleEndingBinaryExpression(.) | |
| listener: endVariableInitializer(=) | |
| listener: endInitializedIdentifier(bar) | |
| ensureSemicolon(late) | |
| listener: endVariablesDeclaration(1, ;) | |
| notEofOrValue(}, late) | |
| parseStatement(;) | |
| parseStatementX(;) | |
| parseExpressionStatementOrDeclaration(;, false) | |
| parseExpressionStatementOrDeclarationAfterModifiers(;, ;, null, null, null, false) | |
| looksLikeLocalFunction(late) | |
| parseExpressionStatement(;) | |
| parseExpression(;) | |
| parsePrecedenceExpression(;, 1, true) | |
| parseUnaryExpression(;, true) | |
| parsePrimary(;, expression) | |
| inPlainSync() | |
| parseSendOrFunctionLiteral(;, expression) | |
| looksLikeFunctionBody(;) | |
| parseSend(;, expression) | |
| ensureIdentifier(;, expression) | |
| inPlainSync() | |
| listener: handleIdentifier(late, expression) | |
| listener: handleNoTypeArguments(() | |
| parseArgumentsOpt(late) | |
| parseArguments(late) | |
| parseArgumentsRest(() | |
| listener: beginArguments(() | |
| listener: endArguments(0, (, )) | |
| listener: handleSend(late, ;) | |
| ensureSemicolon()) | |
| listener: handleExpressionStatement(;) | |
| notEofOrValue(}, bar) | |
| parseStatement(;) | |
| parseStatementX(;) | |
| parseExpressionStatementOrDeclarationAfterModifiers(;, ;, null, null, null, false) | |
| looksLikeLocalFunction(bar) | |
| parseExpressionStatement(;) | |
| parseExpression(;) | |
| parsePrecedenceExpression(;, 1, true) | |
| parseUnaryExpression(;, true) | |
| parsePrimary(;, expression) | |
| parseSendOrFunctionLiteral(;, expression) | |
| looksLikeFunctionBody(;) | |
| parseSend(;, expression) | |
| ensureIdentifier(;, expression) | |
| listener: handleIdentifier(bar, expression) | |
| listener: handleNoTypeArguments(() | |
| parseArgumentsOpt(bar) | |
| parseArguments(bar) | |
| parseArgumentsRest(() | |
| listener: beginArguments(() | |
| listener: endArguments(0, (, )) | |
| listener: handleSend(bar, ;) | |
| ensureSemicolon()) | |
| listener: handleExpressionStatement(;) | |
| notEofOrValue(}, new) | |
| parseStatement(;) | |
| parseStatementX(;) | |
| parseExpressionStatementOrDeclaration(;, false) | |
| parseExpressionStatementOrDeclarationAfterModifiers(;, ;, null, null, null, false) | |
| looksLikeLocalFunction(new) | |
| parseExpressionStatement(;) | |
| parseExpression(;) | |
| parsePrecedenceExpression(;, 1, true) | |
| parseUnaryExpression(;, true) | |
| parsePrimary(;, expression) | |
| parseNewExpression(;) | |
| listener: beginNewExpression(new) | |
| parseConstructorReference(new, null) | |
| ensureIdentifier(new, constructorReference) | |
| listener: handleIdentifier(X, constructorReference) | |
| listener: beginConstructorReference(X) | |
| parseQualifiedRestOpt(X, constructorReferenceContinuation) | |
| listener: handleNoTypeArguments(() | |
| listener: handleNoConstructorReferenceContinuationAfterTypeArguments(() | |
| listener: endConstructorReference(X, null, () | |
| parseConstructorInvocationArguments(X) | |
| parseArgumentsRest(() | |
| listener: beginArguments(() | |
| listener: endArguments(0, (, )) | |
| listener: endNewExpression(new) | |
| parsePrimary(., expressionContinuation) | |
| inPlainSync() | |
| parseSendOrFunctionLiteral(., expressionContinuation) | |
| looksLikeFunctionBody(;) | |
| parseSend(., expressionContinuation) | |
| ensureIdentifier(., expressionContinuation) | |
| inPlainSync() | |
| listener: handleIdentifier(late, expressionContinuation) | |
| listener: handleNoTypeArguments(() | |
| parseArgumentsOpt(late) | |
| parseArguments(late) | |
| parseArgumentsRest(() | |
| listener: beginArguments(() | |
| listener: endArguments(0, (, )) | |
| listener: handleSend(late, ;) | |
| listener: handleEndingBinaryExpression(.) | |
| ensureSemicolon()) | |
| listener: handleExpressionStatement(;) | |
| notEofOrValue(}, new) | |
| parseStatement(;) | |
| parseStatementX(;) | |
| parseExpressionStatementOrDeclaration(;, false) | |
| parseExpressionStatementOrDeclarationAfterModifiers(;, ;, null, null, null, false) | |
| looksLikeLocalFunction(new) | |
| parseExpressionStatement(;) | |
| parseExpression(;) | |
| parsePrecedenceExpression(;, 1, true) | |
| parseUnaryExpression(;, true) | |
| parsePrimary(;, expression) | |
| parseNewExpression(;) | |
| listener: beginNewExpression(new) | |
| parseConstructorReference(new, null) | |
| ensureIdentifier(new, constructorReference) | |
| listener: handleIdentifier(Y, constructorReference) | |
| listener: beginConstructorReference(Y) | |
| parseQualifiedRestOpt(Y, constructorReferenceContinuation) | |
| listener: handleNoTypeArguments(() | |
| listener: handleNoConstructorReferenceContinuationAfterTypeArguments(() | |
| listener: endConstructorReference(Y, null, () | |
| parseConstructorInvocationArguments(Y) | |
| parseArgumentsRest(() | |
| listener: beginArguments(() | |
| listener: endArguments(0, (, )) | |
| listener: endNewExpression(new) | |
| parsePrimary(., expressionContinuation) | |
| inPlainSync() | |
| parseSendOrFunctionLiteral(., expressionContinuation) | |
| parseSend(., expressionContinuation) | |
| ensureIdentifier(., expressionContinuation) | |
| inPlainSync() | |
| listener: handleIdentifier(late, expressionContinuation) | |
| listener: handleNoTypeArguments(;) | |
| parseArgumentsOpt(late) | |
| listener: handleNoArguments(;) | |
| listener: handleSend(late, ;) | |
| listener: handleEndingBinaryExpression(.) | |
| ensureSemicolon(late) | |
| listener: handleExpressionStatement(;) | |
| notEofOrValue(}, late) | |
| parseStatement(;) | |
| parseStatementX(;) | |
| parseExpressionStatementOrDeclaration(;, false) | |
| parseExpressionStatementOrDeclarationAfterModifiers(late, ;, late, null, null, false) | |
| looksLikeLocalFunction(foo) | |
| listener: beginMetadataStar(late) | |
| listener: endMetadataStar(0) | |
| listener: handleIdentifier(int, typeReference) | |
| listener: handleNoTypeArguments(foo) | |
| listener: handleType(int, null) | |
| listener: beginVariablesDeclaration(foo, late, null) | |
| parseVariablesDeclarationRest(int, true) | |
| parseOptionallyInitializedIdentifier(int) | |
| ensureIdentifier(int, localVariableDeclaration) | |
| listener: handleIdentifier(foo, localVariableDeclaration) | |
| listener: beginInitializedIdentifier(foo) | |
| parseVariableInitializerOpt(foo) | |
| listener: handleNoVariableInitializer(foo) | |
| listener: endInitializedIdentifier(foo) | |
| ensureSemicolon(foo) | |
| listener: endVariablesDeclaration(1, ;) | |
| notEofOrValue(}, foo) | |
| parseStatement(;) | |
| parseStatementX(;) | |
| parseExpressionStatementOrDeclarationAfterModifiers(;, ;, null, null, null, false) | |
| looksLikeLocalFunction(foo) | |
| parseExpressionStatement(;) | |
| parseExpression(;) | |
| parsePrecedenceExpression(;, 1, true) | |
| parseUnaryExpression(;, true) | |
| parsePrimary(;, expression) | |
| parseSendOrFunctionLiteral(;, expression) | |
| parseSend(;, expression) | |
| ensureIdentifier(;, expression) | |
| listener: handleIdentifier(foo, expression) | |
| listener: handleNoTypeArguments(=) | |
| parseArgumentsOpt(foo) | |
| listener: handleNoArguments(=) | |
| listener: handleSend(foo, =) | |
| parsePrecedenceExpression(=, 1, true) | |
| parseUnaryExpression(=, true) | |
| parsePrimary(=, expression) | |
| parseLiteralInt(=) | |
| listener: handleLiteralInt(42) | |
| listener: handleAssignmentExpression(=) | |
| ensureSemicolon(42) | |
| listener: handleExpressionStatement(;) | |
| notEofOrValue(}, }) | |
| listener: endBlockFunctionBody(8, {, }) | |
| listener: endTopLevelMethod(main, null, }) | |
| listener: endTopLevelDeclaration(late) | |
| parseTopLevelDeclarationImpl(}, Instance of 'DirectiveContext') | |
| parseMetadataStar(}) | |
| listener: beginMetadataStar(late) | |
| listener: endMetadataStar(0) | |
| parseTopLevelMemberImpl(}) | |
| listener: beginTopLevelMember(late) | |
| isReservedKeyword(() | |
| parseTopLevelMethod(}, null, }, Instance of 'NoType', null, late, false) | |
| listener: beginTopLevelMethod(}, null) | |
| listener: handleNoType(}) | |
| ensureIdentifierPotentiallyRecovered(}, topLevelFunctionDeclaration, false) | |
| listener: handleIdentifier(late, topLevelFunctionDeclaration) | |
| parseMethodTypeVar(late) | |
| listener: handleNoTypeVariables(() | |
| parseGetterOrFormalParameters(late, late, false, MemberKind.TopLevelMethod) | |
| parseFormalParameters(late, MemberKind.TopLevelMethod) | |
| parseFormalParametersRest((, MemberKind.TopLevelMethod) | |
| listener: beginFormalParameters((, MemberKind.TopLevelMethod) | |
| listener: endFormalParameters(0, (, ), MemberKind.TopLevelMethod) | |
| parseAsyncModifierOpt()) | |
| listener: handleAsyncModifier(null, null) | |
| inPlainSync() | |
| parseFunctionBody(), false, false) | |
| listener: beginBlockFunctionBody({) | |
| notEofOrValue(}, print) | |
| parseStatement({) | |
| parseStatementX({) | |
| parseExpressionStatementOrDeclarationAfterModifiers({, {, null, null, null, false) | |
| looksLikeLocalFunction(print) | |
| parseExpressionStatement({) | |
| parseExpression({) | |
| parsePrecedenceExpression({, 1, true) | |
| parseUnaryExpression({, true) | |
| parsePrimary({, expression) | |
| parseSendOrFunctionLiteral({, expression) | |
| looksLikeFunctionBody(;) | |
| parseSend({, expression) | |
| ensureIdentifier({, expression) | |
| listener: handleIdentifier(print, expression) | |
| listener: handleNoTypeArguments(() | |
| parseArgumentsOpt(print) | |
| parseArguments(print) | |
| parseArgumentsRest(() | |
| listener: beginArguments(() | |
| parseExpression(() | |
| parsePrecedenceExpression((, 1, true) | |
| parseUnaryExpression((, true) | |
| parsePrimary((, expression) | |
| parseLiteralString(() | |
| parseSingleLiteralString(() | |
| listener: beginLiteralString("hello") | |
| listener: endLiteralString(0, )) | |
| listener: endArguments(1, (, )) | |
| listener: handleSend(print, ;) | |
| ensureSemicolon()) | |
| listener: handleExpressionStatement(;) | |
| notEofOrValue(}, }) | |
| listener: endBlockFunctionBody(1, {, }) | |
| listener: endTopLevelMethod(late, null, }) | |
| listener: endTopLevelDeclaration(class) | |
| parseTopLevelDeclarationImpl(}, Instance of 'DirectiveContext') | |
| parseMetadataStar(}) | |
| listener: beginMetadataStar(class) | |
| listener: endMetadataStar(0) | |
| parseTopLevelKeywordDeclaration(}, class, Instance of 'DirectiveContext') | |
| parseClassDeclarationModifiers(}, class) | |
| parseClassOrNamedMixinApplication(null, class) | |
| listener: beginClassOrNamedMixinApplicationPrelude(class) | |
| ensureIdentifier(class, classOrMixinDeclaration) | |
| listener: handleIdentifier(X, classOrMixinDeclaration) | |
| listener: handleNoTypeVariables({) | |
| listener: beginClassDeclaration(class, null, X) | |
| parseClass(X, class, class, X) | |
| parseClassHeaderOpt(X, class, class) | |
| parseClassExtendsOpt(X) | |
| listener: handleNoType(X) | |
| listener: handleClassExtends(null, 1) | |
| parseWithClauseOpt(X) | |
| listener: handleClassNoWithClause() | |
| parseClassOrMixinImplementsOpt(X) | |
| listener: handleClassOrMixinImplements(null, 0) | |
| listener: handleClassHeader(class, class, null) | |
| parseClassOrMixinOrExtensionBody(X, DeclarationKind.Class, X) | |
| listener: beginClassOrMixinBody(DeclarationKind.Class, {) | |
| notEofOrValue(}, late) | |
| parseClassOrMixinOrExtensionMemberImpl({, DeclarationKind.Class, X) | |
| parseMetadataStar({) | |
| listener: beginMetadataStar(late) | |
| listener: endMetadataStar(0) | |
| listener: beginMember() | |
| parseMethod({, null, null, null, null, null, null, {, Instance of 'NoType', null, late, DeclarationKind.Class, X, false) | |
| listener: beginMethod(null, null, null, null, null, late) | |
| listener: handleNoType({) | |
| ensureIdentifierPotentiallyRecovered({, methodDeclaration, false) | |
| listener: handleIdentifier(late, methodDeclaration) | |
| parseQualifiedRestOpt(late, methodDeclarationContinuation) | |
| parseMethodTypeVar(late) | |
| listener: handleNoTypeVariables(() | |
| parseGetterOrFormalParameters(late, late, false, MemberKind.NonStaticMethod) | |
| parseFormalParameters(late, MemberKind.NonStaticMethod) | |
| parseFormalParametersRest((, MemberKind.NonStaticMethod) | |
| listener: beginFormalParameters((, MemberKind.NonStaticMethod) | |
| listener: endFormalParameters(0, (, ), MemberKind.NonStaticMethod) | |
| parseInitializersOpt()) | |
| listener: handleNoInitializers() | |
| parseAsyncModifierOpt()) | |
| listener: handleAsyncModifier(null, null) | |
| inPlainSync() | |
| inPlainSync() | |
| parseFunctionBody(), false, true) | |
| listener: beginBlockFunctionBody({) | |
| notEofOrValue(}, print) | |
| parseStatement({) | |
| parseStatementX({) | |
| parseExpressionStatementOrDeclarationAfterModifiers({, {, null, null, null, false) | |
| looksLikeLocalFunction(print) | |
| parseExpressionStatement({) | |
| parseExpression({) | |
| parsePrecedenceExpression({, 1, true) | |
| parseUnaryExpression({, true) | |
| parsePrimary({, expression) | |
| parseSendOrFunctionLiteral({, expression) | |
| looksLikeFunctionBody(;) | |
| parseSend({, expression) | |
| ensureIdentifier({, expression) | |
| listener: handleIdentifier(print, expression) | |
| listener: handleNoTypeArguments(() | |
| parseArgumentsOpt(print) | |
| parseArguments(print) | |
| parseArgumentsRest(() | |
| listener: beginArguments(() | |
| parseExpression(() | |
| parsePrecedenceExpression((, 1, true) | |
| parseUnaryExpression((, true) | |
| parsePrimary((, expression) | |
| parseLiteralString(() | |
| parseSingleLiteralString(() | |
| listener: beginLiteralString("hello") | |
| listener: endLiteralString(0, )) | |
| listener: endArguments(1, (, )) | |
| listener: handleSend(print, ;) | |
| ensureSemicolon()) | |
| listener: handleExpressionStatement(;) | |
| notEofOrValue(}, }) | |
| listener: endBlockFunctionBody(1, {, }) | |
| listener: endClassMethod(null, late, (, null, }) | |
| listener: endMember() | |
| notEofOrValue(}, }) | |
| listener: endClassOrMixinBody(DeclarationKind.Class, 1, {, }) | |
| listener: endClassDeclaration(class, }) | |
| listener: endTopLevelDeclaration(class) | |
| parseTopLevelDeclarationImpl(}, Instance of 'DirectiveContext') | |
| parseMetadataStar(}) | |
| listener: beginMetadataStar(class) | |
| listener: endMetadataStar(0) | |
| parseTopLevelKeywordDeclaration(}, class, Instance of 'DirectiveContext') | |
| parseClassDeclarationModifiers(}, class) | |
| parseClassOrNamedMixinApplication(null, class) | |
| listener: beginClassOrNamedMixinApplicationPrelude(class) | |
| ensureIdentifier(class, classOrMixinDeclaration) | |
| listener: handleIdentifier(Y, classOrMixinDeclaration) | |
| listener: handleNoTypeVariables({) | |
| listener: beginClassDeclaration(class, null, Y) | |
| parseClass(Y, class, class, Y) | |
| parseClassHeaderOpt(Y, class, class) | |
| parseClassExtendsOpt(Y) | |
| listener: handleNoType(Y) | |
| listener: handleClassExtends(null, 1) | |
| parseWithClauseOpt(Y) | |
| listener: handleClassNoWithClause() | |
| parseClassOrMixinImplementsOpt(Y) | |
| listener: handleClassOrMixinImplements(null, 0) | |
| listener: handleClassHeader(class, class, null) | |
| parseClassOrMixinOrExtensionBody(Y, DeclarationKind.Class, Y) | |
| listener: beginClassOrMixinBody(DeclarationKind.Class, {) | |
| notEofOrValue(}, int) | |
| parseClassOrMixinOrExtensionMemberImpl({, DeclarationKind.Class, Y) | |
| parseMetadataStar({) | |
| listener: beginMetadataStar(int) | |
| listener: endMetadataStar(0) | |
| listener: beginMember() | |
| parseFields({, null, null, null, null, null, null, {, Instance of 'SimpleType', late, DeclarationKind.Class, Y, false) | |
| listener: beginFields({) | |
| listener: handleIdentifier(int, typeReference) | |
| listener: handleNoTypeArguments(late) | |
| listener: handleType(int, null) | |
| ensureIdentifierPotentiallyRecovered(int, fieldDeclaration, false) | |
| listener: handleIdentifier(late, fieldDeclaration) | |
| parseFieldInitializerOpt(late, late, null, null, null, null, DeclarationKind.Class, Y) | |
| listener: beginFieldInitializer(=) | |
| parseExpression(=) | |
| parsePrecedenceExpression(=, 1, true) | |
| parseUnaryExpression(=, true) | |
| parsePrimary(=, expression) | |
| parseLiteralInt(=) | |
| listener: handleLiteralInt(42) | |
| listener: endFieldInitializer(=, ;) | |
| listener: endClassFields(null, null, null, null, null, null, 1, int, ;) | |
| listener: endMember() | |
| notEofOrValue(}, }) | |
| listener: endClassOrMixinBody(DeclarationKind.Class, 1, {, }) | |
| listener: endClassDeclaration(class, }) | |
| listener: endTopLevelDeclaration() | |
| reportAllErrorTokens(main) | |
| listener: endCompilationUnit(4, ) |