// 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 Microsoft.CodeAnalysis.Semantics; namespace Microsoft.CodeAnalysis { /// /// All of the kinds of operations, including statements and expressions. /// public enum OperationKind { None = 0x0, // Statements /// Indicates an . InvalidStatement = 0x1, /// Indicates an . BlockStatement = 0x2, /// Indicates an . VariableDeclarationStatement = 0x3, /// Indicates an . SwitchStatement = 0x4, /// Indicates an . IfStatement = 0x5, /// Indicates an . LoopStatement = 0x6, /// Indicates an . LabeledStatement = 0x7, /// Indicates an . BranchStatement = 0x8, /// Indicates an . EmptyStatement = 0x9, // 0xa open for usage, was IThrowStatement. /// Indicates an . ReturnStatement = 0xb, /// Indicates an . YieldBreakStatement = 0xc, /// Indicates an . LockStatement = 0xd, /// Indicates an . TryStatement = 0xe, /// Indicates an . UsingStatement = 0xf, /// Indicates an . YieldReturnStatement = 0x10, /// Indicates an . ExpressionStatement = 0x11, // Statements that occur only C#. /// Indicates an . // https://github.com/dotnet/roslyn/issues/21281 //FixedStatement = 0x30, LocalFunctionStatement = 0x31, // Statements that occur only in Visual Basic. // https://github.com/dotnet/roslyn/issues/21297 // /// Indicates an . // StopStatement = 0x50, // https://github.com/dotnet/roslyn/issues/22004 // /// Indicates an . // EndStatement = 0x51, // https://github.com/dotnet/roslyn/issues/22005 // /// Indicates an . // WithStatement = 0x52, // Expressions /// Indicates an . InvalidExpression = 0x100, /// Indicates an . LiteralExpression = 0x101, /// Indicates an . ConversionExpression = 0x102, /// Indicates an . InvocationExpression = 0x103, // https://github.com/dotnet/roslyn/issues/22006 // /// Indicates an . // ArrayElementReferenceExpression = 0x104, /// Indicates an . LocalReferenceExpression = 0x105, /// Indicates an . ParameterReferenceExpression = 0x106, // Unused 0x107 /// Indicates an . FieldReferenceExpression = 0x108, /// Indicates an . MethodReferenceExpression = 0x109, /// Indicates an . PropertyReferenceExpression = 0x10a, /// Indicates an . EventReferenceExpression = 0x10c, /// Indicates an . UnaryOperatorExpression = 0x10d, /// Indicates an . BinaryOperatorExpression = 0x10e, /// Indicates an . ConditionalExpression = 0x10f, /// Indicates an . CoalesceExpression = 0x110, /// Indicates an . AnonymousFunctionExpression = 0x111, /// Indicates an . ObjectCreationExpression = 0x112, /// Indicates an . TypeParameterObjectCreationExpression = 0x113, /// Indicates an . ArrayCreationExpression = 0x114, /// Indicates an . InstanceReferenceExpression = 0x115, /// Indicates an . IsTypeExpression = 0x116, // https://github.com/dotnet/roslyn/issues/22007 // /// Indicates an . // AwaitExpression = 0x117, /// Indicates an . SimpleAssignmentExpression = 0x118, /// Indicates an . CompoundAssignmentExpression = 0x119, /// Indicates an . ParenthesizedExpression = 0x11a, /// Indicates an . EventAssignmentExpression = 0x11b, /// Indicates an . ConditionalAccessExpression = 0x11c, /// Indicates an . ConditionalAccessInstanceExpression = 0x11d, /// Indicates an . InterpolatedStringExpression = 0x11e, /// Indicates an . AnonymousObjectCreationExpression = 0x11f, /// Indicates an . ObjectOrCollectionInitializerExpression = 0x120, /// Indicates an . MemberInitializerExpression = 0x121, /// Indicates an . CollectionElementInitializerExpression = 0x122, /// Indicates an . NameOfExpression = 0x123, /// Indicates an . TupleExpression = 0x124, /// Indicates an . DynamicObjectCreationExpression = 0x125, /// Indicates an . DynamicMemberReferenceExpression = 0x126, /// Indicates an . DynamicInvocationExpression = 0x127, /// Indicates an . DynamicIndexerAccessExpression = 0x128, /// Indicates an . TranslatedQueryExpression = 0x129, // Expressions that occur only in C#. /// Indicates an . DefaultValueExpression = 0x200, /// Indicates an . TypeOfExpression = 0x201, /// Indicates an . SizeOfExpression = 0x202, /// Indicates an . AddressOfExpression = 0x203, // Indicates an . // API Removed for V1 // https://github.com/dotnet/roslyn/issues/21295 //PointerIndirectionReferenceExpression = 0x204, /// Indicates an . IsPatternExpression = 0x205, /// Indicates an for increment operator. IncrementExpression = 0x206, /// Indicates an . ThrowExpression = 0x207, /// Indicates an for decrement operator. DecrementExpression = 0x208, // Expressions that occur only in Visual Basic. /// Indicates an . OmittedArgumentExpression = 0x300, // 0x301 was removed, and is available for use. // https://github.com/dotnet/roslyn/issues/21294 // /// Indicates an . // PlaceholderExpression = 0x302, // Operations that are constituents of statements, expressions, or declarations. // Unused 0x400 and 0x402 /// Indicates an . FieldInitializer = 0x401, /// Indicates an . PropertyInitializer = 0x403, /// Indicates an . ParameterInitializer = 0x404, /// Indicates an . ArrayInitializer = 0x405, /// Indicates an . VariableDeclaration = 0x406, /// Indicates an . Argument = 0x407, /// Indicates an . CatchClause = 0x408, /// Indicates an . SwitchCase = 0x409, /// Indicates different kinds of switch case clauses as defined by . CaseClause = 0x40a, /// Indicates an . InterpolatedStringText = 0x40b, /// Indicates an . Interpolation = 0x40c, /// Indicates an . ConstantPattern = 0x40d, /// Indicates an . DeclarationPattern = 0x40e, } }