File: Generated\OperationKind.Generated.cs
Web Access
Project: src\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.ComponentModel;
using Microsoft.CodeAnalysis.FlowAnalysis;
using Microsoft.CodeAnalysis.Operations;
namespace Microsoft.CodeAnalysis
{
    /// <summary>
    /// All of the kinds of operations, including statements and expressions.
    /// </summary>
    public enum OperationKind
    {
        /// <summary>Indicates an <see cref="IOperation"/> for a construct that is not implemented yet.</summary>
        None = 0x0,
        /// <summary>Indicates an <see cref="IInvalidOperation"/>.</summary>
        Invalid = 0x1,
        /// <summary>Indicates an <see cref="IBlockOperation"/>.</summary>
        Block = 0x2,
        /// <summary>Indicates an <see cref="IVariableDeclarationGroupOperation"/>.</summary>
        VariableDeclarationGroup = 0x3,
        /// <summary>Indicates an <see cref="ISwitchOperation"/>.</summary>
        Switch = 0x4,
        /// <summary>Indicates an <see cref="ILoopOperation"/>. This is further differentiated by <see cref="ILoopOperation.LoopKind"/>.</summary>
        Loop = 0x5,
        /// <summary>Indicates an <see cref="ILabeledOperation"/>.</summary>
        Labeled = 0x6,
        /// <summary>Indicates an <see cref="IBranchOperation"/>.</summary>
        Branch = 0x7,
        /// <summary>Indicates an <see cref="IEmptyOperation"/>.</summary>
        Empty = 0x8,
        /// <summary>Indicates an <see cref="IReturnOperation"/>.</summary>
        Return = 0x9,
        /// <summary>Indicates an <see cref="IReturnOperation"/>. This has yield break semantics.</summary>
        YieldBreak = 0xa,
        /// <summary>Indicates an <see cref="ILockOperation"/>.</summary>
        Lock = 0xb,
        /// <summary>Indicates an <see cref="ITryOperation"/>.</summary>
        Try = 0xc,
        /// <summary>Indicates an <see cref="IUsingOperation"/>.</summary>
        Using = 0xd,
        /// <summary>Indicates an <see cref="IReturnOperation"/>. This has yield return semantics.</summary>
        YieldReturn = 0xe,
        /// <summary>Indicates an <see cref="IExpressionStatementOperation"/>.</summary>
        ExpressionStatement = 0xf,
        /// <summary>Indicates an <see cref="ILocalFunctionOperation"/>.</summary>
        LocalFunction = 0x10,
        /// <summary>Indicates an <see cref="IStopOperation"/>.</summary>
        Stop = 0x11,
        /// <summary>Indicates an <see cref="IEndOperation"/>.</summary>
        End = 0x12,
        /// <summary>Indicates an <see cref="IRaiseEventOperation"/>.</summary>
        RaiseEvent = 0x13,
        /// <summary>Indicates an <see cref="ILiteralOperation"/>.</summary>
        Literal = 0x14,
        /// <summary>Indicates an <see cref="IConversionOperation"/>.</summary>
        Conversion = 0x15,
        /// <summary>Indicates an <see cref="IInvocationOperation"/>.</summary>
        Invocation = 0x16,
        /// <summary>Indicates an <see cref="IArrayElementReferenceOperation"/>.</summary>
        ArrayElementReference = 0x17,
        /// <summary>Indicates an <see cref="ILocalReferenceOperation"/>.</summary>
        LocalReference = 0x18,
        /// <summary>Indicates an <see cref="IParameterReferenceOperation"/>.</summary>
        ParameterReference = 0x19,
        /// <summary>Indicates an <see cref="IFieldReferenceOperation"/>.</summary>
        FieldReference = 0x1a,
        /// <summary>Indicates an <see cref="IMethodReferenceOperation"/>.</summary>
        MethodReference = 0x1b,
        /// <summary>Indicates an <see cref="IPropertyReferenceOperation"/>.</summary>
        PropertyReference = 0x1c,
        // Unused: 1d
        /// <summary>Indicates an <see cref="IEventReferenceOperation"/>.</summary>
        EventReference = 0x1e,
        /// <summary>Indicates an <see cref="IUnaryOperation"/>.</summary>
        Unary = 0x1f,
        /// <summary>Indicates an <see cref="IUnaryOperation"/>. Use <see cref="Unary"/> instead.</summary>
        [EditorBrowsable(EditorBrowsableState.Never)]
        UnaryOperator = 0x1f,
        /// <summary>Indicates an <see cref="IBinaryOperation"/>.</summary>
        Binary = 0x20,
        /// <summary>Indicates an <see cref="IBinaryOperation"/>. Use <see cref="Binary"/> instead.</summary>
        [EditorBrowsable(EditorBrowsableState.Never)]
        BinaryOperator = 0x20,
        /// <summary>Indicates an <see cref="IConditionalOperation"/>.</summary>
        Conditional = 0x21,
        /// <summary>Indicates an <see cref="ICoalesceOperation"/>.</summary>
        Coalesce = 0x22,
        /// <summary>Indicates an <see cref="IAnonymousFunctionOperation"/>.</summary>
        AnonymousFunction = 0x23,
        /// <summary>Indicates an <see cref="IObjectCreationOperation"/>.</summary>
        ObjectCreation = 0x24,
        /// <summary>Indicates an <see cref="ITypeParameterObjectCreationOperation"/>.</summary>
        TypeParameterObjectCreation = 0x25,
        /// <summary>Indicates an <see cref="IArrayCreationOperation"/>.</summary>
        ArrayCreation = 0x26,
        /// <summary>Indicates an <see cref="IInstanceReferenceOperation"/>.</summary>
        InstanceReference = 0x27,
        /// <summary>Indicates an <see cref="IIsTypeOperation"/>.</summary>
        IsType = 0x28,
        /// <summary>Indicates an <see cref="IAwaitOperation"/>.</summary>
        Await = 0x29,
        /// <summary>Indicates an <see cref="ISimpleAssignmentOperation"/>.</summary>
        SimpleAssignment = 0x2a,
        /// <summary>Indicates an <see cref="ICompoundAssignmentOperation"/>.</summary>
        CompoundAssignment = 0x2b,
        /// <summary>Indicates an <see cref="IParenthesizedOperation"/>.</summary>
        Parenthesized = 0x2c,
        /// <summary>Indicates an <see cref="IEventAssignmentOperation"/>.</summary>
        EventAssignment = 0x2d,
        /// <summary>Indicates an <see cref="IConditionalAccessOperation"/>.</summary>
        ConditionalAccess = 0x2e,
        /// <summary>Indicates an <see cref="IConditionalAccessInstanceOperation"/>.</summary>
        ConditionalAccessInstance = 0x2f,
        /// <summary>Indicates an <see cref="IInterpolatedStringOperation"/>.</summary>
        InterpolatedString = 0x30,
        /// <summary>Indicates an <see cref="IAnonymousObjectCreationOperation"/>.</summary>
        AnonymousObjectCreation = 0x31,
        /// <summary>Indicates an <see cref="IObjectOrCollectionInitializerOperation"/>.</summary>
        ObjectOrCollectionInitializer = 0x32,
        /// <summary>Indicates an <see cref="IMemberInitializerOperation"/>.</summary>
        MemberInitializer = 0x33,
        /// <summary>Indicates an <see cref="ICollectionElementInitializerOperation"/>.</summary>
        [Obsolete("ICollectionElementInitializerOperation has been replaced with " + nameof(IInvocationOperation) + " and " + nameof(IDynamicInvocationOperation), error: true)]
        CollectionElementInitializer = 0x34,
        /// <summary>Indicates an <see cref="INameOfOperation"/>.</summary>
        NameOf = 0x35,
        /// <summary>Indicates an <see cref="ITupleOperation"/>.</summary>
        Tuple = 0x36,
        /// <summary>Indicates an <see cref="IDynamicObjectCreationOperation"/>.</summary>
        DynamicObjectCreation = 0x37,
        /// <summary>Indicates an <see cref="IDynamicMemberReferenceOperation"/>.</summary>
        DynamicMemberReference = 0x38,
        /// <summary>Indicates an <see cref="IDynamicInvocationOperation"/>.</summary>
        DynamicInvocation = 0x39,
        /// <summary>Indicates an <see cref="IDynamicIndexerAccessOperation"/>.</summary>
        DynamicIndexerAccess = 0x3a,
        /// <summary>Indicates an <see cref="ITranslatedQueryOperation"/>.</summary>
        TranslatedQuery = 0x3b,
        /// <summary>Indicates an <see cref="IDelegateCreationOperation"/>.</summary>
        DelegateCreation = 0x3c,
        /// <summary>Indicates an <see cref="IDefaultValueOperation"/>.</summary>
        DefaultValue = 0x3d,
        /// <summary>Indicates an <see cref="ITypeOfOperation"/>.</summary>
        TypeOf = 0x3e,
        /// <summary>Indicates an <see cref="ISizeOfOperation"/>.</summary>
        SizeOf = 0x3f,
        /// <summary>Indicates an <see cref="IAddressOfOperation"/>.</summary>
        AddressOf = 0x40,
        /// <summary>Indicates an <see cref="IIsPatternOperation"/>.</summary>
        IsPattern = 0x41,
        /// <summary>Indicates an <see cref="IIncrementOrDecrementOperation"/>. This is used as an increment operator</summary>
        Increment = 0x42,
        /// <summary>Indicates an <see cref="IThrowOperation"/>.</summary>
        Throw = 0x43,
        /// <summary>Indicates an <see cref="IIncrementOrDecrementOperation"/>. This is used as a decrement operator</summary>
        Decrement = 0x44,
        /// <summary>Indicates an <see cref="IDeconstructionAssignmentOperation"/>.</summary>
        DeconstructionAssignment = 0x45,
        /// <summary>Indicates an <see cref="IDeclarationExpressionOperation"/>.</summary>
        DeclarationExpression = 0x46,
        /// <summary>Indicates an <see cref="IOmittedArgumentOperation"/>.</summary>
        OmittedArgument = 0x47,
        /// <summary>Indicates an <see cref="IFieldInitializerOperation"/>.</summary>
        FieldInitializer = 0x48,
        /// <summary>Indicates an <see cref="IVariableInitializerOperation"/>.</summary>
        VariableInitializer = 0x49,
        /// <summary>Indicates an <see cref="IPropertyInitializerOperation"/>.</summary>
        PropertyInitializer = 0x4a,
        /// <summary>Indicates an <see cref="IParameterInitializerOperation"/>.</summary>
        ParameterInitializer = 0x4b,
        /// <summary>Indicates an <see cref="IArrayInitializerOperation"/>.</summary>
        ArrayInitializer = 0x4c,
        /// <summary>Indicates an <see cref="IVariableDeclaratorOperation"/>.</summary>
        VariableDeclarator = 0x4d,
        /// <summary>Indicates an <see cref="IVariableDeclarationOperation"/>.</summary>
        VariableDeclaration = 0x4e,
        /// <summary>Indicates an <see cref="IArgumentOperation"/>.</summary>
        Argument = 0x4f,
        /// <summary>Indicates an <see cref="ICatchClauseOperation"/>.</summary>
        CatchClause = 0x50,
        /// <summary>Indicates an <see cref="ISwitchCaseOperation"/>.</summary>
        SwitchCase = 0x51,
        /// <summary>Indicates an <see cref="ICaseClauseOperation"/>. This is further differentiated by <see cref="ICaseClauseOperation.CaseKind"/>.</summary>
        CaseClause = 0x52,
        /// <summary>Indicates an <see cref="IInterpolatedStringTextOperation"/>.</summary>
        InterpolatedStringText = 0x53,
        /// <summary>Indicates an <see cref="IInterpolationOperation"/>.</summary>
        Interpolation = 0x54,
        /// <summary>Indicates an <see cref="IConstantPatternOperation"/>.</summary>
        ConstantPattern = 0x55,
        /// <summary>Indicates an <see cref="IDeclarationPatternOperation"/>.</summary>
        DeclarationPattern = 0x56,
        /// <summary>Indicates an <see cref="ITupleBinaryOperation"/>.</summary>
        TupleBinary = 0x57,
        /// <summary>Indicates an <see cref="ITupleBinaryOperation"/>. Use <see cref="TupleBinary"/> instead.</summary>
        [EditorBrowsable(EditorBrowsableState.Never)]
        TupleBinaryOperator = 0x57,
        /// <summary>Indicates an <see cref="IMethodBodyOperation"/>.</summary>
        MethodBody = 0x58,
        /// <summary>Indicates an <see cref="IMethodBodyOperation"/>. Use <see cref="MethodBody"/> instead.</summary>
        [EditorBrowsable(EditorBrowsableState.Never)]
        MethodBodyOperation = 0x58,
        /// <summary>Indicates an <see cref="IConstructorBodyOperation"/>.</summary>
        ConstructorBody = 0x59,
        /// <summary>Indicates an <see cref="IConstructorBodyOperation"/>. Use <see cref="ConstructorBody"/> instead.</summary>
        [EditorBrowsable(EditorBrowsableState.Never)]
        ConstructorBodyOperation = 0x59,
        /// <summary>Indicates an <see cref="IDiscardOperation"/>.</summary>
        Discard = 0x5a,
        /// <summary>Indicates an <see cref="IFlowCaptureOperation"/>.</summary>
        FlowCapture = 0x5b,
        /// <summary>Indicates an <see cref="IFlowCaptureReferenceOperation"/>.</summary>
        FlowCaptureReference = 0x5c,
        /// <summary>Indicates an <see cref="IIsNullOperation"/>.</summary>
        IsNull = 0x5d,
        /// <summary>Indicates an <see cref="ICaughtExceptionOperation"/>.</summary>
        CaughtException = 0x5e,
        /// <summary>Indicates an <see cref="IStaticLocalInitializationSemaphoreOperation"/>.</summary>
        StaticLocalInitializationSemaphore = 0x5f,
        /// <summary>Indicates an <see cref="IFlowAnonymousFunctionOperation"/>.</summary>
        FlowAnonymousFunction = 0x60,
        /// <summary>Indicates an <see cref="ICoalesceAssignmentOperation"/>.</summary>
        CoalesceAssignment = 0x61,
        // Unused: 62
        /// <summary>Indicates an <see cref="IRangeOperation"/>.</summary>
        Range = 0x63,
        // Unused: 64
        /// <summary>Indicates an <see cref="IReDimOperation"/>.</summary>
        ReDim = 0x65,
        /// <summary>Indicates an <see cref="IReDimClauseOperation"/>.</summary>
        ReDimClause = 0x66,
        /// <summary>Indicates an <see cref="IRecursivePatternOperation"/>.</summary>
        RecursivePattern = 0x67,
        /// <summary>Indicates an <see cref="IDiscardPatternOperation"/>.</summary>
        DiscardPattern = 0x68,
        /// <summary>Indicates an <see cref="ISwitchExpressionOperation"/>.</summary>
        SwitchExpression = 0x69,
        /// <summary>Indicates an <see cref="ISwitchExpressionArmOperation"/>.</summary>
        SwitchExpressionArm = 0x6a,
        /// <summary>Indicates an <see cref="IPropertySubpatternOperation"/>.</summary>
        PropertySubpattern = 0x6b,
        /// <summary>Indicates an <see cref="IUsingDeclarationOperation"/>.</summary>
        UsingDeclaration = 0x6c,
        /// <summary>Indicates an <see cref="INegatedPatternOperation"/>.</summary>
        NegatedPattern = 0x6d,
        /// <summary>Indicates an <see cref="IBinaryPatternOperation"/>.</summary>
        BinaryPattern = 0x6e,
        /// <summary>Indicates an <see cref="ITypePatternOperation"/>.</summary>
        TypePattern = 0x6f,
        /// <summary>Indicates an <see cref="IRelationalPatternOperation"/>.</summary>
        RelationalPattern = 0x70,
        /// <summary>Indicates an <see cref="IWithOperation"/>.</summary>
        With = 0x71,
        /// <summary>Indicates an <see cref="IInterpolatedStringHandlerCreationOperation"/>.</summary>
        InterpolatedStringHandlerCreation = 0x72,
        /// <summary>Indicates an <see cref="IInterpolatedStringAdditionOperation"/>.</summary>
        InterpolatedStringAddition = 0x73,
        /// <summary>Indicates an <see cref="IInterpolatedStringAppendOperation"/>. This append is of a literal component</summary>
        InterpolatedStringAppendLiteral = 0x74,
        /// <summary>Indicates an <see cref="IInterpolatedStringAppendOperation"/>. This append is of an interpolation component</summary>
        InterpolatedStringAppendFormatted = 0x75,
        /// <summary>Indicates an <see cref="IInterpolatedStringAppendOperation"/>. This append is invalid</summary>
        InterpolatedStringAppendInvalid = 0x76,
        /// <summary>Indicates an <see cref="IInterpolatedStringHandlerArgumentPlaceholderOperation"/>.</summary>
        InterpolatedStringHandlerArgumentPlaceholder = 0x77,
        /// <summary>Indicates an <see cref="IFunctionPointerInvocationOperation"/>.</summary>
        FunctionPointerInvocation = 0x78,
        /// <summary>Indicates an <see cref="IListPatternOperation"/>.</summary>
        ListPattern = 0x79,
        /// <summary>Indicates an <see cref="ISlicePatternOperation"/>.</summary>
        SlicePattern = 0x7a,
        /// <summary>Indicates an <see cref="IImplicitIndexerReferenceOperation"/>.</summary>
        ImplicitIndexerReference = 0x7b,
        /// <summary>Indicates an <see cref="IUtf8StringOperation"/>.</summary>
        Utf8String = 0x7c,
        /// <summary>Indicates an <see cref="IAttributeOperation"/>.</summary>
        Attribute = 0x7d,
        /// <summary>Indicates an <see cref="IInlineArrayAccessOperation"/>.</summary>
        InlineArrayAccess = 0x7e,
        /// <summary>Indicates an <see cref="ICollectionExpressionOperation"/>.</summary>
        CollectionExpression = 0x7f,
        /// <summary>Indicates an <see cref="ISpreadOperation"/>.</summary>
        Spread = 0x80,
    }
}