|  | beginCompilationUnit(f) | 
|  | beginMetadataStar(f) | 
|  | endMetadataStar(0) | 
|  | beginTopLevelMember(f) | 
|  | beginTopLevelMethod(, null) | 
|  | handleNoType() | 
|  | handleIdentifier(f, topLevelFunctionDeclaration) | 
|  | handleNoTypeVariables(() | 
|  | beginFormalParameters((, MemberKind.TopLevelMethod) | 
|  | endFormalParameters(0, (, ), MemberKind.TopLevelMethod) | 
|  | handleAsyncModifier(null, null) | 
|  | beginBlockFunctionBody({) | 
|  | handleIdentifier(foo, expression) | 
|  | handleNoTypeArguments(.) | 
|  | handleNoArguments(.) | 
|  | handleSend(foo, .) | 
|  | handleIdentifier(bar, expressionContinuation) | 
|  | handleNoTypeArguments(!) | 
|  | handleNoArguments(!) | 
|  | handleSend(bar, !) | 
|  | handleEndingBinaryExpression(.) | 
|  | handleNonNullAssertExpression(!) | 
|  | handleParenthesizedExpression(() | 
|  | handleIdentifier(arg, expression) | 
|  | handleNoTypeArguments(]) | 
|  | handleNoArguments(]) | 
|  | handleSend(arg, ]) | 
|  | handleIndexedExpression(null, [, ]) | 
|  | handleParenthesizedExpression(() | 
|  | handleNonNullAssertExpression(!) | 
|  | handleParenthesizedExpression(() | 
|  | handleIdentifier(arg2, expression) | 
|  | handleNoTypeArguments(]) | 
|  | handleNoArguments(]) | 
|  | handleSend(arg2, ]) | 
|  | handleIndexedExpression(null, [, ]) | 
|  | handleExpressionStatement(;) | 
|  | endBlockFunctionBody(1, {, }) | 
|  | endTopLevelMethod(f, null, }) | 
|  | endTopLevelDeclaration() | 
|  | endCompilationUnit(1, ) |