// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Collections.Immutable;
namespace Microsoft.CodeAnalysis.Semantics
{
///
/// Represents a C# using or VB Using statement.
///
///
/// This interface is reserved for implementation by its associated APIs. We reserve the right to
/// change it in the future.
///
public interface IUsingStatement : IOperation
{
///
/// Body of the using, over which the resources of the using are maintained.
///
IOperation Body { get; }
///
/// Declaration introduced by the using statement. Null if the using statement does not declare any variables.
///
IVariableDeclarationStatement Declaration { get; }
///
/// Resource held by the using. Can be null if Declaration is not null.
///
IOperation Value { get; }
}
}