103 types derived from Operation
Microsoft.CodeAnalysis (103)
Generated\Operations.Generated.cs (99)
4037
internal sealed partial class BlockOperation :
Operation
, IBlockOperation
4094
internal sealed partial class VariableDeclarationGroupOperation :
Operation
, IVariableDeclarationGroupOperation
4149
internal sealed partial class SwitchOperation :
Operation
, ISwitchOperation
4219
internal abstract partial class BaseLoopOperation :
Operation
, ILoopOperation
4553
internal sealed partial class LabeledOperation :
Operation
, ILabeledOperation
4606
internal sealed partial class BranchOperation :
Operation
, IBranchOperation
4626
internal sealed partial class EmptyOperation :
Operation
, IEmptyOperation
4640
internal sealed partial class ReturnOperation :
Operation
, IReturnOperation
4692
internal sealed partial class LockOperation :
Operation
, ILockOperation
4756
internal sealed partial class TryOperation :
Operation
, ITryOperation
4835
internal sealed partial class UsingOperation :
Operation
, IUsingOperation
4903
internal sealed partial class ExpressionStatementOperation :
Operation
, IExpressionStatementOperation
4954
internal sealed partial class LocalFunctionOperation :
Operation
, ILocalFunctionOperation
5018
internal sealed partial class StopOperation :
Operation
, IStopOperation
5032
internal sealed partial class EndOperation :
Operation
, IEndOperation
5046
internal sealed partial class RaiseEventOperation :
Operation
, IRaiseEventOperation
5112
internal sealed partial class LiteralOperation :
Operation
, ILiteralOperation
5130
internal sealed partial class ConversionOperation :
Operation
, IConversionOperation
5190
internal sealed partial class InvocationOperation :
Operation
, IInvocationOperation
5263
internal sealed partial class ArrayElementReferenceOperation :
Operation
, IArrayElementReferenceOperation
5330
internal sealed partial class LocalReferenceOperation :
Operation
, ILocalReferenceOperation
5352
internal sealed partial class ParameterReferenceOperation :
Operation
, IParameterReferenceOperation
5371
internal abstract partial class BaseMemberReferenceOperation :
Operation
, IMemberReferenceOperation
5615
internal sealed partial class UnaryOperation :
Operation
, IUnaryOperation
5678
internal sealed partial class BinaryOperation :
Operation
, IBinaryOperation
5756
internal sealed partial class ConditionalOperation :
Operation
, IConditionalOperation
5833
internal sealed partial class CoalesceOperation :
Operation
, ICoalesceOperation
5900
internal sealed partial class AnonymousFunctionOperation :
Operation
, IAnonymousFunctionOperation
5953
internal sealed partial class ObjectCreationOperation :
Operation
, IObjectCreationOperation
6023
internal sealed partial class TypeParameterObjectCreationOperation :
Operation
, ITypeParameterObjectCreationOperation
6075
internal sealed partial class ArrayCreationOperation :
Operation
, IArrayCreationOperation
6142
internal sealed partial class InstanceReferenceOperation :
Operation
, IInstanceReferenceOperation
6161
internal sealed partial class IsTypeOperation :
Operation
, IIsTypeOperation
6217
internal sealed partial class AwaitOperation :
Operation
, IAwaitOperation
6269
internal abstract partial class BaseAssignmentOperation :
Operation
, IAssignmentOperation
6417
internal sealed partial class ParenthesizedOperation :
Operation
, IParenthesizedOperation
6470
internal sealed partial class EventAssignmentOperation :
Operation
, IEventAssignmentOperation
6535
internal sealed partial class ConditionalAccessOperation :
Operation
, IConditionalAccessOperation
6598
internal sealed partial class ConditionalAccessInstanceOperation :
Operation
, IConditionalAccessInstanceOperation
6615
internal sealed partial class InterpolatedStringOperation :
Operation
, IInterpolatedStringOperation
6672
internal sealed partial class AnonymousObjectCreationOperation :
Operation
, IAnonymousObjectCreationOperation
6728
internal sealed partial class ObjectOrCollectionInitializerOperation :
Operation
, IObjectOrCollectionInitializerOperation
6784
internal sealed partial class MemberInitializerOperation :
Operation
, IMemberInitializerOperation
6847
internal sealed partial class NameOfOperation :
Operation
, INameOfOperation
6900
internal sealed partial class TupleOperation :
Operation
, ITupleOperation
6958
internal sealed partial class DynamicMemberReferenceOperation :
Operation
, IDynamicMemberReferenceOperation
7016
internal sealed partial class TranslatedQueryOperation :
Operation
, ITranslatedQueryOperation
7068
internal sealed partial class DelegateCreationOperation :
Operation
, IDelegateCreationOperation
7120
internal sealed partial class DefaultValueOperation :
Operation
, IDefaultValueOperation
7138
internal sealed partial class TypeOfOperation :
Operation
, ITypeOfOperation
7157
internal sealed partial class SizeOfOperation :
Operation
, ISizeOfOperation
7177
internal sealed partial class AddressOfOperation :
Operation
, IAddressOfOperation
7229
internal sealed partial class IsPatternOperation :
Operation
, IIsPatternOperation
7292
internal sealed partial class IncrementOrDecrementOperation :
Operation
, IIncrementOrDecrementOperation
7355
internal sealed partial class ThrowOperation :
Operation
, IThrowOperation
7466
internal sealed partial class DeclarationExpressionOperation :
Operation
, IDeclarationExpressionOperation
7518
internal sealed partial class OmittedArgumentOperation :
Operation
, IOmittedArgumentOperation
7535
internal abstract partial class BaseSymbolInitializerOperation :
Operation
, ISymbolInitializerOperation
7746
internal sealed partial class ArrayInitializerOperation :
Operation
, IArrayInitializerOperation
7801
internal sealed partial class VariableDeclaratorOperation :
Operation
, IVariableDeclaratorOperation
7869
internal sealed partial class VariableDeclarationOperation :
Operation
, IVariableDeclarationOperation
7950
internal sealed partial class ArgumentOperation :
Operation
, IArgumentOperation
8011
internal sealed partial class CatchClauseOperation :
Operation
, ICatchClauseOperation
8088
internal sealed partial class SwitchCaseOperation :
Operation
, ISwitchCaseOperation
8162
internal abstract partial class BaseCaseClauseOperation :
Operation
, ICaseClauseOperation
8415
internal abstract partial class BaseInterpolatedStringContentOperation :
Operation
, IInterpolatedStringContentOperation
8544
internal abstract partial class BasePatternOperation :
Operation
, IPatternOperation
8628
internal sealed partial class TupleBinaryOperation :
Operation
, ITupleBinaryOperation
8693
internal abstract partial class BaseMethodBodyBaseOperation :
Operation
, IMethodBodyBaseOperation
8831
internal sealed partial class DiscardOperation :
Operation
, IDiscardOperation
8850
internal sealed partial class FlowCaptureOperation :
Operation
, IFlowCaptureOperation
8903
internal sealed partial class FlowCaptureReferenceOperation :
Operation
, IFlowCaptureReferenceOperation
8925
internal sealed partial class IsNullOperation :
Operation
, IIsNullOperation
8978
internal sealed partial class CaughtExceptionOperation :
Operation
, ICaughtExceptionOperation
8995
internal sealed partial class StaticLocalInitializationSemaphoreOperation :
Operation
, IStaticLocalInitializationSemaphoreOperation
9073
internal sealed partial class RangeOperation :
Operation
, IRangeOperation
9140
internal sealed partial class ReDimOperation :
Operation
, IReDimOperation
9197
internal sealed partial class ReDimClauseOperation :
Operation
, IReDimClauseOperation
9353
internal sealed partial class SwitchExpressionOperation :
Operation
, ISwitchExpressionOperation
9422
internal sealed partial class SwitchExpressionArmOperation :
Operation
, ISwitchExpressionArmOperation
9497
internal sealed partial class PropertySubpatternOperation :
Operation
, IPropertySubpatternOperation
9559
internal sealed partial class AggregateQueryOperation :
Operation
, IAggregateQueryOperation
9622
internal sealed partial class FixedOperation :
Operation
, IFixedOperation
9686
internal sealed partial class NoPiaObjectCreationOperation :
Operation
, INoPiaObjectCreationOperation
9738
internal sealed partial class PlaceholderOperation :
Operation
, IPlaceholderOperation
9757
internal sealed partial class WithStatementOperation :
Operation
, IWithStatementOperation
9819
internal sealed partial class UsingDeclarationOperation :
Operation
, IUsingDeclarationOperation
10060
internal sealed partial class WithOperation :
Operation
, IWithOperation
10125
internal sealed partial class InterpolatedStringHandlerCreationOperation :
Operation
, IInterpolatedStringHandlerCreationOperation
10192
internal sealed partial class InterpolatedStringAdditionOperation :
Operation
, IInterpolatedStringAdditionOperation
10306
internal sealed partial class InterpolatedStringHandlerArgumentPlaceholderOperation :
Operation
, IInterpolatedStringHandlerArgumentPlaceholderOperation
10326
internal sealed partial class FunctionPointerInvocationOperation :
Operation
, IFunctionPointerInvocationOperation
10507
internal sealed partial class ImplicitIndexerReferenceOperation :
Operation
, IImplicitIndexerReferenceOperation
10574
internal sealed partial class Utf8StringOperation :
Operation
, IUtf8StringOperation
10593
internal sealed partial class AttributeOperation :
Operation
, IAttributeOperation
10644
internal sealed partial class InlineArrayAccessOperation :
Operation
, IInlineArrayAccessOperation
10707
internal sealed partial class CollectionExpressionOperation :
Operation
, ICollectionExpressionOperation
10780
internal sealed partial class SpreadOperation :
Operation
, ISpreadOperation
10836
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)));
7863
BlockOperation logicalBlock = BlockOperation.CreateTemporaryBlock(statementsBuilder.ToImmutableAndFree(), ((
Operation
)operation).OwningSemanticModel!, operation.Syntax);
7887
Debug.Assert(operation == null || ((
Operation
)operation).OwningSemanticModel!.Compilation == _compilation);
7895
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.