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