133 implementations of Kind
Microsoft.CodeAnalysis (133)
Generated\Operations.Generated.cs (127)
4092public override OperationKind Kind => OperationKind.Block; 4147public override OperationKind Kind => OperationKind.VariableDeclarationGroup; 4217public override OperationKind Kind => OperationKind.Switch; 4323public override OperationKind Kind => OperationKind.Loop; 4415public override OperationKind Kind => OperationKind.Loop; 4527public override OperationKind Kind => OperationKind.Loop; 4551public override OperationKind Kind => OperationKind.Loop; 4604public override OperationKind Kind => OperationKind.Labeled; 4624public override OperationKind Kind => OperationKind.Branch; 4638public override OperationKind Kind => OperationKind.Empty; 4690public override OperationKind Kind { get; } 4754public override OperationKind Kind => OperationKind.Lock; 4833public override OperationKind Kind => OperationKind.Try; 4901public override OperationKind Kind => OperationKind.Using; 4952public override OperationKind Kind => OperationKind.ExpressionStatement; 5016public override OperationKind Kind => OperationKind.LocalFunction; 5030public override OperationKind Kind => OperationKind.Stop; 5044public override OperationKind Kind => OperationKind.End; 5110public override OperationKind Kind => OperationKind.RaiseEvent; 5128public override OperationKind Kind => OperationKind.Literal; 5188public override OperationKind Kind => OperationKind.Conversion; 5261public override OperationKind Kind => OperationKind.Invocation; 5328public override OperationKind Kind => OperationKind.ArrayElementReference; 5350public override OperationKind Kind => OperationKind.LocalReference; 5369public override OperationKind Kind => OperationKind.ParameterReference; 5434public override OperationKind Kind => OperationKind.FieldReference; 5490public override OperationKind Kind => OperationKind.MethodReference; 5559public override OperationKind Kind => OperationKind.PropertyReference; 5613public override OperationKind Kind => OperationKind.EventReference; 5676public override OperationKind Kind => OperationKind.Unary; 5754public override OperationKind Kind => OperationKind.Binary; 5831public override OperationKind Kind => OperationKind.Conditional; 5898public override OperationKind Kind => OperationKind.Coalesce; 5951public override OperationKind Kind => OperationKind.AnonymousFunction; 6021public override OperationKind Kind => OperationKind.ObjectCreation; 6073public override OperationKind Kind => OperationKind.TypeParameterObjectCreation; 6140public override OperationKind Kind => OperationKind.ArrayCreation; 6159public override OperationKind Kind => OperationKind.InstanceReference; 6215public override OperationKind Kind => OperationKind.IsType; 6267public override OperationKind Kind => OperationKind.Await; 6340public override OperationKind Kind => OperationKind.SimpleAssignment; 6415public override OperationKind Kind => OperationKind.CompoundAssignment; 6468public override OperationKind Kind => OperationKind.Parenthesized; 6533public override OperationKind Kind => OperationKind.EventAssignment; 6596public override OperationKind Kind => OperationKind.ConditionalAccess; 6613public override OperationKind Kind => OperationKind.ConditionalAccessInstance; 6670public override OperationKind Kind => OperationKind.InterpolatedString; 6726public override OperationKind Kind => OperationKind.AnonymousObjectCreation; 6782public override OperationKind Kind => OperationKind.ObjectOrCollectionInitializer; 6845public override OperationKind Kind => OperationKind.MemberInitializer; 6898public override OperationKind Kind => OperationKind.NameOf; 6956public override OperationKind Kind => OperationKind.Tuple; 7014public override OperationKind Kind => OperationKind.DynamicMemberReference; 7066public override OperationKind Kind => OperationKind.TranslatedQuery; 7118public override OperationKind Kind => OperationKind.DelegateCreation; 7136public override OperationKind Kind => OperationKind.DefaultValue; 7155public override OperationKind Kind => OperationKind.TypeOf; 7175public override OperationKind Kind => OperationKind.SizeOf; 7227public override OperationKind Kind => OperationKind.AddressOf; 7290public override OperationKind Kind => OperationKind.IsPattern; 7353public override OperationKind Kind { get; } 7405public override OperationKind Kind => OperationKind.Throw; 7464public override OperationKind Kind => OperationKind.DeconstructionAssignment; 7516public override OperationKind Kind => OperationKind.DeclarationExpression; 7533public override OperationKind Kind => OperationKind.OmittedArgument; 7595public override OperationKind Kind => OperationKind.FieldInitializer; 7642public override OperationKind Kind => OperationKind.VariableInitializer; 7693public override OperationKind Kind => OperationKind.PropertyInitializer; 7744public override OperationKind Kind => OperationKind.ParameterInitializer; 7799public override OperationKind Kind => OperationKind.ArrayInitializer; 7867public override OperationKind Kind => OperationKind.VariableDeclarator; 7948public override OperationKind Kind => OperationKind.VariableDeclaration; 8009public override OperationKind Kind => OperationKind.Argument; 8086public override OperationKind Kind => OperationKind.CatchClause; 8160public override OperationKind Kind => OperationKind.SwitchCase; 8184public override OperationKind Kind => OperationKind.CaseClause; 8247public override OperationKind Kind => OperationKind.CaseClause; 8309public override OperationKind Kind => OperationKind.CaseClause; 8362public override OperationKind Kind => OperationKind.CaseClause; 8413public override OperationKind Kind => OperationKind.CaseClause; 8469public override OperationKind Kind => OperationKind.InterpolatedStringText; 8542public override OperationKind Kind => OperationKind.Interpolation; 8604public override OperationKind Kind => OperationKind.ConstantPattern; 8626public override OperationKind Kind => OperationKind.DeclarationPattern; 8691public override OperationKind Kind => OperationKind.TupleBinary; 8758public override OperationKind Kind => OperationKind.MethodBody; 8829public override OperationKind Kind => OperationKind.ConstructorBody; 8848public override OperationKind Kind => OperationKind.Discard; 8901public override OperationKind Kind => OperationKind.FlowCapture; 8923public override OperationKind Kind => OperationKind.FlowCaptureReference; 8976public override OperationKind Kind => OperationKind.IsNull; 8993public override OperationKind Kind => OperationKind.CaughtException; 9012public override OperationKind Kind => OperationKind.StaticLocalInitializationSemaphore; 9071public override OperationKind Kind => OperationKind.CoalesceAssignment; 9138public override OperationKind Kind => OperationKind.Range; 9195public override OperationKind Kind => OperationKind.ReDim; 9261public override OperationKind Kind => OperationKind.ReDimClause; 9337public override OperationKind Kind => OperationKind.RecursivePattern; 9351public override OperationKind Kind => OperationKind.DiscardPattern; 9420public override OperationKind Kind => OperationKind.SwitchExpression; 9495public override OperationKind Kind => OperationKind.SwitchExpressionArm; 9557public override OperationKind Kind => OperationKind.PropertySubpattern; 9620public override OperationKind Kind => OperationKind.None; 9684public override OperationKind Kind => OperationKind.None; 9736public override OperationKind Kind => OperationKind.None; 9755public override OperationKind Kind => OperationKind.None; 9817public override OperationKind Kind => OperationKind.None; 9872public override OperationKind Kind => OperationKind.UsingDeclaration; 9923public override OperationKind Kind => OperationKind.NegatedPattern; 9987public override OperationKind Kind => OperationKind.BinaryPattern; 10005public override OperationKind Kind => OperationKind.TypePattern; 10058public override OperationKind Kind => OperationKind.RelationalPattern; 10123public override OperationKind Kind => OperationKind.With; 10190public override OperationKind Kind => OperationKind.InterpolatedStringHandlerCreation; 10252public override OperationKind Kind => OperationKind.InterpolatedStringAddition; 10304public override OperationKind Kind { get; } 10324public override OperationKind Kind => OperationKind.InterpolatedStringHandlerArgumentPlaceholder; 10391public override OperationKind Kind => OperationKind.FunctionPointerInvocation; 10452public override OperationKind Kind => OperationKind.ListPattern; 10505public override OperationKind Kind => OperationKind.SlicePattern; 10572public override OperationKind Kind => OperationKind.ImplicitIndexerReference; 10591public override OperationKind Kind => OperationKind.Utf8String; 10642public override OperationKind Kind => OperationKind.Attribute; 10705public override OperationKind Kind => OperationKind.InlineArrayAccess; 10778public override OperationKind Kind => OperationKind.CollectionExpression; 10834public override OperationKind Kind => OperationKind.Spread; 10851public override OperationKind Kind => OperationKind.CollectionExpressionElementsPlaceholder;
Operations\Operation.cs (1)
65public abstract OperationKind Kind { get; }
Operations\OperationNodes.cs (5)
137public override OperationKind Kind => OperationKind.Invalid; 168public override OperationKind Kind => OperationKind.FlowAnonymousFunction; 260public override OperationKind Kind => OperationKind.DynamicObjectCreation; 402public override OperationKind Kind => OperationKind.DynamicInvocation; 424public override OperationKind Kind => OperationKind.DynamicIndexerAccess;
593 references to Kind
GenerateDocumentationAndConfigFiles (26)
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
207if (operation.Kind is OperationKind.LocalFunction or OperationKind.AnonymousFunction)
src\ce8c1e82c1124a2b\AbstractInitializerParameterService.cs (1)
64switch (operation.Kind)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (9)
122return operation is { Kind: OperationKind.None, Parent: null }; 143} while (ancestor != null && ancestor.Kind != ancestorKind); 177} while (ancestor != null && !ancestorKinds.Contains(ancestor.Kind)); 215for (IOperation? current = operation; current != null && current.Kind != OperationKind.Block; current = current.Parent) 217switch (current.Kind) 320Debug.Assert(operation.Kind is OperationKind.None or OperationKind.Attribute, $"Unexpected root operation kind: {operation.Kind}"); 344switch (child.Kind) 419switch (currentOperation.Kind)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (1)
32=> cfg.DescendantOperations().Where(d => d?.Kind == operationKind).Cast<T>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (5)
21assignmentOperation.Parent?.Kind == OperationKind.ObjectOrCollectionInitializer; 244switch (operation.Kind) 268switch (current.Kind) 375=> operationBlocks.HasAnyOperationDescendant(predicate: operation => operation.Kind == kind); 378=> operation.Kind == OperationKind.Literal && operation.Type.IsNumericType();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticEquivalence.cs (1)
126=> operation is IMemberReferenceOperation { Instance.Kind: OperationKind.InstanceReference };
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (6)
153operation.Parent.Parent?.Kind != OperationKind.ExpressionStatement) 161Debug.Assert(symbolOpt != null || operation.Kind == OperationKind.FlowCaptureReference); 191operation.Parent?.Kind != OperationKind.ExpressionStatement; 195if (write.Kind != OperationKind.FlowCaptureReference) 436switch (currentOperation.Kind) 551switch (target.Kind)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (2)
479operation is { Kind: OperationKind.Literal, ConstantValue: { HasValue: true, Value: true } }) 485operation is { Kind: OperationKind.Literal, ConstantValue: { HasValue: true, Value: false } })
ILLink.RoslynAnalyzer (8)
DataFlow\CapturedReferenceValue.cs (1)
17switch (operation.Kind)
DataFlow\ControlFlowGraphExtensions.cs (1)
34=> cfg.DescendantOperations().Where(d => d?.Kind == operationKind).Cast<T>();
DataFlow\UnexpectedOperationHandler.cs (3)
22if (operation.Kind is OperationKind.None) 25if (operation.Kind is OperationKind.Invalid) 39if (descendant.Kind is OperationKind.Invalid)
IOperationExtensions.cs (2)
218switch (operation.Kind) 242switch (current.Kind)
TrimAnalysis\HandleCallAction.cs (1)
43_isNewObj = operation.Kind == OperationKind.ObjectCreation;
Microsoft.Analyzers.Extra (8)
AsyncCallInsideUsingBlockAnalyzer.cs (1)
86switch (operation.Kind)
CallAnalysis\Fixers\LegacyLoggingFixer.cs (1)
368if (invocationOp.Parent?.Kind == OperationKind.ConditionalAccess)
CallAnalysis\Fixers\LegacyLoggingFixer.FixDetails.cs (2)
106var op = invocationOp.Arguments[LogLevelParamIndex].Descendants().SingleOrDefault(x => x.Kind == OperationKind.Literal || x.Kind == OperationKind.FieldReference);
CoalesceAnalyzer.cs (2)
39if (op.Target.Kind == OperationKind.ParameterReference) 66if (op.Value.Kind == OperationKind.ParameterReference)
ConditionalAccessAnalyzer.cs (2)
37switch (op.Operation.Kind) 98if (op.Operation.Kind == OperationKind.ParameterReference)
Microsoft.AspNetCore.App.Analyzers (4)
Http\RequestDelegateReturnTypeAnalyzer.cs (2)
32parent.Kind == OperationKind.DelegateCreation && 48parent.Kind == OperationKind.DelegateCreation &&
RouteHandlers\RouteHandlerAnalyzer.cs (2)
105if (delegateCreation.Target.Kind == OperationKind.AnonymousFunction) 115else if (delegateCreation.Target.Kind == OperationKind.MethodReference)
Microsoft.AspNetCore.Components.Analyzers (2)
ComponentParameterUsageAnalyzer.cs (1)
59if (leftHandSide.Kind != OperationKind.PropertyReference)
InternalUsageAnalyzer.cs (1)
69_ => throw new InvalidOperationException("Unexpected operation kind: " + context.Operation.Kind),
Microsoft.AspNetCore.Components.SdkAnalyzers (2)
ComponentParameterUsageAnalyzer.cs (1)
59if (leftHandSide.Kind != OperationKind.PropertyReference)
InternalUsageAnalyzer.cs (1)
69_ => throw new InvalidOperationException("Unexpected operation kind: " + context.Operation.Kind),
Microsoft.AspNetCore.Mvc.Analyzers (4)
TagHelpersInCodeBlocksAnalyzer.cs (4)
48if (awaitOperation.Operation.Kind != OperationKind.Invocation) 115if (operation.Kind == OperationKind.LocalFunction) 120if (operation.Kind == OperationKind.MethodBody) 125if (operation.Kind == OperationKind.AnonymousFunction)
Microsoft.AspNetCore.Mvc.Api.Analyzers (8)
ApiActionsDoNotRequireExplicitModelValidationCheckAnalyzer.cs (8)
58if (parent.Kind == OperationKind.Block && parent.Parent != null) 63if (parent.Kind != OperationKind.MethodBodyOperation) 70if (trueStatement.Kind != OperationKind.Return) 131switch (condition.Kind) 164if (operation.Kind != OperationKind.Literal) 182if (operation.Kind != OperationKind.PropertyReference) 198if (propertyReference.Instance?.Kind != OperationKind.PropertyReference) 205if (modelStatePropertyReference.Instance?.Kind != OperationKind.InstanceReference)
Microsoft.CodeAnalysis (87)
DiagnosticAnalyzer\AnalysisContextInfo.cs (1)
85sb.AppendLine($"{nameof(IOperation)}: {_operation.Kind}");
DiagnosticAnalyzer\AnalyzerDriver.cs (4)
3028switch (operationBlock.Parent.Kind) 3039Debug.Assert(operationBlock.Kind is OperationKind.Invocation or OperationKind.Invalid); 3050Debug.Fail($"Expected operation with kind '{operationBlock.Kind}' to be the root operation with null 'Parent', but instead it has a non-null Parent with kind '{operationBlock.Parent.Kind}'");
DiagnosticAnalyzer\AnalyzerExecutor.cs (1)
1294if (operationActionsByKind.TryGetValue(operation.Kind, out var actionsForKind))
Operations\ControlFlowGraph.cs (2)
40Debug.Assert(parent != null == (originalOperation.Kind == OperationKind.LocalFunction || originalOperation.Kind == OperationKind.AnonymousFunction));
Operations\ControlFlowGraphBuilder.cs (76)
96Debug.Assert(body.Kind == OperationKind.Block || 97body.Kind == OperationKind.MethodBody || 98body.Kind == OperationKind.ConstructorBody || 99body.Kind == OperationKind.FieldInitializer || 100body.Kind == OperationKind.PropertyInitializer || 101body.Kind == OperationKind.ParameterInitializer || 102body.Kind == OperationKind.Attribute, 103$"Unexpected root operation kind: {body.Kind}"); 108Debug.Assert(body.Kind == OperationKind.LocalFunction || body.Kind == OperationKind.AnonymousFunction); 124switch (body.Kind) 869value.Kind != OperationKind.LocalReference || 1288|| slot.operationOpt.Kind == OperationKind.FlowCaptureReference 1289|| slot.operationOpt.Kind == OperationKind.DeclarationExpression 1290|| slot.operationOpt.Kind == OperationKind.Discard 1291|| slot.operationOpt.Kind == OperationKind.OmittedArgument 1292|| slot.operationOpt.Kind == OperationKind.CollectionExpressionElementsPlaceholder)); 1628if (operation.WhenTrue is IConversionOperation whenTrueConversion && whenTrueConversion.Operand.Kind == OperationKind.Throw) 1631Debug.Assert(rewrittenThrow!.Kind == OperationKind.None); 1640else if (operation.WhenFalse is IConversionOperation whenFalseConversion && whenFalseConversion.Operand.Kind == OperationKind.Throw) 1649Debug.Assert(rewrittenThrow.Kind == OperationKind.None); 1696if (result.Kind != OperationKind.FlowCaptureReference || 1858if (operationOpt.Kind != OperationKind.FlowCaptureReference 1859&& operationOpt.Kind != OperationKind.DeclarationExpression 1860&& operationOpt.Kind != OperationKind.Discard 1861&& operationOpt.Kind != OperationKind.OmittedArgument 1862&& operationOpt.Kind != OperationKind.CollectionExpressionElementsPlaceholder) 2735if (condition.Kind == OperationKind.Binary) 2797switch (condition.Kind) 2935if (conversion.Operand.Kind == OperationKind.Throw) 2939Debug.Assert(rewrittenThrow.Kind == OperationKind.None); 2962while (condition.Kind == OperationKind.Parenthesized) 3055bool alternativeThrows = conversion?.Operand.Kind == OperationKind.Throw; 3081Debug.Assert(rewrittenThrow.Kind == OperationKind.None); 3114bool isStatement = _currentStatement == operation || operation.Parent.Kind == OperationKind.ExpressionStatement; 3377bool isOnStatementLevel = _currentStatement == operation || (_currentStatement == operation.Parent && _currentStatement?.Kind == OperationKind.ExpressionStatement); 3572Debug.Assert(operation.Operation.Kind == OperationKind.ConditionalAccess || operation.Operation.Kind == OperationKind.CoalesceAssignment); 3575else if (operation.Operation.Kind == OperationKind.Throw) 3801if (exceptionDeclarationOrExpression.Kind == OperationKind.VariableDeclarator) 3842switch (operation.Kind) 3859throw ExceptionUtilities.UnexpectedValue(operation.Kind); 3996Debug.Assert(resources.Kind != OperationKind.VariableDeclaration); 3997Debug.Assert(resources.Kind != OperationKind.VariableDeclarator); 4475if (!operation.Locals.IsEmpty && operation.LoopControlVariable.Kind == OperationKind.VariableDeclarator) 4667switch (operation.LoopControlVariable.Kind) 5366Debug.Assert(controlVariableReferenceForAssignment.Kind == OperationKind.FlowCaptureReference); 5436switch (operation.LoopControlVariable.Kind) 5750if (initialization.Length == 1 && initialization[0].Kind == OperationKind.VariableDeclarationGroup) 6058switch (innerInitializer.Kind) 6077Debug.Assert(validKinds.Contains(innerInitializer.Kind)); 6171switch (instance.Kind) 6178if (memberReference.Kind == OperationKind.PropertyReference) 6231Debug.Assert(instance.Kind == OperationKind.Invalid || instance.Kind == OperationKind.None); 6239switch (originalTarget.Kind) 6285throw ExceptionUtilities.UnexpectedValue(originalTarget.Kind); 6357throw ExceptionUtilities.UnexpectedValue(lhs.Kind); 6406Debug.Assert(propertyReference.Instance.Kind == OperationKind.InstanceReference); 6517if (elementValue.Kind == OperationKind.ArrayInitializer) 6536if (elementValue.Kind == OperationKind.ArrayInitializer) 6645if (operation.Operation.Kind == OperationKind.DynamicMemberReference) 6661if (operation.Operation.Kind == OperationKind.DynamicMemberReference) 6706if (value.Kind == OperationKind.Tuple) 6726if (value.Kind == OperationKind.Tuple) 6947throw ExceptionUtilities.UnexpectedValue(currentAddition.Left.Kind); 6959throw ExceptionUtilities.UnexpectedValue(currentAddition.Left.Kind); 7069if (element.Kind == OperationKind.Interpolation) 7110throw ExceptionUtilities.UnexpectedValue(element.Kind); 7365switch (current.Kind) 7406operation.Kind, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation)); 7490if (children.Count != 0 && children.Last().Kind == OperationKind.ObjectOrCollectionInitializer) 7865if (statement.Kind == OperationKind.LocalFunction) 8029if (simpleAssignment.Target.Kind != OperationKind.PropertyReference) 8041Debug.Assert(propertyReference.Instance.Kind == OperationKind.InstanceReference); 8122if (simpleAssignment.Target.Kind != OperationKind.PropertyReference)
Operations\OperationMapBuilder.cs (2)
114$"Duplicate operation node for {operation.Syntax}. Existing node is {(argument.TryGetValue(operation.Syntax, out var original) ? (OperationKind?)original.Kind : null)}, new node is {operation.Kind}.");
Operations\OperationNodes.cs (1)
699Debug.Assert(statements.All(s => s.Parent != this && s.Parent!.Kind is OperationKind.Block or OperationKind.SwitchCase));
Microsoft.CodeAnalysis.Analyzers (37)
MetaAnalyzers\ConfigureGeneratedCodeAnalysisAnalyzer.cs (1)
116if (invocation.Instance?.Kind != OperationKind.ParameterReference)
MetaAnalyzers\EnableConcurrentExecutionAnalyzer.cs (1)
116if (invocation.Instance?.Kind != OperationKind.ParameterReference)
MetaAnalyzers\Fixers\CompareSymbolsCorrectlyFix.cs (1)
227if (instance.Kind != OperationKind.ConditionalAccessInstance)
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
207if (operation.Kind is OperationKind.LocalFunction or OperationKind.AnonymousFunction)
src\ce8c1e82c1124a2b\AbstractInitializerParameterService.cs (1)
64switch (operation.Kind)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (6)
102if ((operationBlock.Kind is OperationKind.None or OperationKind.Attribute) && 133switch (operation.Kind) 300switch (operation.Parent.Kind) 318return operation.Kind == OperationKind.Conditional && hasAnyExplicitExpression(operation) ? 1 : 0; 328return !operation.DescendantsAndSelf().All(o => o.IsImplicit || (!o.ConstantValue.HasValue && o.Type == null && o.Kind is not (OperationKind.Branch or OperationKind.Attribute))); 335distinctOperatorKindsBuilder.Add(operation.Kind);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (2)
260switch (operationBlock.Kind) 326switch (operation.Kind)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (9)
122return operation is { Kind: OperationKind.None, Parent: null }; 143} while (ancestor != null && ancestor.Kind != ancestorKind); 177} while (ancestor != null && !ancestorKinds.Contains(ancestor.Kind)); 215for (IOperation? current = operation; current != null && current.Kind != OperationKind.Block; current = current.Parent) 217switch (current.Kind) 320Debug.Assert(operation.Kind is OperationKind.None or OperationKind.Attribute, $"Unexpected root operation kind: {operation.Kind}"); 344switch (child.Kind) 419switch (currentOperation.Kind)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (1)
32=> cfg.DescendantOperations().Where(d => d?.Kind == operationKind).Cast<T>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (5)
21assignmentOperation.Parent?.Kind == OperationKind.ObjectOrCollectionInitializer; 244switch (operation.Kind) 268switch (current.Kind) 375=> operationBlocks.HasAnyOperationDescendant(predicate: operation => operation.Kind == kind); 378=> operation.Kind == OperationKind.Literal && operation.Type.IsNumericType();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticEquivalence.cs (1)
126=> operation is IMemberReferenceOperation { Instance.Kind: OperationKind.InstanceReference };
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (6)
153operation.Parent.Parent?.Kind != OperationKind.ExpressionStatement) 161Debug.Assert(symbolOpt != null || operation.Kind == OperationKind.FlowCaptureReference); 191operation.Parent?.Kind != OperationKind.ExpressionStatement; 195if (write.Kind != OperationKind.FlowCaptureReference) 436switch (currentOperation.Kind) 551switch (target.Kind)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (2)
479operation is { Kind: OperationKind.Literal, ConstantValue: { HasValue: true, Value: true } }) 485operation is { Kind: OperationKind.Literal, ConstantValue: { HasValue: true, Value: false } })
Microsoft.CodeAnalysis.AnalyzerUtilities (68)
src\1e7e9f16bf7f1945\ValueContentAnalysis.ValueContentDataFlowOperationVisitor.cs (2)
189return operation.Kind == OperationKind.None ? 245var operationKind = operation.Kind == OperationKind.Increment ? BinaryOperatorKind.Add : BinaryOperatorKind.Subtract;
src\66dd3055a1c91c38\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (1)
724target.Kind == OperationKind.ArrayElementReference)
src\683181b2796de991\ParameterValidationAnalysis.ParameterValidationDataFlowOperationVisitor.cs (1)
157if (operation.Kind == OperationKind.ConditionalAccessInstance)
src\a03b2aad21e28a8a\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.cs (7)
225&& (operation.Target.Kind == OperationKind.PropertyReference 226|| operation.Target.Kind == OperationKind.FieldReference 227|| operation.Target.Kind == OperationKind.FlowCaptureReference)) 230if (operation.Target.Kind == OperationKind.FlowCaptureReference) 277if (propertyReferenceOperation == null && operation.Target.Kind == OperationKind.FlowCaptureReference) 708if (flowCaptureReferenceOperation != null && flowCaptureReferenceOperation.Kind == OperationKind.FlowCaptureReference) 714if (kinds == null || kinds.Contains(lValueOperation.Kind))
src\a172c07bebba4cd8\DisposeAnalysis.DisposeDataFlowOperationVisitor.cs (3)
243operation.Kind != OperationKind.ObjectCreation && 279if (visitedInstance?.Kind != OperationKind.InstanceReference) 403operation.Instance?.Kind == OperationKind.InstanceReference)
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
207if (operation.Kind is OperationKind.LocalFunction or OperationKind.AnonymousFunction)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (6)
102if ((operationBlock.Kind is OperationKind.None or OperationKind.Attribute) && 133switch (operation.Kind) 300switch (operation.Parent.Kind) 318return operation.Kind == OperationKind.Conditional && hasAnyExplicitExpression(operation) ? 1 : 0; 328return !operation.DescendantsAndSelf().All(o => o.IsImplicit || (!o.ConstantValue.HasValue && o.Type == null && o.Kind is not (OperationKind.Branch or OperationKind.Attribute))); 335distinctOperatorKindsBuilder.Add(operation.Kind);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (2)
260switch (operationBlock.Kind) 326switch (operation.Kind)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (9)
122return operation is { Kind: OperationKind.None, Parent: null }; 143} while (ancestor != null && ancestor.Kind != ancestorKind); 177} while (ancestor != null && !ancestorKinds.Contains(ancestor.Kind)); 215for (IOperation? current = operation; current != null && current.Kind != OperationKind.Block; current = current.Parent) 217switch (current.Kind) 320Debug.Assert(operation.Kind is OperationKind.None or OperationKind.Attribute, $"Unexpected root operation kind: {operation.Kind}"); 344switch (child.Kind) 419switch (currentOperation.Kind)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\Extensions\ControlFlowGraphExtensions.cs (1)
22cfg.OriginalOperation.Kind is OperationKind.Attribute or OperationKind.None or OperationKind.ParameterInitializer)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAnalysisHelper.cs (1)
159=> (s_DisposableCreationKinds.Contains(operation.Kind) ||
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataSymbolMapExtensions.cs (3)
70pointsToAnalysisResult[o.Kind, o.Syntax]))); 93arguments.SelectAsArray(o => pointsToAnalysisResult[o.Kind, o.Syntax]), 94arguments.SelectAsArray(o => valueContentAnalysisResult[o.Kind, o.Syntax])));
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowAnalysisResult.cs (3)
130if (kvp.Key.Kind == operationKind && kvp.Key.Syntax == syntax) 170Debug.Assert(lambdaOrLocalFunctionOperation.Kind is OperationKind.AnonymousFunction or OperationKind.LocalFunction); 189if (lambdaOrLocalFunctionOperation.Kind == OperationKind.LocalFunction)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (14)
906instance.Kind != OperationKind.InstanceReference && 1256if (sourceOperand.Kind == OperationKind.Throw) 1389Debug.Assert(operation.Kind is OperationKind.BinaryOperator or 1408if (operation.Kind == OperationKind.FlowCaptureReference) 1432if (operation.Kind == OperationKind.FlowCaptureReference) 1489if (operation.Kind == OperationKind.Argument) 1498switch (current.Kind) 1518switch (current.Kind) 1563switch (isPatternOperation.Pattern.Kind) 1641Debug.Fail($"Unknown pattern kind '{isPatternOperation.Pattern.Kind}'"); 2485Debug.Assert(originalOperation.Kind == OperationKind.ObjectCreation); 2576switch (operation.Kind) 2807if (operation.Kind == OperationKind.None) 3828Debug.Assert(operation.Kind == OperationKind.YieldReturn, "IReturnOperation must have been lowered in the CFG");
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\LValueFlowCapturesProvider.cs (1)
65operations.Single().Parent?.Kind == OperationKind.FlowCapture)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (1)
32=> cfg.DescendantOperations().Where(d => d?.Kind == operationKind).Cast<T>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (5)
21assignmentOperation.Parent?.Kind == OperationKind.ObjectOrCollectionInitializer; 244switch (operation.Kind) 268switch (current.Kind) 375=> operationBlocks.HasAnyOperationDescendant(predicate: operation => operation.Kind == kind); 378=> operation.Kind == OperationKind.Literal && operation.Type.IsNumericType();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticEquivalence.cs (1)
126=> operation is IMemberReferenceOperation { Instance.Kind: OperationKind.InstanceReference };
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (6)
153operation.Parent.Parent?.Kind != OperationKind.ExpressionStatement) 161Debug.Assert(symbolOpt != null || operation.Kind == OperationKind.FlowCaptureReference); 191operation.Parent?.Kind != OperationKind.ExpressionStatement; 195if (write.Kind != OperationKind.FlowCaptureReference) 436switch (currentOperation.Kind) 551switch (target.Kind)
Microsoft.CodeAnalysis.CodeStyle (35)
src\9547feb31df4cc5d\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (11)
275Debug.Assert(operation.Kind is OperationKind.DelegateCreation or OperationKind.AnonymousFunction); 291(assignment.Target.Kind == OperationKind.LocalReference || 292assignment.Target.Kind == OperationKind.ParameterReference)) 300if (operation.Kind == OperationKind.AnonymousFunction && 324Debug.Assert(operation.Kind is OperationKind.LocalReference or OperationKind.ParameterReference); 358(assignmentOperation.Target.Kind == OperationKind.LocalReference || 359assignmentOperation.Target.Kind == OperationKind.ParameterReference)) 384switch (operationBlock.Kind) 406if (operation.Kind == OperationKind.None) 685switch (assignmentValue.Kind) 696return fieldReference.Instance == null || fieldReference.Instance.Kind == OperationKind.InstanceReference;
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
207if (operation.Kind is OperationKind.LocalFunction or OperationKind.AnonymousFunction)
src\roslyn\src\Analyzers\Core\Analyzers\MakeFieldReadonly\AbstractMakeFieldReadonlyDiagnosticAnalyzer.cs (1)
294if (fieldReference.Instance?.Kind != OperationKind.InstanceReference ||
src\roslyn\src\Analyzers\Core\Analyzers\QualifyMemberAccess\AbstractQualifyMemberAccessDiagnosticAnalyzer.cs (2)
81if (instanceOperation.Kind != OperationKind.InstanceReference) 85if (context.Operation.Parent?.Kind == OperationKind.PropertySubpattern)
src\roslyn\src\Analyzers\Core\Analyzers\RemoveRedundantEquality\AbstractRemoveRedundantEqualityDiagnosticAnalyzer.cs (1)
126Kind: OperationKind.Literal,
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (1)
262if (operation is { Kind: OperationKind.None, Parent: INameOfOperation { Argument: var nameofArgument } } &&
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationHelpers.cs (1)
287: alignmentOp is { Kind: OperationKind.Literal })
src\roslyn\src\Analyzers\Core\Analyzers\UseConditionalExpression\ForReturn\UseConditionalExpressionForReturnHelpers.cs (4)
97trueReturn.Kind != falseReturn.Kind) 104if (trueReturn?.Kind == OperationKind.YieldBreak) 111if (trueReturn?.Kind == OperationKind.YieldReturn &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (1)
32=> cfg.DescendantOperations().Where(d => d?.Kind == operationKind).Cast<T>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (5)
21assignmentOperation.Parent?.Kind == OperationKind.ObjectOrCollectionInitializer; 244switch (operation.Kind) 268switch (current.Kind) 375=> operationBlocks.HasAnyOperationDescendant(predicate: operation => operation.Kind == kind); 378=> operation.Kind == OperationKind.Literal && operation.Type.IsNumericType();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticEquivalence.cs (1)
126=> operation is IMemberReferenceOperation { Instance.Kind: OperationKind.InstanceReference };
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (6)
153operation.Parent.Parent?.Kind != OperationKind.ExpressionStatement) 161Debug.Assert(symbolOpt != null || operation.Kind == OperationKind.FlowCaptureReference); 191operation.Parent?.Kind != OperationKind.ExpressionStatement; 195if (write.Kind != OperationKind.FlowCaptureReference) 436switch (currentOperation.Kind) 551switch (target.Kind)
Microsoft.CodeAnalysis.CodeStyle.Fixes (4)
src\ce8c1e82c1124a2b\AbstractInitializerParameterService.cs (1)
64switch (operation.Kind)
src\roslyn\src\Analyzers\Core\CodeFixes\UseConditionalExpression\ForReturn\AbstractUseConditionalExpressionForReturnCodeFixProvider.cs (1)
76var returnStatement = anyReturn.Kind == OperationKind.YieldReturn
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (2)
479operation is { Kind: OperationKind.Literal, ConstantValue: { HasValue: true, Value: true } }) 485operation is { Kind: OperationKind.Literal, ConstantValue: { HasValue: true, Value: false } })
Microsoft.CodeAnalysis.CSharp.CodeStyle (5)
src\roslyn\src\Analyzers\CSharp\Analyzers\MakeStructMemberReadOnly\CSharpMakeStructMemberReadOnlyAnalyzer.cs (1)
284if (operation.Kind == OperationKind.None)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (4)
91Kind: OperationKind.MethodReference, 92Parent.Kind: OperationKind.DelegateCreation, 1336if (oldInterpolationPart.Kind != newInterpolationPart.Kind)
Microsoft.CodeAnalysis.CSharp.Features (3)
ConvertIfToSwitch\CSharpConvertIfToSwitchCodeRefactoringProvider.Rewriting.cs (1)
64var v => throw ExceptionUtilities.UnexpectedValue(v.Kind)
ConvertLinq\CSharpConvertLinqQueryToForEachProvider.cs (1)
914return operation.Kind is OperationKind.LocalReference or OperationKind.ParameterReference;
src\roslyn\src\Analyzers\CSharp\Analyzers\MakeStructMemberReadOnly\CSharpMakeStructMemberReadOnlyAnalyzer.cs (1)
284if (operation.Kind == OperationKind.None)
Microsoft.CodeAnalysis.CSharp.Workspaces (4)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (4)
91Kind: OperationKind.MethodReference, 92Parent.Kind: OperationKind.DelegateCreation, 1336if (oldInterpolationPart.Kind != newInterpolationPart.Kind)
Microsoft.CodeAnalysis.Features (28)
ConvertForEachToFor\AbstractConvertForEachToForCodeRefactoringProvider.cs (1)
374switch (operation.Kind)
ConvertIfToSwitch\AbstractConvertIfToSwitchCodeRefactoringProvider.cs (1)
146return op.Kind;
InitializeParameter\AbstractInitializeParameterCodeRefactoringProvider.cs (1)
165switch (operation.Kind)
InlineMethod\AbstractInlineMethodRefactoringProvider.InlineContext.cs (1)
420if (operation.Kind is OperationKind.AnonymousFunction or OperationKind.LocalFunction)
IntroduceParameter\AbstractIntroduceParameterCodeRefactoringProvider.cs (1)
242containsClassSpecificStatement = operation.Descendants().Any(op => op.Kind == OperationKind.InstanceReference);
IntroduceUsingStatement\AbstractIntroduceUsingStatementCodeRefactoringProvider.cs (1)
126if (initializer is null || initializer.Kind == OperationKind.Invalid)
src\9547feb31df4cc5d\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (11)
275Debug.Assert(operation.Kind is OperationKind.DelegateCreation or OperationKind.AnonymousFunction); 291(assignment.Target.Kind == OperationKind.LocalReference || 292assignment.Target.Kind == OperationKind.ParameterReference)) 300if (operation.Kind == OperationKind.AnonymousFunction && 324Debug.Assert(operation.Kind is OperationKind.LocalReference or OperationKind.ParameterReference); 358(assignmentOperation.Target.Kind == OperationKind.LocalReference || 359assignmentOperation.Target.Kind == OperationKind.ParameterReference)) 384switch (operationBlock.Kind) 406if (operation.Kind == OperationKind.None) 685switch (assignmentValue.Kind) 696return fieldReference.Instance == null || fieldReference.Instance.Kind == OperationKind.InstanceReference;
src\roslyn\src\Analyzers\Core\Analyzers\MakeFieldReadonly\AbstractMakeFieldReadonlyDiagnosticAnalyzer.cs (1)
294if (fieldReference.Instance?.Kind != OperationKind.InstanceReference ||
src\roslyn\src\Analyzers\Core\Analyzers\QualifyMemberAccess\AbstractQualifyMemberAccessDiagnosticAnalyzer.cs (2)
81if (instanceOperation.Kind != OperationKind.InstanceReference) 85if (context.Operation.Parent?.Kind == OperationKind.PropertySubpattern)
src\roslyn\src\Analyzers\Core\Analyzers\RemoveRedundantEquality\AbstractRemoveRedundantEqualityDiagnosticAnalyzer.cs (1)
126Kind: OperationKind.Literal,
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (1)
262if (operation is { Kind: OperationKind.None, Parent: INameOfOperation { Argument: var nameofArgument } } &&
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationHelpers.cs (1)
287: alignmentOp is { Kind: OperationKind.Literal })
src\roslyn\src\Analyzers\Core\Analyzers\UseConditionalExpression\ForReturn\UseConditionalExpressionForReturnHelpers.cs (4)
97trueReturn.Kind != falseReturn.Kind) 104if (trueReturn?.Kind == OperationKind.YieldBreak) 111if (trueReturn?.Kind == OperationKind.YieldReturn &&
src\roslyn\src\Analyzers\Core\CodeFixes\UseConditionalExpression\ForReturn\AbstractUseConditionalExpressionForReturnCodeFixProvider.cs (1)
76var returnStatement = anyReturn.Kind == OperationKind.YieldReturn
Microsoft.CodeAnalysis.NetAnalyzers (168)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\ImplementIDisposableCorrectly.cs (13)
476else if (invocationExpression.Instance.Kind != OperationKind.InstanceReference || 488if (argument.Value.Kind != OperationKind.Literal) 537if (!operation.IsImplicit && operation.Kind != OperationKindEx.Attribute && !ValidateOperation(operation)) 548switch (operation.Kind) 567if (expressionStatement.Operation == null || expressionStatement.Operation.Kind != OperationKind.Invocation) 610if (argumentValue.Kind != OperationKind.Conversion) 616if (conversion.Operand == null || conversion.Operand.Kind != OperationKind.InstanceReference) 665var shouldAnalyze = (!operation.IsImplicit && operation.Kind != OperationKindEx.Attribute) || operation.Kind == OperationKind.Try || operation.Kind == OperationKind.ExpressionStatement; 677return operation.Kind switch 689if (expressionStatement.Operation?.Kind != OperationKind.Invocation) 707else if (_type.BaseType != null && invocation.Instance != null && invocation.Instance.Kind == OperationKind.InstanceReference)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\InterfaceMethodsShouldBeCallableByChildTypes.cs (1)
81topmostExplicitOperations[0].Kind == OperationKind.Throw)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\TypesThatOwnDisposableFieldsShouldBeDisposable.cs (2)
84&& assignment.Value.WalkDownConversion().Kind == OperationKind.ObjectCreation 90else if (ctx.Operation is IFieldInitializerOperation initializer && initializer.Value.WalkDownConversion().Kind == OperationKind.ObjectCreation)
Microsoft.CodeQuality.Analyzers\Maintainability\AvoidDeadConditionalCode.cs (7)
85op.Kind == OperationKind.Coalesce || 86op.Kind == OperationKind.ConditionalAccess || 87op.Kind == OperationKind.IsNull || 88op.Kind == OperationKind.IsPattern) 121if (operation.IsImplicit && operation.Kind != OperationKind.IsNull) 126switch (operation.Kind) 199Debug.Assert(operation.Kind is OperationKind.BinaryOperator or
Microsoft.CodeQuality.Analyzers\Maintainability\DoNotIgnoreMethodResults.cs (2)
169switch (expression.Kind) 279var hasAnonymousFunctionParent = enclosingBlock.Parent?.Kind == OperationKind.AnonymousFunction;
Microsoft.CodeQuality.Analyzers\Maintainability\UseNameofInPlaceOfString.cs (1)
57|| argument.Value.Kind != OperationKind.Literal
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AssigningSymbolAndItsMemberInSameStatement.cs (1)
83while (assignmentOperation.Value.Kind == OperationKind.SimpleAssignment)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidInfiniteRecursion.cs (3)
73ancestor.Kind != OperationKind.AnonymousFunction && 74ancestor.Kind != OperationKind.LocalFunction && 75ancestor.Kind != OperationKind.Conditional);
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\AvoidMultipleEnumerations.cs (1)
320var result = analysisResult[operation.Kind, operation.Syntax];
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\AvoidMultipleEnumerations.DataFlowOperationVisitor.cs (1)
64var pointToResult = DataFlowAnalysisContext.PointsToAnalysisResult[parameterOrLocalReferenceOperation.Kind, parameterOrLocalReferenceOperation.Syntax];
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidPropertySelfAssignment.cs (2)
90if (targetArg.Kind != valueArg.Kind)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\DoNotCallOverridableMethodsInConstructors.cs (1)
68if (operation.Instance?.Kind == OperationKind.InstanceReference &&
Microsoft.CodeQuality.Analyzers\QualityGuidelines\MarkMembersAsStatic.Fixer.cs (1)
224switch (operation.Kind)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\RemoveEmptyFinalizers.cs (2)
69if (operation.Kind == OperationKind.Throw) 74if (operation.Kind == OperationKind.Invocation)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\RethrowToPreserveStackDetails.cs (3)
51ancestor.Kind != OperationKind.AnonymousFunction && 52ancestor.Kind != OperationKind.LocalFunction) 54if (ancestor.Kind == OperationKind.CatchClause &&
Microsoft.CodeQuality.Analyzers\QualityGuidelines\UseLiteralsWhereAppropriate.cs (1)
86if (fieldInitializerValue.Kind == OperationKind.InterpolatedString &&
Microsoft.NetCore.Analyzers\Data\ReviewSqlQueriesForSecurityVulnerabilities.cs (1)
228ValueContentAbstractValue value = valueContentResult[argumentValue.Kind, argumentValue.Syntax];
Microsoft.NetCore.Analyzers\InteropServices\PlatformCompatibilityAnalyzer.cs (2)
367var value = analysisResult[platformSpecificOperation.Key.Kind, platformSpecificOperation.Key.Syntax]; 427var localValue = localResult[platformSpecificOperation.Kind, platformSpecificOperation.Syntax];
Microsoft.NetCore.Analyzers\Performance\DoNotGuardCall.cs (2)
158argumentValue1.Kind != argumentValue2.Kind ||
Microsoft.NetCore.Analyzers\Performance\PreferDictionaryTryMethodsOverContainsKeyGuardAnalyzer.cs (1)
348&& invocation.Arguments[1].Value.Kind is OperationKind.Literal or OperationKind.LocalReference or OperationKind.FieldReference or OperationKind.ParameterReference or OperationKind.ConstantPattern
Microsoft.NetCore.Analyzers\Performance\UseAsSpanInsteadOfRangeIndexer.cs (1)
120else if (operationContext.Operation.Kind is OperationKind.None or OperationKindEx.ImplicitIndexerReference)
Microsoft.NetCore.Analyzers\Performance\UseCompositeFormat.cs (4)
152if (operation.Kind == OperationKind.Literal) 157if (operation.Kind == OperationKind.FieldReference) 162if (operation.Kind == OperationKind.PropertyReference) 167if (operation.Kind == OperationKind.Invocation)
Microsoft.NetCore.Analyzers\Performance\UseConcreteTypeAnalyzer.Collector.cs (8)
100if (instance.Kind == OperationKind.ConditionalAccessInstance) 109switch (instance.Kind) 161if (instance.Kind == OperationKind.ConditionalAccessInstance) 170switch (instance.Kind) 282switch (op.Target.Kind) 378if (op.Expression.Kind == OperationKind.LocalReference) 433switch (op?.Kind) 556switch (op.Kind)
Microsoft.NetCore.Analyzers\Performance\UseSearchValues.cs (2)
195else if (argument.Kind == OperationKindEx.Utf8String) 324if (operation.Kind == OperationKindEx.CollectionExpression &&
Microsoft.NetCore.Analyzers\Runtime\AvoidConstArrays.cs (1)
162if (ancestor?.Kind is OperationKind.FieldInitializer or OperationKind.PropertyInitializer or
Microsoft.NetCore.Analyzers\Runtime\DisposableFieldsShouldBeDisposed.cs (2)
156if (field.IsStatic || fieldReference.Instance?.Kind != OperationKind.InstanceReference) 200PointsToAbstractValue assignedPointsToValue = lazyPointsToAnalysisResult[simpleAssignmentOperation.Value.Kind, simpleAssignmentOperation.Value.Syntax];
Microsoft.NetCore.Analyzers\Runtime\DisposableTypesShouldDeclareFinalizer.cs (2)
69if (target.Kind != OperationKind.FieldReference) 101if (assignment.Value == null || assignment.Value.Kind != OperationKind.Invocation)
Microsoft.NetCore.Analyzers\Runtime\DoNotCallEnumerableCastOrOfTypeWithIncompatibleTypesAnalyzer.cs (1)
119if (operation.Kind == OperationKind.ArrayCreation)
Microsoft.NetCore.Analyzers\Runtime\DoNotPassLiteralsAsLocalizedParameters.cs (1)
121ValueContentAbstractValue stringContentValue = lazyValueContentResult.Value[operation.Kind, operation.Syntax];
Microsoft.NetCore.Analyzers\Runtime\ForwardCancellationTokenToInvocations.Analyzer.cs (4)
207if (currentOperation.Kind == OperationKind.AnonymousFunction) 211else if (currentOperation.Kind == OperationKind.LocalFunction) 225if (currentOperation.Kind == OperationKind.AnonymousFunction) 233if (currentOperation.Kind == OperationKind.LocalFunction && ancestor.IsStatic)
Microsoft.NetCore.Analyzers\Runtime\InstantiateArgumentExceptionsCorrectly.cs (1)
226switch (operation.Kind)
Microsoft.NetCore.Analyzers\Runtime\TestForEmptyStringsUsingStringLength.cs (1)
154if (expression.Kind == OperationKind.FieldReference)
Microsoft.NetCore.Analyzers\Runtime\UseOrdinalStringComparison.cs (1)
66if (lastArgument.Value.Kind == OperationKind.FieldReference)
Microsoft.NetCore.Analyzers\Security\DataSetDataTableInIFormatterSerializableObjectGraphAnalyzer.cs (1)
101&& invocationOperation.Parent?.Kind == OperationKind.Conversion
Microsoft.NetCore.Analyzers\Security\DataSetDataTableInSerializableObjectGraphAnalyzer.cs (2)
158&& invocationOperation.Parent?.Kind == OperationKind.Conversion 230else if (invocationOperation.Parent?.Kind == OperationKind.Conversion
Microsoft.NetCore.Analyzers\Security\DoNotAlwaysSkipTokenValidationInDelegates.cs (3)
90switch (delegateCreationOperation.Target.Kind) 122Debug.Fail("Unhandled OperationKind " + delegateCreationOperation.Target.Kind); 205if (descendant.Kind == OperationKind.Return)
Microsoft.NetCore.Analyzers\Security\DoNotDisableCertificateValidation.cs (2)
72switch (delegateCreationOperation.Target.Kind) 161if (descendant.Kind == OperationKind.Return)
Microsoft.NetCore.Analyzers\Security\DoNotUseInsecureCryptographicAlgorithms.cs (1)
83Debug.Fail($"Unhandled IOperation {operationAnalysisContext.Operation.Kind}");
Microsoft.NetCore.Analyzers\Security\DoNotUseInsecureDeserializerJavascriptSerializerWithSimpleTypeResolver.cs (1)
124&& (l.Creation == null || l.Creation.Kind != OperationKind.ObjectCreation)))
Microsoft.NetCore.Analyzers\Security\SslProtocolsAnalyzer.cs (1)
146Debug.Fail("Unhandled IOperation " + operationAnalysisContext.Operation.Kind);
Microsoft.NetCore.Analyzers\Security\UseContainerLevelAccessPolicy.cs (1)
155var pointsToAbstractValue = pointsToAnalysisResult[argumentOperation.Kind, argumentOperation.Syntax];
Microsoft.NetCore.Analyzers\Security\UseSharedAccessProtocolHttpsOnly.cs (1)
154var protocolsArgument = valueContentAnalysisResult[protocolsArgumentOperation.Kind, protocolsArgumentOperation.Syntax];
Microsoft.NetCore.Analyzers\Security\UseXmlReaderBase.cs (1)
62switch (operation.Kind)
Microsoft.NetCore.Analyzers\Tasks\DoNotCreateTaskCompletionSourceWithWrongArguments.cs (1)
50switch (operationContext.Operation.Kind)
Microsoft.NetCore.Analyzers\Tasks\UseValueTasksCorrectly.cs (6)
146switch (operation.Parent.Kind) 388switch (operation?.Kind) 439op.Parent?.Kind switch 523op.Parent?.Kind switch 539switch (op.Kind) 565op?.Kind switch
Microsoft.NetCore.Analyzers\Usage\DoNotPassNonNullableValueToArgumentNullExceptionThrowIfNull.cs (1)
67|| invocation.Arguments[0].Value.WalkDownConversion().Kind is OperationKind.NameOf or OperationKind.ObjectCreation or OperationKind.ObjectOrCollectionInitializer)
Microsoft.NetFramework.Analyzers\DoNotUseInsecureDtdProcessing.cs (2)
224switch (context.Operation.Kind) 606else if (context.Operation?.Parent?.Kind != OperationKind.ObjectOrCollectionInitializer)
Microsoft.NetFramework.Analyzers\DoNotUseInsecureDtdProcessingInApiDesign.cs (1)
515if (propertyReference.Instance.Kind != OperationKind.InstanceReference)
Microsoft.NetFramework.Analyzers\DoNotUseInsecureXSLTScriptExecution.cs (4)
186RoslynDebug.Assert(invocationOrObjCreation.Kind is OperationKind.Invocation 196var lhsSymbol = lhs.Kind switch 212IMethodSymbol? rhsMethodSymbol = rhs.Kind switch 236var arguments = rhs.Kind switch
src\11b41c7305441175\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.cs (7)
222&& (operation.Target.Kind == OperationKind.PropertyReference 223|| operation.Target.Kind == OperationKind.FieldReference 224|| operation.Target.Kind == OperationKind.FlowCaptureReference)) 227if (operation.Target.Kind == OperationKind.FlowCaptureReference) 274if (propertyReferenceOperation == null && operation.Target.Kind == OperationKind.FlowCaptureReference) 705if (flowCaptureReferenceOperation != null && flowCaptureReferenceOperation.Kind == OperationKind.FlowCaptureReference) 711if (kinds == null || kinds.Contains(lValueOperation.Kind))
src\40daf5e1cab76dff\TaintedDataSymbolMapExtensions.cs (3)
69pointsToAnalysisResult[o.Kind, o.Syntax]).ToImmutableArray())); 92arguments.Select(o => pointsToAnalysisResult[o.Kind, o.Syntax]).ToImmutableArray(), 93arguments.Select(o => valueContentAnalysisResult[o.Kind, o.Syntax]).ToImmutableArray()));
src\440320f3f10733a8\ValueContentAnalysis.ValueContentDataFlowOperationVisitor.cs (2)
188return operation.Kind == OperationKind.None ? 244var operationKind = operation.Kind == OperationKind.Increment ? BinaryOperatorKind.Add : BinaryOperatorKind.Subtract;
src\47c588c5b8785708\ParameterValidationAnalysis.ParameterValidationDataFlowOperationVisitor.cs (1)
155if (operation.Kind == OperationKind.ConditionalAccessInstance)
src\afc74d572e54ec72\DisposeAnalysis.DisposeDataFlowOperationVisitor.cs (3)
240operation.Kind != OperationKind.ObjectCreation && 276if (visitedInstance?.Kind != OperationKind.InstanceReference) 400operation.Instance?.Kind == OperationKind.InstanceReference)
src\ffd9070534249528\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (1)
721target.Kind == OperationKind.ArrayElementReference)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (6)
104if ((operationBlock.Kind is OperationKind.None or OperationKindEx.Attribute) && 135switch (operation.Kind) 302switch (operation.Parent.Kind) 320return operation.Kind == OperationKind.Conditional && hasAnyExplicitExpression(operation) ? 1 : 0; 330return !operation.DescendantsAndSelf().All(o => o.IsImplicit || (!o.ConstantValue.HasValue && o.Type == null && o.Kind is not (OperationKind.Branch or OperationKindEx.Attribute))); 337distinctOperatorKindsBuilder.Add(operation.Kind);
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (2)
262switch (operationBlock.Kind) 328switch (operation.Kind)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\Extensions\IOperationExtensions.cs (12)
198return operation.Kind == OperationKind.None && operation.Parent == null; 258} while (ancestor != null && ancestor.Kind != ancestorKind); 292} while (ancestor != null && !ancestorKinds.Contains(ancestor.Kind)); 330for (IOperation? current = operation; current != null && current.Kind != OperationKind.Block; current = current.Parent) 332switch (current.Kind) 389return operationBlocks.HasAnyOperationDescendant(predicate: operation => operation.Kind == kind); 492Debug.Assert(operation.Kind is OperationKind.None or OperationKindEx.Attribute, $"Unexpected root operation kind: {operation.Kind}"); 515switch (child.Kind) 606switch (currentOperation.Kind) 1095switch (operation.Kind) 1127switch (operation.Kind)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\Extensions\OperationBlockAnalysisContextExtension.cs (2)
25if (operationBlocks.Length == 1 && operationBlocks[0].Kind == OperationKind.Block) 33if (block.Kind == OperationKind.Block)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\Lightup\LightupHelpers.cs (2)
35if (!wrappedSyntax.TryGetValue(operation.Kind, out var canCast)) 38operation.Kind,
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\Extensions\ControlFlowGraphExtensions.cs (2)
32if (descendant?.Kind == operationKind) 46cfg.OriginalOperation.Kind is OperationKindEx.Attribute or OperationKind.None or OperationKind.ParameterInitializer)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAnalysisHelper.cs (1)
158=> (s_DisposableCreationKinds.Contains(operation.Kind) ||
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowAnalysisResult.cs (3)
129if (kvp.Key.Kind == operationKind && kvp.Key.Syntax == syntax) 169Debug.Assert(lambdaOrLocalFunctionOperation.Kind is OperationKind.AnonymousFunction or OperationKind.LocalFunction); 188if (lambdaOrLocalFunctionOperation.Kind == OperationKind.LocalFunction)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (14)
903instance.Kind != OperationKind.InstanceReference && 1253if (sourceOperand.Kind == OperationKind.Throw) 1386Debug.Assert(operation.Kind is OperationKind.BinaryOperator or 1405if (operation.Kind == OperationKind.FlowCaptureReference) 1429if (operation.Kind == OperationKind.FlowCaptureReference) 1486if (operation.Kind == OperationKind.Argument) 1495switch (current.Kind) 1515switch (current.Kind) 1560switch (isPatternOperation.Pattern.Kind) 1638Debug.Fail($"Unknown pattern kind '{isPatternOperation.Pattern.Kind}'"); 2482Debug.Assert(originalOperation.Kind == OperationKind.ObjectCreation); 2573switch (operation.Kind) 2804if (operation.Kind == OperationKind.None) 3825Debug.Assert(operation.Kind == OperationKind.YieldReturn, "IReturnOperation must have been lowered in the CFG");
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\LValueFlowCapturesProvider.cs (1)
65operations.Single().Parent?.Kind == OperationKind.FlowCapture)
Microsoft.CodeAnalysis.ResxSourceGenerator (31)
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
207if (operation.Kind is OperationKind.LocalFunction or OperationKind.AnonymousFunction)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (6)
102if ((operationBlock.Kind is OperationKind.None or OperationKind.Attribute) && 133switch (operation.Kind) 300switch (operation.Parent.Kind) 318return operation.Kind == OperationKind.Conditional && hasAnyExplicitExpression(operation) ? 1 : 0; 328return !operation.DescendantsAndSelf().All(o => o.IsImplicit || (!o.ConstantValue.HasValue && o.Type == null && o.Kind is not (OperationKind.Branch or OperationKind.Attribute))); 335distinctOperatorKindsBuilder.Add(operation.Kind);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (2)
260switch (operationBlock.Kind) 326switch (operation.Kind)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (9)
122return operation is { Kind: OperationKind.None, Parent: null }; 143} while (ancestor != null && ancestor.Kind != ancestorKind); 177} while (ancestor != null && !ancestorKinds.Contains(ancestor.Kind)); 215for (IOperation? current = operation; current != null && current.Kind != OperationKind.Block; current = current.Parent) 217switch (current.Kind) 320Debug.Assert(operation.Kind is OperationKind.None or OperationKind.Attribute, $"Unexpected root operation kind: {operation.Kind}"); 344switch (child.Kind) 419switch (currentOperation.Kind)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (1)
32=> cfg.DescendantOperations().Where(d => d?.Kind == operationKind).Cast<T>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (5)
21assignmentOperation.Parent?.Kind == OperationKind.ObjectOrCollectionInitializer; 244switch (operation.Kind) 268switch (current.Kind) 375=> operationBlocks.HasAnyOperationDescendant(predicate: operation => operation.Kind == kind); 378=> operation.Kind == OperationKind.Literal && operation.Type.IsNumericType();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticEquivalence.cs (1)
126=> operation is IMemberReferenceOperation { Instance.Kind: OperationKind.InstanceReference };
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (6)
153operation.Parent.Parent?.Kind != OperationKind.ExpressionStatement) 161Debug.Assert(symbolOpt != null || operation.Kind == OperationKind.FlowCaptureReference); 191operation.Parent?.Kind != OperationKind.ExpressionStatement; 195if (write.Kind != OperationKind.FlowCaptureReference) 436switch (currentOperation.Kind) 551switch (target.Kind)
Microsoft.CodeAnalysis.Workspaces (17)
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
207if (operation.Kind is OperationKind.LocalFunction or OperationKind.AnonymousFunction)
src\ce8c1e82c1124a2b\AbstractInitializerParameterService.cs (1)
64switch (operation.Kind)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (1)
32=> cfg.DescendantOperations().Where(d => d?.Kind == operationKind).Cast<T>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (5)
21assignmentOperation.Parent?.Kind == OperationKind.ObjectOrCollectionInitializer; 244switch (operation.Kind) 268switch (current.Kind) 375=> operationBlocks.HasAnyOperationDescendant(predicate: operation => operation.Kind == kind); 378=> operation.Kind == OperationKind.Literal && operation.Type.IsNumericType();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticEquivalence.cs (1)
126=> operation is IMemberReferenceOperation { Instance.Kind: OperationKind.InstanceReference };
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (6)
153operation.Parent.Parent?.Kind != OperationKind.ExpressionStatement) 161Debug.Assert(symbolOpt != null || operation.Kind == OperationKind.FlowCaptureReference); 191operation.Parent?.Kind != OperationKind.ExpressionStatement; 195if (write.Kind != OperationKind.FlowCaptureReference) 436switch (currentOperation.Kind) 551switch (target.Kind)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (2)
479operation is { Kind: OperationKind.Literal, ConstantValue: { HasValue: true, Value: true } }) 485operation is { Kind: OperationKind.Literal, ConstantValue: { HasValue: true, Value: false } })
Roslyn.Diagnostics.Analyzers (38)
AbstractDoNotCopyValue.cs (4)
1127&& target.Kind != OperationKind.Discard 1366switch (operation.Kind) 1569_context.ReportDiagnostic(operation.Syntax.CreateDiagnostic(AvoidNullableWrapperRule, type, operation.Kind)); 1645var operationKind = operation.Kind;
src\b310f676f7308b7f\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
207if (operation.Kind is OperationKind.LocalFunction or OperationKind.AnonymousFunction)
src\ce8c1e82c1124a2b\AbstractInitializerParameterService.cs (1)
64switch (operation.Kind)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (6)
102if ((operationBlock.Kind is OperationKind.None or OperationKind.Attribute) && 133switch (operation.Kind) 300switch (operation.Parent.Kind) 318return operation.Kind == OperationKind.Conditional && hasAnyExplicitExpression(operation) ? 1 : 0; 328return !operation.DescendantsAndSelf().All(o => o.IsImplicit || (!o.ConstantValue.HasValue && o.Type == null && o.Kind is not (OperationKind.Branch or OperationKind.Attribute))); 335distinctOperatorKindsBuilder.Add(operation.Kind);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (2)
260switch (operationBlock.Kind) 326switch (operation.Kind)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (9)
122return operation is { Kind: OperationKind.None, Parent: null }; 143} while (ancestor != null && ancestor.Kind != ancestorKind); 177} while (ancestor != null && !ancestorKinds.Contains(ancestor.Kind)); 215for (IOperation? current = operation; current != null && current.Kind != OperationKind.Block; current = current.Parent) 217switch (current.Kind) 320Debug.Assert(operation.Kind is OperationKind.None or OperationKind.Attribute, $"Unexpected root operation kind: {operation.Kind}"); 344switch (child.Kind) 419switch (currentOperation.Kind)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (1)
32=> cfg.DescendantOperations().Where(d => d?.Kind == operationKind).Cast<T>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (5)
21assignmentOperation.Parent?.Kind == OperationKind.ObjectOrCollectionInitializer; 244switch (operation.Kind) 268switch (current.Kind) 375=> operationBlocks.HasAnyOperationDescendant(predicate: operation => operation.Kind == kind); 378=> operation.Kind == OperationKind.Literal && operation.Type.IsNumericType();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticEquivalence.cs (1)
126=> operation is IMemberReferenceOperation { Instance.Kind: OperationKind.InstanceReference };
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (6)
153operation.Parent.Parent?.Kind != OperationKind.ExpressionStatement) 161Debug.Assert(symbolOpt != null || operation.Kind == OperationKind.FlowCaptureReference); 191operation.Parent?.Kind != OperationKind.ExpressionStatement; 195if (write.Kind != OperationKind.FlowCaptureReference) 436switch (currentOperation.Kind) 551switch (target.Kind)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (2)
479operation is { Kind: OperationKind.Literal, ConstantValue: { HasValue: true, Value: true } }) 485operation is { Kind: OperationKind.Literal, ConstantValue: { HasValue: true, Value: false } })
Roslyn.Diagnostics.CSharp.Analyzers (4)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (4)
91Kind: OperationKind.MethodReference, 92Parent.Kind: OperationKind.DelegateCreation, 1336if (oldInterpolationPart.Kind != newInterpolationPart.Kind)
System.Private.CoreLib.Generators (2)
IntrinsicsInSystemPrivateCoreLibAnalyzer.cs (2)
493if (operationSearch.Kind == OperationKind.AnonymousFunction) 498if (operationSearch.Kind == OperationKind.LocalFunction)