| File: Generated\FlowAnalysis.Generated.cs | Web Access |
| Project: src\roslyn\src\Compilers\Core\Portable\Microsoft.CodeAnalysis.csproj (Microsoft.CodeAnalysis) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. // < auto-generated /> #nullable enable using System; using System.Collections.Immutable; using System.Diagnostics.CodeAnalysis; using Microsoft.CodeAnalysis.Operations; using Microsoft.CodeAnalysis.PooledObjects; namespace Microsoft.CodeAnalysis.FlowAnalysis { #region Interfaces /// <summary> /// Represents that an intermediate result is being captured. /// This node is produced only as part of a <see cref="ControlFlowGraph" />. /// </summary> /// <remarks> /// <para>This node is associated with the following operation kinds:</para> /// <list type="bullet"> /// <item><description><see cref="OperationKind.FlowCapture"/></description></item> /// </list> /// <para>This interface is reserved for implementation by its associated APIs. We reserve the right to /// change it in the future.</para> /// </remarks> public interface IFlowCaptureOperation : IOperation { /// <summary> /// An id used to match references to the same intermediate result. /// </summary> CaptureId Id { get; } /// <summary> /// Value to be captured. /// </summary> IOperation Value { get; } } /// <summary> /// Represents a point of use of an intermediate result captured earlier. /// The fact of capturing the result is represented by <see cref="IFlowCaptureOperation" />. /// This node is produced only as part of a <see cref="ControlFlowGraph" />. /// </summary> /// <remarks> /// <para>This node is associated with the following operation kinds:</para> /// <list type="bullet"> /// <item><description><see cref="OperationKind.FlowCaptureReference"/></description></item> /// </list> /// <para>This interface is reserved for implementation by its associated APIs. We reserve the right to /// change it in the future.</para> /// </remarks> public interface IFlowCaptureReferenceOperation : IOperation { /// <summary> /// An id used to match references to the same intermediate result. /// </summary> CaptureId Id { get; } /// <summary> /// True if this reference to the capture initializes the capture. Used when the capture is being initialized by being passed as an <see langword="out" /> parameter. /// </summary> bool IsInitialization { get; } } /// <summary> /// Represents result of checking whether the <see cref="Operand" /> is null. /// For reference types this checks if the <see cref="Operand" /> is a null reference, /// for nullable types this checks if the <see cref="Operand" /> doesn’t have a value. /// The node is produced as part of a flow graph during rewrite of <see cref="ICoalesceOperation" /> /// and <see cref="IConditionalAccessOperation" /> nodes. /// </summary> /// <remarks> /// <para>This node is associated with the following operation kinds:</para> /// <list type="bullet"> /// <item><description><see cref="OperationKind.IsNull"/></description></item> /// </list> /// <para>This interface is reserved for implementation by its associated APIs. We reserve the right to /// change it in the future.</para> /// </remarks> public interface IIsNullOperation : IOperation { /// <summary> /// Value to check. /// </summary> IOperation Operand { get; } } /// <summary> /// Represents a exception instance passed by an execution environment to an exception filter or handler. /// This node is produced only as part of a <see cref="ControlFlowGraph" />. /// </summary> /// <remarks> /// <para>This node is associated with the following operation kinds:</para> /// <list type="bullet"> /// <item><description><see cref="OperationKind.CaughtException"/></description></item> /// </list> /// <para>This interface is reserved for implementation by its associated APIs. We reserve the right to /// change it in the future.</para> /// </remarks> public interface ICaughtExceptionOperation : IOperation { } /// <summary> /// Represents the check during initialization of a VB static local that is initialized on the first call of the function, and never again. /// If the semaphore operation returns true, the static local has not yet been initialized, and the initializer will be run. If it returns /// false, then the local has already been initialized, and the static local initializer region will be skipped. /// This node is produced only as part of a <see cref="ControlFlowGraph" />. /// </summary> /// <remarks> /// <para>This node is associated with the following operation kinds:</para> /// <list type="bullet"> /// <item><description><see cref="OperationKind.StaticLocalInitializationSemaphore"/></description></item> /// </list> /// <para>This interface is reserved for implementation by its associated APIs. We reserve the right to /// change it in the future.</para> /// </remarks> public interface IStaticLocalInitializationSemaphoreOperation : IOperation { /// <summary> /// The static local variable that is possibly initialized. /// </summary> ILocalSymbol Local { get; } } /// <summary> /// Represents an anonymous function operation in context of a <see cref="ControlFlowGraph" />. /// <para> /// Current usage: /// <list type="number"> /// <item><description>C# lambda expression</description></item> /// <item><description>VB anonymous delegate expression</description></item> /// </list> /// </para> /// A <see cref="ControlFlowGraph" /> for the body of the anonymous function is available from /// the enclosing <see cref="ControlFlowGraph" />. /// </summary> /// <remarks> /// <para>This node is associated with the following operation kinds:</para> /// <list type="bullet"> /// <item><description><see cref="OperationKind.FlowAnonymousFunction"/></description></item> /// </list> /// <para>This interface is reserved for implementation by its associated APIs. We reserve the right to /// change it in the future.</para> /// </remarks> public interface IFlowAnonymousFunctionOperation : IOperation { /// <summary> /// Symbol of the anonymous function. /// </summary> IMethodSymbol Symbol { get; } } #endregion }