/// <summary> /// Lower "[await] using var x = (expression)" to a try-finally block. /// </summary> private BoundStatement MakeLocalUsingDeclarationStatement(BoundUsingLocalDeclarations usingDeclarations, ImmutableArray <BoundStatement> statements) { LocalDeclarationStatementSyntax syntax = (LocalDeclarationStatementSyntax)usingDeclarations.Syntax; BoundBlock body = new BoundBlock(syntax, ImmutableArray <LocalSymbol> .Empty, statements); var usingStatement = MakeDeclarationUsingStatement(syntax, body, ImmutableArray <LocalSymbol> .Empty, usingDeclarations.LocalDeclarations, usingDeclarations.IDisposableConversion, usingDeclarations.DisposeMethodOpt, awaitOpt: usingDeclarations.AwaitOpt, awaitKeyword: syntax.AwaitKeyword); return(usingStatement); }
public override BoundNode VisitUsingLocalDeclarations(BoundUsingLocalDeclarations node) { return(VisitMultipleLocalDeclarationsBase(node)); }