103 types derived from Operation
Microsoft.CodeAnalysis (103)
Generated\Operations.Generated.cs (99)
4039internal sealed partial class BlockOperation : Operation, IBlockOperation 4096internal sealed partial class VariableDeclarationGroupOperation : Operation, IVariableDeclarationGroupOperation 4151internal sealed partial class SwitchOperation : Operation, ISwitchOperation 4221internal abstract partial class BaseLoopOperation : Operation, ILoopOperation 4555internal sealed partial class LabeledOperation : Operation, ILabeledOperation 4608internal sealed partial class BranchOperation : Operation, IBranchOperation 4628internal sealed partial class EmptyOperation : Operation, IEmptyOperation 4642internal sealed partial class ReturnOperation : Operation, IReturnOperation 4694internal sealed partial class LockOperation : Operation, ILockOperation 4758internal sealed partial class TryOperation : Operation, ITryOperation 4837internal sealed partial class UsingOperation : Operation, IUsingOperation 4905internal sealed partial class ExpressionStatementOperation : Operation, IExpressionStatementOperation 4956internal sealed partial class LocalFunctionOperation : Operation, ILocalFunctionOperation 5020internal sealed partial class StopOperation : Operation, IStopOperation 5034internal sealed partial class EndOperation : Operation, IEndOperation 5048internal sealed partial class RaiseEventOperation : Operation, IRaiseEventOperation 5114internal sealed partial class LiteralOperation : Operation, ILiteralOperation 5132internal sealed partial class ConversionOperation : Operation, IConversionOperation 5192internal sealed partial class InvocationOperation : Operation, IInvocationOperation 5265internal sealed partial class ArrayElementReferenceOperation : Operation, IArrayElementReferenceOperation 5332internal sealed partial class LocalReferenceOperation : Operation, ILocalReferenceOperation 5354internal sealed partial class ParameterReferenceOperation : Operation, IParameterReferenceOperation 5373internal abstract partial class BaseMemberReferenceOperation : Operation, IMemberReferenceOperation 5617internal sealed partial class UnaryOperation : Operation, IUnaryOperation 5680internal sealed partial class BinaryOperation : Operation, IBinaryOperation 5758internal sealed partial class ConditionalOperation : Operation, IConditionalOperation 5835internal sealed partial class CoalesceOperation : Operation, ICoalesceOperation 5902internal sealed partial class AnonymousFunctionOperation : Operation, IAnonymousFunctionOperation 5955internal sealed partial class ObjectCreationOperation : Operation, IObjectCreationOperation 6025internal sealed partial class TypeParameterObjectCreationOperation : Operation, ITypeParameterObjectCreationOperation 6077internal sealed partial class ArrayCreationOperation : Operation, IArrayCreationOperation 6144internal sealed partial class InstanceReferenceOperation : Operation, IInstanceReferenceOperation 6163internal sealed partial class IsTypeOperation : Operation, IIsTypeOperation 6219internal sealed partial class AwaitOperation : Operation, IAwaitOperation 6271internal abstract partial class BaseAssignmentOperation : Operation, IAssignmentOperation 6419internal sealed partial class ParenthesizedOperation : Operation, IParenthesizedOperation 6472internal sealed partial class EventAssignmentOperation : Operation, IEventAssignmentOperation 6537internal sealed partial class ConditionalAccessOperation : Operation, IConditionalAccessOperation 6600internal sealed partial class ConditionalAccessInstanceOperation : Operation, IConditionalAccessInstanceOperation 6617internal sealed partial class InterpolatedStringOperation : Operation, IInterpolatedStringOperation 6674internal sealed partial class AnonymousObjectCreationOperation : Operation, IAnonymousObjectCreationOperation 6730internal sealed partial class ObjectOrCollectionInitializerOperation : Operation, IObjectOrCollectionInitializerOperation 6786internal sealed partial class MemberInitializerOperation : Operation, IMemberInitializerOperation 6849internal sealed partial class NameOfOperation : Operation, INameOfOperation 6902internal sealed partial class TupleOperation : Operation, ITupleOperation 6960internal sealed partial class DynamicMemberReferenceOperation : Operation, IDynamicMemberReferenceOperation 7018internal sealed partial class TranslatedQueryOperation : Operation, ITranslatedQueryOperation 7070internal sealed partial class DelegateCreationOperation : Operation, IDelegateCreationOperation 7122internal sealed partial class DefaultValueOperation : Operation, IDefaultValueOperation 7140internal sealed partial class TypeOfOperation : Operation, ITypeOfOperation 7159internal sealed partial class SizeOfOperation : Operation, ISizeOfOperation 7179internal sealed partial class AddressOfOperation : Operation, IAddressOfOperation 7231internal sealed partial class IsPatternOperation : Operation, IIsPatternOperation 7294internal sealed partial class IncrementOrDecrementOperation : Operation, IIncrementOrDecrementOperation 7357internal sealed partial class ThrowOperation : Operation, IThrowOperation 7468internal sealed partial class DeclarationExpressionOperation : Operation, IDeclarationExpressionOperation 7520internal sealed partial class OmittedArgumentOperation : Operation, IOmittedArgumentOperation 7537internal abstract partial class BaseSymbolInitializerOperation : Operation, ISymbolInitializerOperation 7748internal sealed partial class ArrayInitializerOperation : Operation, IArrayInitializerOperation 7803internal sealed partial class VariableDeclaratorOperation : Operation, IVariableDeclaratorOperation 7871internal sealed partial class VariableDeclarationOperation : Operation, IVariableDeclarationOperation 7952internal sealed partial class ArgumentOperation : Operation, IArgumentOperation 8013internal sealed partial class CatchClauseOperation : Operation, ICatchClauseOperation 8090internal sealed partial class SwitchCaseOperation : Operation, ISwitchCaseOperation 8164internal abstract partial class BaseCaseClauseOperation : Operation, ICaseClauseOperation 8417internal abstract partial class BaseInterpolatedStringContentOperation : Operation, IInterpolatedStringContentOperation 8546internal abstract partial class BasePatternOperation : Operation, IPatternOperation 8630internal sealed partial class TupleBinaryOperation : Operation, ITupleBinaryOperation 8695internal abstract partial class BaseMethodBodyBaseOperation : Operation, IMethodBodyBaseOperation 8833internal sealed partial class DiscardOperation : Operation, IDiscardOperation 8852internal sealed partial class FlowCaptureOperation : Operation, IFlowCaptureOperation 8905internal sealed partial class FlowCaptureReferenceOperation : Operation, IFlowCaptureReferenceOperation 8927internal sealed partial class IsNullOperation : Operation, IIsNullOperation 8980internal sealed partial class CaughtExceptionOperation : Operation, ICaughtExceptionOperation 8997internal sealed partial class StaticLocalInitializationSemaphoreOperation : Operation, IStaticLocalInitializationSemaphoreOperation 9075internal sealed partial class RangeOperation : Operation, IRangeOperation 9142internal sealed partial class ReDimOperation : Operation, IReDimOperation 9199internal sealed partial class ReDimClauseOperation : Operation, IReDimClauseOperation 9355internal sealed partial class SwitchExpressionOperation : Operation, ISwitchExpressionOperation 9424internal sealed partial class SwitchExpressionArmOperation : Operation, ISwitchExpressionArmOperation 9499internal sealed partial class PropertySubpatternOperation : Operation, IPropertySubpatternOperation 9561internal sealed partial class AggregateQueryOperation : Operation, IAggregateQueryOperation 9624internal sealed partial class FixedOperation : Operation, IFixedOperation 9688internal sealed partial class NoPiaObjectCreationOperation : Operation, INoPiaObjectCreationOperation 9740internal sealed partial class PlaceholderOperation : Operation, IPlaceholderOperation 9759internal sealed partial class WithStatementOperation : Operation, IWithStatementOperation 9821internal sealed partial class UsingDeclarationOperation : Operation, IUsingDeclarationOperation 10062internal sealed partial class WithOperation : Operation, IWithOperation 10127internal sealed partial class InterpolatedStringHandlerCreationOperation : Operation, IInterpolatedStringHandlerCreationOperation 10194internal sealed partial class InterpolatedStringAdditionOperation : Operation, IInterpolatedStringAdditionOperation 10308internal sealed partial class InterpolatedStringHandlerArgumentPlaceholderOperation : Operation, IInterpolatedStringHandlerArgumentPlaceholderOperation 10328internal sealed partial class FunctionPointerInvocationOperation : Operation, IFunctionPointerInvocationOperation 10509internal sealed partial class ImplicitIndexerReferenceOperation : Operation, IImplicitIndexerReferenceOperation 10576internal sealed partial class Utf8StringOperation : Operation, IUtf8StringOperation 10595internal sealed partial class AttributeOperation : Operation, IAttributeOperation 10646internal sealed partial class InlineArrayAccessOperation : Operation, IInlineArrayAccessOperation 10709internal sealed partial class CollectionExpressionOperation : Operation, ICollectionExpressionOperation 10782internal sealed partial class SpreadOperation : Operation, ISpreadOperation 10838internal 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))); 7866BlockOperation logicalBlock = BlockOperation.CreateTemporaryBlock(statementsBuilder.ToImmutableAndFree(), ((Operation)operation).OwningSemanticModel!, operation.Syntax); 7890Debug.Assert(operation == null || ((Operation)operation).OwningSemanticModel!.Compilation == _compilation); 7898Debug.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.