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
76 references to Operation
GenerateDocumentationAndConfigFiles (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
117
/// is the root operation, i.e. <see cref="
Operation
.Parent"/> is null.
Metrics (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
117
/// is the root operation, i.e. <see cref="
Operation
.Parent"/> is null.
Metrics.Legacy (1)
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);
1291
Operation
.SetParentOperation(statement, null);
1404
Debug.Assert(((
Operation
)originalOperation).OwningSemanticModel != null, "Not an original node.");
2972
Operation
.SetParentOperation(condition, null);
3487
Operation
currentOperation = (
Operation
)operation;
3499
currentOperation = (
Operation
)enumerator.Current;
3846
current.BranchValue =
Operation
.SetParentOperation(returnedValue, null);
3945
current.BranchValue =
Operation
.SetParentOperation(exception, null);
6784
VisitStatements(((
Operation
)operation).ChildOperations.ToImmutableArray());
6791
new NoneOperation(VisitArray(((
Operation
)operation).ChildOperations.ToImmutableArray()), semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation)));
7866
BlockOperation logicalBlock = BlockOperation.CreateTemporaryBlock(statementsBuilder.ToImmutableAndFree(), ((
Operation
)operation).OwningSemanticModel!, operation.Syntax);
7890
Debug.Assert(operation == null || ((
Operation
)operation).OwningSemanticModel!.Compilation == _compilation);
7898
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)
390
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\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\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
117
/// is the root operation, i.e. <see cref="
Operation
.Parent"/> is null.
Microsoft.CodeAnalysis.BannedApiAnalyzers (1)
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)
1990
return
Operation
.SetParentOperation(args, null);
2998
return
Operation
.SetParentOperation(args, null);
Microsoft.CodeAnalysis.CSharp.IOperation.UnitTests (2)
IOperation\IOperationTests.cs (2)
681
SemanticModel memberModel = ((
Operation
)operation).OwningSemanticModel;
685
Assert.Same(memberModel, ((
Operation
)operation).OwningSemanticModel);
Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
117
/// is the root operation, i.e. <see cref="
Operation
.Parent"/> is null.
Microsoft.CodeAnalysis.PublicApiAnalyzers (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
117
/// is the root operation, i.e. <see cref="
Operation
.Parent"/> is null.
Microsoft.CodeAnalysis.ResxSourceGenerator (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
117
/// is the root operation, i.e. <see cref="
Operation
.Parent"/> is null.
Microsoft.CodeAnalysis.Test.Utilities (11)
CommonTestBase.cs (4)
659
Assert.NotSame(model, ((
Operation
)operation).OwningSemanticModel);
660
Assert.Same(((
Operation
)operation).OwningSemanticModel, ((
Operation
)clonedOperation).OwningSemanticModel);
679
var semanticModel = ((
Operation
)root).OwningSemanticModel;
Compilation\CompilationExtensions.cs (3)
309
Assert.NotSame(semanticModel, ((
Operation
)operation).OwningSemanticModel);
310
Assert.NotNull(((
Operation
)operation).OwningSemanticModel);
311
Assert.Same(semanticModel, ((
Operation
)operation).OwningSemanticModel.ContainingPublicModelOrSelf);
Compilation\ControlFlowGraphVerifier.cs (2)
1632
Assert.Null(((
Operation
)root).OwningSemanticModel);
1640
Assert.Null(((
Operation
)operation).OwningSemanticModel);
Compilation\OperationTreeVerifier.cs (1)
1247
if (((
Operation
)operation).OwningSemanticModel == null)
Compilation\TestOperationVisitor.cs (1)
66
var count = ((
Operation
)operation).ChildOperationsCount;
Microsoft.CodeAnalysis.UnitTests (6)
Diagnostics\OperationTests.cs (6)
153
block =
Operation
.SetParentOperation(block, parent);
171
initializer =
Operation
.SetParentOperation(initializer, parent);
189
initializer =
Operation
.SetParentOperation(initializer, parent);
207
initializer =
Operation
.SetParentOperation(initializer, parent);
229
constructorBody =
Operation
.SetParentOperation(constructorBody, parent);
249
methodBody =
Operation
.SetParentOperation(methodBody, parent);
Roslyn.Diagnostics.Analyzers (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
117
/// is the root operation, i.e. <see cref="
Operation
.Parent"/> is null.
Test.Utilities (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
117
/// is the root operation, i.e. <see cref="
Operation
.Parent"/> is null.
Text.Analyzers (1)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
117
/// is the root operation, i.e. <see cref="
Operation
.Parent"/> is null.