// 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,
}
}