| beginCompilationUnit(void) | 
 |   beginMetadataStar(void) | 
 |   endMetadataStar(0) | 
 |   beginTopLevelMember(void) | 
 |     beginTopLevelMethod(, null, null) | 
 |       handleVoidKeyword(void) | 
 |       handleIdentifier(f, topLevelFunctionDeclaration) | 
 |       handleNoTypeVariables(() | 
 |       beginFormalParameters((, MemberKind.TopLevelMethod) | 
 |         beginMetadataStar(bool) | 
 |         endMetadataStar(0) | 
 |         beginFormalParameter(bool, MemberKind.TopLevelMethod, null, null, null) | 
 |           handleIdentifier(bool, typeReference) | 
 |           handleNoTypeArguments(b) | 
 |           handleType(bool, null) | 
 |           handleIdentifier(b, formalParameterDeclaration) | 
 |           handleFormalParameterWithoutValue(,) | 
 |         endFormalParameter(null, null, null, b, null, null, FormalParameterKind.requiredPositional, MemberKind.TopLevelMethod) | 
 |         beginMetadataStar(int) | 
 |         endMetadataStar(0) | 
 |         beginFormalParameter(int, MemberKind.TopLevelMethod, null, null, null) | 
 |           handleIdentifier(int, typeReference) | 
 |           handleNoTypeArguments(i) | 
 |           handleType(int, null) | 
 |           handleIdentifier(i, formalParameterDeclaration) | 
 |           handleFormalParameterWithoutValue()) | 
 |         endFormalParameter(null, null, null, i, null, null, FormalParameterKind.requiredPositional, MemberKind.TopLevelMethod) | 
 |       endFormalParameters(2, (, ), MemberKind.TopLevelMethod) | 
 |       handleAsyncModifier(null, null) | 
 |       beginBlockFunctionBody({) | 
 |         handleIdentifier(print, expression) | 
 |         handleNoTypeArguments(() | 
 |         beginArguments(() | 
 |           beginLiteralString('b=) | 
 |             handleIdentifier(b, expression) | 
 |             handleNoTypeArguments(, i=) | 
 |             handleNoArguments(, i=) | 
 |             handleSend(b, b) | 
 |             handleInterpolationExpression($, null) | 
 |             handleStringPart(, i=) | 
 |             handleIdentifier(i, expression) | 
 |             handleNoTypeArguments(') | 
 |             handleNoArguments(') | 
 |             handleSend(i, i) | 
 |             handleInterpolationExpression($, null) | 
 |             handleStringPart(') | 
 |           endLiteralString(2, )) | 
 |         endArguments(1, (, )) | 
 |         handleSend(print, )) | 
 |         handleExpressionStatement(print, ;) | 
 |       endBlockFunctionBody(1, {, }) | 
 |     endTopLevelMethod(void, null, }) | 
 |   endTopLevelDeclaration(}) | 
 |   beginMetadataStar(g) | 
 |   endMetadataStar(0) | 
 |   beginTopLevelMember(g) | 
 |     beginTopLevelMethod(}, null, null) | 
 |       handleNoType(}) | 
 |       handleIdentifier(g, topLevelFunctionDeclaration) | 
 |       handleNoTypeVariables(() | 
 |       beginFormalParameters((, MemberKind.TopLevelMethod) | 
 |         beginMetadataStar(int) | 
 |         endMetadataStar(0) | 
 |         beginFormalParameter(int, MemberKind.TopLevelMethod, null, null, null) | 
 |           handleIdentifier(int, typeReference) | 
 |           handleNoTypeArguments(x) | 
 |           handleType(int, null) | 
 |           handleIdentifier(x, formalParameterDeclaration) | 
 |           handleFormalParameterWithoutValue(,) | 
 |         endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.TopLevelMethod) | 
 |         beginMetadataStar(int) | 
 |         endMetadataStar(0) | 
 |         beginFormalParameter(int, MemberKind.TopLevelMethod, null, null, null) | 
 |           handleIdentifier(int, typeReference) | 
 |           handleNoTypeArguments(y) | 
 |           handleType(int, null) | 
 |           handleIdentifier(y, formalParameterDeclaration) | 
 |           handleFormalParameterWithoutValue(,) | 
 |         endFormalParameter(null, null, null, y, null, null, FormalParameterKind.requiredPositional, MemberKind.TopLevelMethod) | 
 |         beginMetadataStar(Object) | 
 |         endMetadataStar(0) | 
 |         beginFormalParameter(Object, MemberKind.TopLevelMethod, null, null, null) | 
 |           handleIdentifier(Object, typeReference) | 
 |           handleNoTypeArguments(o) | 
 |           handleType(Object, null) | 
 |           handleIdentifier(o, formalParameterDeclaration) | 
 |           handleFormalParameterWithoutValue()) | 
 |         endFormalParameter(null, null, null, o, null, null, FormalParameterKind.requiredPositional, MemberKind.TopLevelMethod) | 
 |       endFormalParameters(3, (, ), MemberKind.TopLevelMethod) | 
 |       handleAsyncModifier(null, null) | 
 |       beginBlockFunctionBody({) | 
 |         handleIdentifier(f, expression) | 
 |         handleNoTypeArguments(() | 
 |         beginArguments(() | 
 |           beginParenthesizedExpressionOrRecordLiteral(() | 
 |             handleIdentifier(x, expression) | 
 |             handleNoTypeArguments(<) | 
 |             handleNoArguments(<) | 
 |             handleSend(x, x) | 
 |             beginBinaryExpression(<) | 
 |               handleIdentifier(y, expression) | 
 |               handleNoTypeArguments()) | 
 |               handleNoArguments()) | 
 |               handleSend(y, y) | 
 |             endBinaryExpression(<, y) | 
 |           endParenthesizedExpression(() | 
 |           beginParenthesizedExpressionOrRecordLiteral(() | 
 |             handleIdentifier(o, expression) | 
 |             handleNoTypeArguments(as) | 
 |             handleNoArguments(as) | 
 |             handleSend(o, o) | 
 |             beginAsOperatorType(as) | 
 |               handleIdentifier(Function, typeReference) | 
 |               handleNoTypeArguments()) | 
 |               handleType(Function, null) | 
 |             endAsOperatorType(as) | 
 |             handleAsOperator(as) | 
 |           endParenthesizedExpression(() | 
 |           handleNoTypeArguments(() | 
 |           beginArguments(() | 
 |           endArguments(0, (, )) | 
 |           handleSend((, )) | 
 |         endArguments(2, (, )) | 
 |         handleSend(f, )) | 
 |         handleExpressionStatement(f, ;) | 
 |       endBlockFunctionBody(1, {, }) | 
 |     endTopLevelMethod(g, null, }) | 
 |   endTopLevelDeclaration(}) | 
 |   beginMetadataStar(main) | 
 |   endMetadataStar(0) | 
 |   beginTopLevelMember(main) | 
 |     beginTopLevelMethod(}, null, null) | 
 |       handleNoType(}) | 
 |       handleIdentifier(main, topLevelFunctionDeclaration) | 
 |       handleNoTypeVariables(() | 
 |       beginFormalParameters((, MemberKind.TopLevelMethod) | 
 |       endFormalParameters(0, (, ), MemberKind.TopLevelMethod) | 
 |       handleAsyncModifier(null, null) | 
 |       beginBlockFunctionBody({) | 
 |         handleIdentifier(g, expression) | 
 |         handleNoTypeArguments(() | 
 |         beginArguments(() | 
 |           handleLiteralInt(0) | 
 |           handleLiteralInt(1) | 
 |           handleNoTypeVariables(() | 
 |           beginFunctionExpression(() | 
 |             beginFormalParameters((, MemberKind.Local) | 
 |             endFormalParameters(0, (, ), MemberKind.Local) | 
 |             handleAsyncModifier(null, null) | 
 |             handleLiteralInt(2) | 
 |             handleExpressionFunctionBody(=>, null) | 
 |           endFunctionExpression((, 2) | 
 |         endArguments(3, (, )) | 
 |         handleSend(g, )) | 
 |         handleExpressionStatement(g, ;) | 
 |       endBlockFunctionBody(1, {, }) | 
 |     endTopLevelMethod(main, null, }) | 
 |   endTopLevelDeclaration(}) | 
 | endCompilationUnit(3, ) |