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