103 types derived from Operation
Microsoft.CodeAnalysis (103)
Generated\Operations.Generated.cs (99)
4037internal sealed partial class BlockOperation : Operation, IBlockOperation 4094internal sealed partial class VariableDeclarationGroupOperation : Operation, IVariableDeclarationGroupOperation 4149internal sealed partial class SwitchOperation : Operation, ISwitchOperation 4219internal abstract partial class BaseLoopOperation : Operation, ILoopOperation 4553internal sealed partial class LabeledOperation : Operation, ILabeledOperation 4606internal sealed partial class BranchOperation : Operation, IBranchOperation 4626internal sealed partial class EmptyOperation : Operation, IEmptyOperation 4640internal sealed partial class ReturnOperation : Operation, IReturnOperation 4692internal sealed partial class LockOperation : Operation, ILockOperation 4756internal sealed partial class TryOperation : Operation, ITryOperation 4835internal sealed partial class UsingOperation : Operation, IUsingOperation 4903internal sealed partial class ExpressionStatementOperation : Operation, IExpressionStatementOperation 4954internal sealed partial class LocalFunctionOperation : Operation, ILocalFunctionOperation 5018internal sealed partial class StopOperation : Operation, IStopOperation 5032internal sealed partial class EndOperation : Operation, IEndOperation 5046internal sealed partial class RaiseEventOperation : Operation, IRaiseEventOperation 5112internal sealed partial class LiteralOperation : Operation, ILiteralOperation 5130internal sealed partial class ConversionOperation : Operation, IConversionOperation 5190internal sealed partial class InvocationOperation : Operation, IInvocationOperation 5263internal sealed partial class ArrayElementReferenceOperation : Operation, IArrayElementReferenceOperation 5330internal sealed partial class LocalReferenceOperation : Operation, ILocalReferenceOperation 5352internal sealed partial class ParameterReferenceOperation : Operation, IParameterReferenceOperation 5371internal abstract partial class BaseMemberReferenceOperation : Operation, IMemberReferenceOperation 5615internal sealed partial class UnaryOperation : Operation, IUnaryOperation 5678internal sealed partial class BinaryOperation : Operation, IBinaryOperation 5756internal sealed partial class ConditionalOperation : Operation, IConditionalOperation 5833internal sealed partial class CoalesceOperation : Operation, ICoalesceOperation 5900internal sealed partial class AnonymousFunctionOperation : Operation, IAnonymousFunctionOperation 5953internal sealed partial class ObjectCreationOperation : Operation, IObjectCreationOperation 6023internal sealed partial class TypeParameterObjectCreationOperation : Operation, ITypeParameterObjectCreationOperation 6075internal sealed partial class ArrayCreationOperation : Operation, IArrayCreationOperation 6142internal sealed partial class InstanceReferenceOperation : Operation, IInstanceReferenceOperation 6161internal sealed partial class IsTypeOperation : Operation, IIsTypeOperation 6217internal sealed partial class AwaitOperation : Operation, IAwaitOperation 6269internal abstract partial class BaseAssignmentOperation : Operation, IAssignmentOperation 6417internal sealed partial class ParenthesizedOperation : Operation, IParenthesizedOperation 6470internal sealed partial class EventAssignmentOperation : Operation, IEventAssignmentOperation 6535internal sealed partial class ConditionalAccessOperation : Operation, IConditionalAccessOperation 6598internal sealed partial class ConditionalAccessInstanceOperation : Operation, IConditionalAccessInstanceOperation 6615internal sealed partial class InterpolatedStringOperation : Operation, IInterpolatedStringOperation 6672internal sealed partial class AnonymousObjectCreationOperation : Operation, IAnonymousObjectCreationOperation 6728internal sealed partial class ObjectOrCollectionInitializerOperation : Operation, IObjectOrCollectionInitializerOperation 6784internal sealed partial class MemberInitializerOperation : Operation, IMemberInitializerOperation 6847internal sealed partial class NameOfOperation : Operation, INameOfOperation 6900internal sealed partial class TupleOperation : Operation, ITupleOperation 6958internal sealed partial class DynamicMemberReferenceOperation : Operation, IDynamicMemberReferenceOperation 7016internal sealed partial class TranslatedQueryOperation : Operation, ITranslatedQueryOperation 7068internal sealed partial class DelegateCreationOperation : Operation, IDelegateCreationOperation 7120internal sealed partial class DefaultValueOperation : Operation, IDefaultValueOperation 7138internal sealed partial class TypeOfOperation : Operation, ITypeOfOperation 7157internal sealed partial class SizeOfOperation : Operation, ISizeOfOperation 7177internal sealed partial class AddressOfOperation : Operation, IAddressOfOperation 7229internal sealed partial class IsPatternOperation : Operation, IIsPatternOperation 7292internal sealed partial class IncrementOrDecrementOperation : Operation, IIncrementOrDecrementOperation 7355internal sealed partial class ThrowOperation : Operation, IThrowOperation 7466internal sealed partial class DeclarationExpressionOperation : Operation, IDeclarationExpressionOperation 7518internal sealed partial class OmittedArgumentOperation : Operation, IOmittedArgumentOperation 7535internal abstract partial class BaseSymbolInitializerOperation : Operation, ISymbolInitializerOperation 7746internal sealed partial class ArrayInitializerOperation : Operation, IArrayInitializerOperation 7801internal sealed partial class VariableDeclaratorOperation : Operation, IVariableDeclaratorOperation 7869internal sealed partial class VariableDeclarationOperation : Operation, IVariableDeclarationOperation 7950internal sealed partial class ArgumentOperation : Operation, IArgumentOperation 8011internal sealed partial class CatchClauseOperation : Operation, ICatchClauseOperation 8088internal sealed partial class SwitchCaseOperation : Operation, ISwitchCaseOperation 8162internal abstract partial class BaseCaseClauseOperation : Operation, ICaseClauseOperation 8415internal abstract partial class BaseInterpolatedStringContentOperation : Operation, IInterpolatedStringContentOperation 8544internal abstract partial class BasePatternOperation : Operation, IPatternOperation 8628internal sealed partial class TupleBinaryOperation : Operation, ITupleBinaryOperation 8693internal abstract partial class BaseMethodBodyBaseOperation : Operation, IMethodBodyBaseOperation 8831internal sealed partial class DiscardOperation : Operation, IDiscardOperation 8850internal sealed partial class FlowCaptureOperation : Operation, IFlowCaptureOperation 8903internal sealed partial class FlowCaptureReferenceOperation : Operation, IFlowCaptureReferenceOperation 8925internal sealed partial class IsNullOperation : Operation, IIsNullOperation 8978internal sealed partial class CaughtExceptionOperation : Operation, ICaughtExceptionOperation 8995internal sealed partial class StaticLocalInitializationSemaphoreOperation : Operation, IStaticLocalInitializationSemaphoreOperation 9073internal sealed partial class RangeOperation : Operation, IRangeOperation 9140internal sealed partial class ReDimOperation : Operation, IReDimOperation 9197internal sealed partial class ReDimClauseOperation : Operation, IReDimClauseOperation 9353internal sealed partial class SwitchExpressionOperation : Operation, ISwitchExpressionOperation 9422internal sealed partial class SwitchExpressionArmOperation : Operation, ISwitchExpressionArmOperation 9497internal sealed partial class PropertySubpatternOperation : Operation, IPropertySubpatternOperation 9559internal sealed partial class AggregateQueryOperation : Operation, IAggregateQueryOperation 9622internal sealed partial class FixedOperation : Operation, IFixedOperation 9686internal sealed partial class NoPiaObjectCreationOperation : Operation, INoPiaObjectCreationOperation 9738internal sealed partial class PlaceholderOperation : Operation, IPlaceholderOperation 9757internal sealed partial class WithStatementOperation : Operation, IWithStatementOperation 9819internal sealed partial class UsingDeclarationOperation : Operation, IUsingDeclarationOperation 10060internal sealed partial class WithOperation : Operation, IWithOperation 10125internal sealed partial class InterpolatedStringHandlerCreationOperation : Operation, IInterpolatedStringHandlerCreationOperation 10192internal sealed partial class InterpolatedStringAdditionOperation : Operation, IInterpolatedStringAdditionOperation 10306internal sealed partial class InterpolatedStringHandlerArgumentPlaceholderOperation : Operation, IInterpolatedStringHandlerArgumentPlaceholderOperation 10326internal sealed partial class FunctionPointerInvocationOperation : Operation, IFunctionPointerInvocationOperation 10507internal sealed partial class ImplicitIndexerReferenceOperation : Operation, IImplicitIndexerReferenceOperation 10574internal sealed partial class Utf8StringOperation : Operation, IUtf8StringOperation 10593internal sealed partial class AttributeOperation : Operation, IAttributeOperation 10644internal sealed partial class InlineArrayAccessOperation : Operation, IInlineArrayAccessOperation 10707internal sealed partial class CollectionExpressionOperation : Operation, ICollectionExpressionOperation 10780internal sealed partial class SpreadOperation : Operation, ISpreadOperation 10836internal sealed partial class CollectionExpressionElementsPlaceholderOperation : Operation, ICollectionExpressionElementsPlaceholderOperation
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
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)
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); 1291Operation.SetParentOperation(statement, null); 1404Debug.Assert(((Operation)originalOperation).OwningSemanticModel != null, "Not an original node."); 2972Operation.SetParentOperation(condition, null); 3487Operation currentOperation = (Operation)operation; 3499currentOperation = (Operation)enumerator.Current; 3846current.BranchValue = Operation.SetParentOperation(returnedValue, null); 3945current.BranchValue = Operation.SetParentOperation(exception, null); 6784VisitStatements(((Operation)operation).ChildOperations.ToImmutableArray()); 6791new NoneOperation(VisitArray(((Operation)operation).ChildOperations.ToImmutableArray()), semanticModel: null, operation.Syntax, operation.Type, operation.GetConstantValue(), IsImplicit(operation))); 7863BlockOperation logicalBlock = BlockOperation.CreateTemporaryBlock(statementsBuilder.ToImmutableAndFree(), ((Operation)operation).OwningSemanticModel!, operation.Syntax); 7887Debug.Assert(operation == null || ((Operation)operation).OwningSemanticModel!.Compilation == _compilation); 7895Debug.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)
20/// Implements a struct-based collection of <see cref="Operation"/> nodes. This collection is ordered, but 26private readonly Operation _operation; 28internal 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. 108private readonly Operation _operation; 115internal Enumerator(Operation operation)
Operations\IOperation.OperationList.Reversed.cs (6)
22/// Implements a reverse-order struct-based collection of <see cref="Operation"/> nodes. 28private readonly Operation _operation; 30internal Reversed(Operation operation) 84/// Implements a reverse-order struct-based enumerator for <see cref="Operation"/> nodes. This type is not hardened 91private readonly Operation _operation; 95internal Enumerator(Operation operation)
Operations\Operation.cs (2)
144Debug.Assert(parent == null || ((Operation)parent).OwningSemanticModel == OwningSemanticModel); 152(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 (1)
390return ((Operation)operation).OperationConstantValue;
Operations\OperationWalker.cs (2)
17foreach (var child in ((Operation)operation).ChildOperations) 61foreach (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)
1241Operation.SetParentOperation(operation, null);
Operations\CSharpOperationFactory.cs (2)
1990return Operation.SetParentOperation(args, null); 2998return 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.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)
659Assert.NotSame(model, ((Operation)operation).OwningSemanticModel); 660Assert.Same(((Operation)operation).OwningSemanticModel, ((Operation)clonedOperation).OwningSemanticModel); 679var semanticModel = ((Operation)root).OwningSemanticModel;
Compilation\CompilationExtensions.cs (3)
309Assert.NotSame(semanticModel, ((Operation)operation).OwningSemanticModel); 310Assert.NotNull(((Operation)operation).OwningSemanticModel); 311Assert.Same(semanticModel, ((Operation)operation).OwningSemanticModel.ContainingPublicModelOrSelf);
Compilation\ControlFlowGraphVerifier.cs (2)
1632Assert.Null(((Operation)root).OwningSemanticModel); 1640Assert.Null(((Operation)operation).OwningSemanticModel);
Compilation\OperationTreeVerifier.cs (1)
1247if (((Operation)operation).OwningSemanticModel == null)
Compilation\TestOperationVisitor.cs (1)
66var 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);
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.