99 types derived from Operation
Microsoft.CodeAnalysis (99)
Generated\Operations.Generated.cs (95)
3626
internal sealed partial class BlockOperation :
Operation
, IBlockOperation
3683
internal sealed partial class VariableDeclarationGroupOperation :
Operation
, IVariableDeclarationGroupOperation
3738
internal sealed partial class SwitchOperation :
Operation
, ISwitchOperation
3808
internal abstract partial class BaseLoopOperation :
Operation
, ILoopOperation
4142
internal sealed partial class LabeledOperation :
Operation
, ILabeledOperation
4195
internal sealed partial class BranchOperation :
Operation
, IBranchOperation
4215
internal sealed partial class EmptyOperation :
Operation
, IEmptyOperation
4229
internal sealed partial class ReturnOperation :
Operation
, IReturnOperation
4281
internal sealed partial class LockOperation :
Operation
, ILockOperation
4345
internal sealed partial class TryOperation :
Operation
, ITryOperation
4424
internal sealed partial class UsingOperation :
Operation
, IUsingOperation
4492
internal sealed partial class ExpressionStatementOperation :
Operation
, IExpressionStatementOperation
4543
internal sealed partial class LocalFunctionOperation :
Operation
, ILocalFunctionOperation
4607
internal sealed partial class StopOperation :
Operation
, IStopOperation
4621
internal sealed partial class EndOperation :
Operation
, IEndOperation
4635
internal sealed partial class RaiseEventOperation :
Operation
, IRaiseEventOperation
4701
internal sealed partial class LiteralOperation :
Operation
, ILiteralOperation
4719
internal sealed partial class ConversionOperation :
Operation
, IConversionOperation
4779
internal sealed partial class InvocationOperation :
Operation
, IInvocationOperation
4852
internal sealed partial class ArrayElementReferenceOperation :
Operation
, IArrayElementReferenceOperation
4919
internal sealed partial class LocalReferenceOperation :
Operation
, ILocalReferenceOperation
4941
internal sealed partial class ParameterReferenceOperation :
Operation
, IParameterReferenceOperation
4960
internal abstract partial class BaseMemberReferenceOperation :
Operation
, IMemberReferenceOperation
5204
internal sealed partial class UnaryOperation :
Operation
, IUnaryOperation
5267
internal sealed partial class BinaryOperation :
Operation
, IBinaryOperation
5345
internal sealed partial class ConditionalOperation :
Operation
, IConditionalOperation
5422
internal sealed partial class CoalesceOperation :
Operation
, ICoalesceOperation
5489
internal sealed partial class AnonymousFunctionOperation :
Operation
, IAnonymousFunctionOperation
5542
internal sealed partial class ObjectCreationOperation :
Operation
, IObjectCreationOperation
5612
internal sealed partial class TypeParameterObjectCreationOperation :
Operation
, ITypeParameterObjectCreationOperation
5664
internal sealed partial class ArrayCreationOperation :
Operation
, IArrayCreationOperation
5731
internal sealed partial class InstanceReferenceOperation :
Operation
, IInstanceReferenceOperation
5750
internal sealed partial class IsTypeOperation :
Operation
, IIsTypeOperation
5806
internal sealed partial class AwaitOperation :
Operation
, IAwaitOperation
5858
internal abstract partial class BaseAssignmentOperation :
Operation
, IAssignmentOperation
6006
internal sealed partial class ParenthesizedOperation :
Operation
, IParenthesizedOperation
6059
internal sealed partial class EventAssignmentOperation :
Operation
, IEventAssignmentOperation
6124
internal sealed partial class ConditionalAccessOperation :
Operation
, IConditionalAccessOperation
6187
internal sealed partial class ConditionalAccessInstanceOperation :
Operation
, IConditionalAccessInstanceOperation
6204
internal sealed partial class InterpolatedStringOperation :
Operation
, IInterpolatedStringOperation
6261
internal sealed partial class AnonymousObjectCreationOperation :
Operation
, IAnonymousObjectCreationOperation
6317
internal sealed partial class ObjectOrCollectionInitializerOperation :
Operation
, IObjectOrCollectionInitializerOperation
6373
internal sealed partial class MemberInitializerOperation :
Operation
, IMemberInitializerOperation
6436
internal sealed partial class NameOfOperation :
Operation
, INameOfOperation
6489
internal sealed partial class TupleOperation :
Operation
, ITupleOperation
6547
internal sealed partial class DynamicMemberReferenceOperation :
Operation
, IDynamicMemberReferenceOperation
6605
internal sealed partial class TranslatedQueryOperation :
Operation
, ITranslatedQueryOperation
6657
internal sealed partial class DelegateCreationOperation :
Operation
, IDelegateCreationOperation
6709
internal sealed partial class DefaultValueOperation :
Operation
, IDefaultValueOperation
6727
internal sealed partial class TypeOfOperation :
Operation
, ITypeOfOperation
6746
internal sealed partial class SizeOfOperation :
Operation
, ISizeOfOperation
6766
internal sealed partial class AddressOfOperation :
Operation
, IAddressOfOperation
6818
internal sealed partial class IsPatternOperation :
Operation
, IIsPatternOperation
6881
internal sealed partial class IncrementOrDecrementOperation :
Operation
, IIncrementOrDecrementOperation
6944
internal sealed partial class ThrowOperation :
Operation
, IThrowOperation
7055
internal sealed partial class DeclarationExpressionOperation :
Operation
, IDeclarationExpressionOperation
7107
internal sealed partial class OmittedArgumentOperation :
Operation
, IOmittedArgumentOperation
7124
internal abstract partial class BaseSymbolInitializerOperation :
Operation
, ISymbolInitializerOperation
7335
internal sealed partial class ArrayInitializerOperation :
Operation
, IArrayInitializerOperation
7390
internal sealed partial class VariableDeclaratorOperation :
Operation
, IVariableDeclaratorOperation
7458
internal sealed partial class VariableDeclarationOperation :
Operation
, IVariableDeclarationOperation
7539
internal sealed partial class ArgumentOperation :
Operation
, IArgumentOperation
7600
internal sealed partial class CatchClauseOperation :
Operation
, ICatchClauseOperation
7677
internal sealed partial class SwitchCaseOperation :
Operation
, ISwitchCaseOperation
7751
internal abstract partial class BaseCaseClauseOperation :
Operation
, ICaseClauseOperation
8004
internal abstract partial class BaseInterpolatedStringContentOperation :
Operation
, IInterpolatedStringContentOperation
8133
internal abstract partial class BasePatternOperation :
Operation
, IPatternOperation
8217
internal sealed partial class TupleBinaryOperation :
Operation
, ITupleBinaryOperation
8282
internal abstract partial class BaseMethodBodyBaseOperation :
Operation
, IMethodBodyBaseOperation
8420
internal sealed partial class DiscardOperation :
Operation
, IDiscardOperation
8439
internal sealed partial class FlowCaptureOperation :
Operation
, IFlowCaptureOperation
8492
internal sealed partial class FlowCaptureReferenceOperation :
Operation
, IFlowCaptureReferenceOperation
8514
internal sealed partial class IsNullOperation :
Operation
, IIsNullOperation
8567
internal sealed partial class CaughtExceptionOperation :
Operation
, ICaughtExceptionOperation
8584
internal sealed partial class StaticLocalInitializationSemaphoreOperation :
Operation
, IStaticLocalInitializationSemaphoreOperation
8662
internal sealed partial class RangeOperation :
Operation
, IRangeOperation
8729
internal sealed partial class ReDimOperation :
Operation
, IReDimOperation
8786
internal sealed partial class ReDimClauseOperation :
Operation
, IReDimClauseOperation
8942
internal sealed partial class SwitchExpressionOperation :
Operation
, ISwitchExpressionOperation
9011
internal sealed partial class SwitchExpressionArmOperation :
Operation
, ISwitchExpressionArmOperation
9086
internal sealed partial class PropertySubpatternOperation :
Operation
, IPropertySubpatternOperation
9148
internal sealed partial class AggregateQueryOperation :
Operation
, IAggregateQueryOperation
9211
internal sealed partial class FixedOperation :
Operation
, IFixedOperation
9275
internal sealed partial class NoPiaObjectCreationOperation :
Operation
, INoPiaObjectCreationOperation
9327
internal sealed partial class PlaceholderOperation :
Operation
, IPlaceholderOperation
9346
internal sealed partial class WithStatementOperation :
Operation
, IWithStatementOperation
9408
internal sealed partial class UsingDeclarationOperation :
Operation
, IUsingDeclarationOperation
9649
internal sealed partial class WithOperation :
Operation
, IWithOperation
9714
internal sealed partial class InterpolatedStringHandlerCreationOperation :
Operation
, IInterpolatedStringHandlerCreationOperation
9781
internal sealed partial class InterpolatedStringAdditionOperation :
Operation
, IInterpolatedStringAdditionOperation
9895
internal sealed partial class InterpolatedStringHandlerArgumentPlaceholderOperation :
Operation
, IInterpolatedStringHandlerArgumentPlaceholderOperation
9915
internal sealed partial class FunctionPointerInvocationOperation :
Operation
, IFunctionPointerInvocationOperation
10096
internal sealed partial class ImplicitIndexerReferenceOperation :
Operation
, IImplicitIndexerReferenceOperation
10163
internal sealed partial class Utf8StringOperation :
Operation
, IUtf8StringOperation
10182
internal sealed partial class AttributeOperation :
Operation
, IAttributeOperation
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
75 references to Operation
Microsoft.CodeAnalysis (44)
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);
1290
Operation
.SetParentOperation(statement, null);
1403
Debug.Assert(((
Operation
)originalOperation).OwningSemanticModel != null, "Not an original node.");
2953
Operation
.SetParentOperation(condition, null);
3468
Operation
currentOperation = (
Operation
)operation;
3480
currentOperation = (
Operation
)enumerator.Current;
3827
current.BranchValue =
Operation
.SetParentOperation(returnedValue, null);
3926
current.BranchValue =
Operation
.SetParentOperation(exception, null);
6522
VisitStatements(((
Operation
)operation).ChildOperations.ToImmutableArray());
6529
new NoneOperation(VisitArray(((
Operation
)operation).ChildOperations.ToImmutableArray()), semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation)));
7567
BlockOperation logicalBlock = BlockOperation.CreateTemporaryBlock(statementsBuilder.ToImmutableAndFree(), ((
Operation
)operation).OwningSemanticModel!, operation.Syntax);
7591
Debug.Assert(operation == null || ((
Operation
)operation).OwningSemanticModel!.Compilation == _compilation);
7599
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)
19
/// Implements a struct-based collection of <see cref="
Operation
"/> nodes. This collection is ordered, but
25
private readonly
Operation
_operation;
27
internal OperationList(
Operation
operation)
95
/// Implements a struct-based enumerator for <see cref="
Operation
"/> nodes. This type is not hardened
104
/// members are delegated to the virtual <see cref="
Operation
.MoveNext(int, int)"/> and
105
/// <see cref="
Operation
.GetCurrent(int, int)"/> methods, respectively.
107
private readonly
Operation
_operation;
114
internal Enumerator(
Operation
operation)
Operations\IOperation.OperationList.Reversed.cs (6)
21
/// Implements a reverse-order struct-based collection of <see cref="
Operation
"/> nodes.
27
private readonly
Operation
_operation;
29
internal Reversed(
Operation
operation)
83
/// Implements a reverse-order struct-based enumerator for <see cref="
Operation
"/> nodes. This type is not hardened
90
private readonly
Operation
_operation;
94
internal Enumerator(
Operation
operation)
Operations\Operation.cs (2)
145
Debug.Assert(parent == null || ((
Operation
)parent).OwningSemanticModel == OwningSemanticModel);
153
(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 (3)
97
stack.Push(((
Operation
)operation).ChildOperations.GetEnumerator());
117
stack.Push(((
Operation
)current).ChildOperations.GetEnumerator());
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.CSharp (3)
Compilation\MemberSemanticModel.cs (1)
1193
Operation
.SetParentOperation(operation, null);
Operations\CSharpOperationFactory.cs (2)
1842
return
Operation
.SetParentOperation(args, null);
2816
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.Test.Utilities (11)
CommonTestBase.cs (4)
625
Assert.NotSame(model, ((
Operation
)operation).OwningSemanticModel);
626
Assert.Same(((
Operation
)operation).OwningSemanticModel, ((
Operation
)clonedOperation).OwningSemanticModel);
645
var semanticModel = ((
Operation
)root).OwningSemanticModel;
Compilation\CompilationExtensions.cs (3)
308
Assert.NotSame(semanticModel, ((
Operation
)operation).OwningSemanticModel);
309
Assert.NotNull(((
Operation
)operation).OwningSemanticModel);
310
Assert.Same(semanticModel, ((
Operation
)operation).OwningSemanticModel.ContainingPublicModelOrSelf);
Compilation\ControlFlowGraphVerifier.cs (2)
1657
Assert.Null(((
Operation
)root).OwningSemanticModel);
1665
Assert.Null(((
Operation
)operation).OwningSemanticModel);
Compilation\OperationTreeVerifier.cs (1)
1250
if (((
Operation
)operation).OwningSemanticModel == null)
Compilation\TestOperationVisitor.cs (1)
65
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);
Microsoft.CodeAnalysis.VisualBasic (9)
Binding\MemberSemanticModel.vb (1)
862
Operation
.SetParentOperation(rootOperation, Nothing)
Operations\VisualBasicOperationFactory.vb (7)
1181
userDefinedInfo = New ForToLoopOperationUserDefinedInfo(DirectCast(
Operation
.SetParentOperation(Create(operatorsOpt.Addition), Nothing), IBinaryOperation),
1182
DirectCast(
Operation
.SetParentOperation(Create(operatorsOpt.Subtraction), Nothing), IBinaryOperation),
1183
Operation
.SetParentOperation(Create(operatorsOpt.LessThanOrEqual), Nothing),
1184
Operation
.SetParentOperation(Create(operatorsOpt.GreaterThanOrEqual), Nothing))
1216
Operation
.SetParentOperation(
1222
Operation
.SetParentOperation(
1228
Operation
.SetParentOperation(
Operations\VisualBasicOperationFactory_Methods.vb (1)
518
Return (
Operation
:=New ParenthesizedOperation(adjustedInfo.Operation,