/// <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));
 }