103 types derived from Operation
Microsoft.CodeAnalysis (103)
Generated\Operations.Generated.cs (99)
4039
internal sealed partial class BlockOperation :
Operation
, IBlockOperation
4096
internal sealed partial class VariableDeclarationGroupOperation :
Operation
, IVariableDeclarationGroupOperation
4151
internal sealed partial class SwitchOperation :
Operation
, ISwitchOperation
4221
internal abstract partial class BaseLoopOperation :
Operation
, ILoopOperation
4555
internal sealed partial class LabeledOperation :
Operation
, ILabeledOperation
4608
internal sealed partial class BranchOperation :
Operation
, IBranchOperation
4628
internal sealed partial class EmptyOperation :
Operation
, IEmptyOperation
4642
internal sealed partial class ReturnOperation :
Operation
, IReturnOperation
4694
internal sealed partial class LockOperation :
Operation
, ILockOperation
4758
internal sealed partial class TryOperation :
Operation
, ITryOperation
4837
internal sealed partial class UsingOperation :
Operation
, IUsingOperation
4905
internal sealed partial class ExpressionStatementOperation :
Operation
, IExpressionStatementOperation
4956
internal sealed partial class LocalFunctionOperation :
Operation
, ILocalFunctionOperation
5020
internal sealed partial class StopOperation :
Operation
, IStopOperation
5034
internal sealed partial class EndOperation :
Operation
, IEndOperation
5048
internal sealed partial class RaiseEventOperation :
Operation
, IRaiseEventOperation
5114
internal sealed partial class LiteralOperation :
Operation
, ILiteralOperation
5132
internal sealed partial class ConversionOperation :
Operation
, IConversionOperation
5192
internal sealed partial class InvocationOperation :
Operation
, IInvocationOperation
5265
internal sealed partial class ArrayElementReferenceOperation :
Operation
, IArrayElementReferenceOperation
5332
internal sealed partial class LocalReferenceOperation :
Operation
, ILocalReferenceOperation
5354
internal sealed partial class ParameterReferenceOperation :
Operation
, IParameterReferenceOperation
5373
internal abstract partial class BaseMemberReferenceOperation :
Operation
, IMemberReferenceOperation
5617
internal sealed partial class UnaryOperation :
Operation
, IUnaryOperation
5680
internal sealed partial class BinaryOperation :
Operation
, IBinaryOperation
5758
internal sealed partial class ConditionalOperation :
Operation
, IConditionalOperation
5835
internal sealed partial class CoalesceOperation :
Operation
, ICoalesceOperation
5902
internal sealed partial class AnonymousFunctionOperation :
Operation
, IAnonymousFunctionOperation
5955
internal sealed partial class ObjectCreationOperation :
Operation
, IObjectCreationOperation
6025
internal sealed partial class TypeParameterObjectCreationOperation :
Operation
, ITypeParameterObjectCreationOperation
6077
internal sealed partial class ArrayCreationOperation :
Operation
, IArrayCreationOperation
6144
internal sealed partial class InstanceReferenceOperation :
Operation
, IInstanceReferenceOperation
6163
internal sealed partial class IsTypeOperation :
Operation
, IIsTypeOperation
6219
internal sealed partial class AwaitOperation :
Operation
, IAwaitOperation
6271
internal abstract partial class BaseAssignmentOperation :
Operation
, IAssignmentOperation
6419
internal sealed partial class ParenthesizedOperation :
Operation
, IParenthesizedOperation
6472
internal sealed partial class EventAssignmentOperation :
Operation
, IEventAssignmentOperation
6537
internal sealed partial class ConditionalAccessOperation :
Operation
, IConditionalAccessOperation
6600
internal sealed partial class ConditionalAccessInstanceOperation :
Operation
, IConditionalAccessInstanceOperation
6617
internal sealed partial class InterpolatedStringOperation :
Operation
, IInterpolatedStringOperation
6674
internal sealed partial class AnonymousObjectCreationOperation :
Operation
, IAnonymousObjectCreationOperation
6730
internal sealed partial class ObjectOrCollectionInitializerOperation :
Operation
, IObjectOrCollectionInitializerOperation
6786
internal sealed partial class MemberInitializerOperation :
Operation
, IMemberInitializerOperation
6849
internal sealed partial class NameOfOperation :
Operation
, INameOfOperation
6902
internal sealed partial class TupleOperation :
Operation
, ITupleOperation
6960
internal sealed partial class DynamicMemberReferenceOperation :
Operation
, IDynamicMemberReferenceOperation
7018
internal sealed partial class TranslatedQueryOperation :
Operation
, ITranslatedQueryOperation
7070
internal sealed partial class DelegateCreationOperation :
Operation
, IDelegateCreationOperation
7122
internal sealed partial class DefaultValueOperation :
Operation
, IDefaultValueOperation
7140
internal sealed partial class TypeOfOperation :
Operation
, ITypeOfOperation
7159
internal sealed partial class SizeOfOperation :
Operation
, ISizeOfOperation
7179
internal sealed partial class AddressOfOperation :
Operation
, IAddressOfOperation
7231
internal sealed partial class IsPatternOperation :
Operation
, IIsPatternOperation
7294
internal sealed partial class IncrementOrDecrementOperation :
Operation
, IIncrementOrDecrementOperation
7357
internal sealed partial class ThrowOperation :
Operation
, IThrowOperation
7468
internal sealed partial class DeclarationExpressionOperation :
Operation
, IDeclarationExpressionOperation
7520
internal sealed partial class OmittedArgumentOperation :
Operation
, IOmittedArgumentOperation
7537
internal abstract partial class BaseSymbolInitializerOperation :
Operation
, ISymbolInitializerOperation
7748
internal sealed partial class ArrayInitializerOperation :
Operation
, IArrayInitializerOperation
7803
internal sealed partial class VariableDeclaratorOperation :
Operation
, IVariableDeclaratorOperation
7871
internal sealed partial class VariableDeclarationOperation :
Operation
, IVariableDeclarationOperation
7952
internal sealed partial class ArgumentOperation :
Operation
, IArgumentOperation
8013
internal sealed partial class CatchClauseOperation :
Operation
, ICatchClauseOperation
8090
internal sealed partial class SwitchCaseOperation :
Operation
, ISwitchCaseOperation
8164
internal abstract partial class BaseCaseClauseOperation :
Operation
, ICaseClauseOperation
8417
internal abstract partial class BaseInterpolatedStringContentOperation :
Operation
, IInterpolatedStringContentOperation
8546
internal abstract partial class BasePatternOperation :
Operation
, IPatternOperation
8630
internal sealed partial class TupleBinaryOperation :
Operation
, ITupleBinaryOperation
8695
internal abstract partial class BaseMethodBodyBaseOperation :
Operation
, IMethodBodyBaseOperation
8833
internal sealed partial class DiscardOperation :
Operation
, IDiscardOperation
8852
internal sealed partial class FlowCaptureOperation :
Operation
, IFlowCaptureOperation
8905
internal sealed partial class FlowCaptureReferenceOperation :
Operation
, IFlowCaptureReferenceOperation
8927
internal sealed partial class IsNullOperation :
Operation
, IIsNullOperation
8980
internal sealed partial class CaughtExceptionOperation :
Operation
, ICaughtExceptionOperation
8997
internal sealed partial class StaticLocalInitializationSemaphoreOperation :
Operation
, IStaticLocalInitializationSemaphoreOperation
9075
internal sealed partial class RangeOperation :
Operation
, IRangeOperation
9142
internal sealed partial class ReDimOperation :
Operation
, IReDimOperation
9199
internal sealed partial class ReDimClauseOperation :
Operation
, IReDimClauseOperation
9355
internal sealed partial class SwitchExpressionOperation :
Operation
, ISwitchExpressionOperation
9424
internal sealed partial class SwitchExpressionArmOperation :
Operation
, ISwitchExpressionArmOperation
9499
internal sealed partial class PropertySubpatternOperation :
Operation
, IPropertySubpatternOperation
9561
internal sealed partial class AggregateQueryOperation :
Operation
, IAggregateQueryOperation
9624
internal sealed partial class FixedOperation :
Operation
, IFixedOperation
9688
internal sealed partial class NoPiaObjectCreationOperation :
Operation
, INoPiaObjectCreationOperation
9740
internal sealed partial class PlaceholderOperation :
Operation
, IPlaceholderOperation
9759
internal sealed partial class WithStatementOperation :
Operation
, IWithStatementOperation
9821
internal sealed partial class UsingDeclarationOperation :
Operation
, IUsingDeclarationOperation
10062
internal sealed partial class WithOperation :
Operation
, IWithOperation
10127
internal sealed partial class InterpolatedStringHandlerCreationOperation :
Operation
, IInterpolatedStringHandlerCreationOperation
10194
internal sealed partial class InterpolatedStringAdditionOperation :
Operation
, IInterpolatedStringAdditionOperation
10308
internal sealed partial class InterpolatedStringHandlerArgumentPlaceholderOperation :
Operation
, IInterpolatedStringHandlerArgumentPlaceholderOperation
10328
internal sealed partial class FunctionPointerInvocationOperation :
Operation
, IFunctionPointerInvocationOperation
10509
internal sealed partial class ImplicitIndexerReferenceOperation :
Operation
, IImplicitIndexerReferenceOperation
10576
internal sealed partial class Utf8StringOperation :
Operation
, IUtf8StringOperation
10595
internal sealed partial class AttributeOperation :
Operation
, IAttributeOperation
10646
internal sealed partial class InlineArrayAccessOperation :
Operation
, IInlineArrayAccessOperation
10709
internal sealed partial class CollectionExpressionOperation :
Operation
, ICollectionExpressionOperation
10782
internal sealed partial class SpreadOperation :
Operation
, ISpreadOperation
10838
internal sealed partial class CollectionExpressionElementsPlaceholderOperation :
Operation
, ICollectionExpressionElementsPlaceholderOperation
Operations\OperationNodes.cs (4)
16
internal sealed class NoneOperation :
Operation
85
internal sealed partial class InvalidOperation :
Operation
, IInvalidOperation
150
internal sealed class FlowAnonymousFunctionOperation :
Operation
, IFlowAnonymousFunctionOperation
233
internal abstract partial class HasDynamicArgumentsExpression :
Operation
50 references to Operation
GenerateDocumentationAndConfigFiles (1)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
117
/// is the root operation, i.e. <see cref="
Operation
.Parent"/> is null.
Microsoft.CodeAnalysis (42)
Operations\ControlFlowGraph.cs (1)
185
if (((
Operation
)operation).OwningSemanticModel == null)
Operations\ControlFlowGraphBuilder.cs (15)
90
Debug.Assert(((
Operation
)body).OwningSemanticModel != null);
114
var builder = new ControlFlowGraphBuilder(((
Operation
)body).OwningSemanticModel!.Compilation, captureIdDispenser, blocks);
1299
Operation
.SetParentOperation(statement, null);
1412
Debug.Assert(((
Operation
)originalOperation).OwningSemanticModel != null, "Not an original node.");
2980
Operation
.SetParentOperation(condition, null);
3495
Operation
currentOperation = (
Operation
)operation;
3507
currentOperation = (
Operation
)enumerator.Current;
3854
current.BranchValue =
Operation
.SetParentOperation(returnedValue, null);
3953
current.BranchValue =
Operation
.SetParentOperation(exception, null);
6793
VisitStatements(((
Operation
)operation).ChildOperations.ToImmutableArray());
6800
new NoneOperation(VisitArray(((
Operation
)operation).ChildOperations.ToImmutableArray()), semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation)));
7875
BlockOperation logicalBlock = BlockOperation.CreateTemporaryBlock(statementsBuilder.ToImmutableAndFree(), ((
Operation
)operation).OwningSemanticModel!, operation.Syntax);
7899
Debug.Assert(operation == null || ((
Operation
)operation).OwningSemanticModel!.Compilation == _compilation);
7907
Debug.Assert(operation == null || ((
Operation
)operation).OwningSemanticModel!.Compilation == _compilation);
Operations\ControlFlowGraphBuilder.RegionBuilder.cs (1)
420
foreach (IOperation child in ((
Operation
)operation).ChildOperations)
Operations\IOperation.OperationList.cs (8)
20
/// Implements a struct-based collection of <see cref="
Operation
"/> nodes. This collection is ordered, but
26
private readonly
Operation
_operation;
28
internal OperationList(
Operation
operation)
96
/// Implements a struct-based enumerator for <see cref="
Operation
"/> nodes. This type is not hardened
105
/// members are delegated to the virtual <see cref="
Operation
.MoveNext(int, int)"/> and
106
/// <see cref="
Operation
.GetCurrent(int, int)"/> methods, respectively.
108
private readonly
Operation
_operation;
115
internal Enumerator(
Operation
operation)
Operations\IOperation.OperationList.Reversed.cs (6)
22
/// Implements a reverse-order struct-based collection of <see cref="
Operation
"/> nodes.
28
private readonly
Operation
_operation;
30
internal Reversed(
Operation
operation)
84
/// Implements a reverse-order struct-based enumerator for <see cref="
Operation
"/> nodes. This type is not hardened
91
private readonly
Operation
_operation;
95
internal Enumerator(
Operation
operation)
Operations\Operation.cs (2)
144
Debug.Assert(parent == null || ((
Operation
)parent).OwningSemanticModel == OwningSemanticModel);
152
(operation as
Operation
)?.SetParentOperation(parent);
Operations\OperationCloner.cs (6)
21
return new NoneOperation(VisitArray(((
Operation
)operation).ChildOperations.ToImmutableArray()), ((
Operation
)operation).OwningSemanticModel, operation.Syntax, operation.Type, operation.GetConstantValue(), operation.IsImplicit);
32
return new DynamicObjectCreationOperation(Visit(operation.Initializer), VisitArray(operation.Arguments), ((HasDynamicArgumentsExpression)operation).ArgumentNames, ((HasDynamicArgumentsExpression)operation).ArgumentRefKinds, ((
Operation
)operation).OwningSemanticModel, operation.Syntax, operation.Type, operation.IsImplicit);
37
return new DynamicInvocationOperation(Visit(operation.Operation), VisitArray(operation.Arguments), ((HasDynamicArgumentsExpression)operation).ArgumentNames, ((HasDynamicArgumentsExpression)operation).ArgumentRefKinds, ((
Operation
)operation).OwningSemanticModel, operation.Syntax, operation.Type, operation.IsImplicit);
42
return new DynamicIndexerAccessOperation(Visit(operation.Operation), VisitArray(operation.Arguments), ((HasDynamicArgumentsExpression)operation).ArgumentNames, ((HasDynamicArgumentsExpression)operation).ArgumentRefKinds, ((
Operation
)operation).OwningSemanticModel, operation.Syntax, operation.Type, operation.IsImplicit);
47
return new InvalidOperation(VisitArray(((InvalidOperation)operation).Children), ((
Operation
)operation).OwningSemanticModel, operation.Syntax, operation.Type, operation.GetConstantValue(), operation.IsImplicit);
Operations\OperationExtensions.cs (1)
395
return ((
Operation
)operation).OperationConstantValue;
Operations\OperationWalker.cs (2)
17
foreach (var child in ((
Operation
)operation).ChildOperations)
61
foreach (var child in ((
Operation
)operation).ChildOperations)
Microsoft.CodeAnalysis.Analyzers (1)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
117
/// is the root operation, i.e. <see cref="
Operation
.Parent"/> is null.
Microsoft.CodeAnalysis.AnalyzerUtilities (1)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
117
/// is the root operation, i.e. <see cref="
Operation
.Parent"/> is null.
Microsoft.CodeAnalysis.CSharp (3)
Compilation\MemberSemanticModel.cs (1)
1241
Operation
.SetParentOperation(operation, null);
Operations\CSharpOperationFactory.cs (2)
2015
return
Operation
.SetParentOperation(args, null);
3023
return
Operation
.SetParentOperation(args, null);
Microsoft.CodeAnalysis.ResxSourceGenerator (1)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
117
/// is the root operation, i.e. <see cref="
Operation
.Parent"/> is null.
Roslyn.Diagnostics.Analyzers (1)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
117
/// is the root operation, i.e. <see cref="
Operation
.Parent"/> is null.