85 references to ControlFlowConditionKind
ILLink.RoslynAnalyzer (4)
DataFlow\ControlFlowGraphProxy.cs (3)
78
ControlFlowConditionKind
.None => ConditionKind.Unconditional,
79
ControlFlowConditionKind
.WhenFalse => branch.IsConditionalSuccessor ? ConditionKind.WhenFalse : ConditionKind.WhenTrue,
80
ControlFlowConditionKind
.WhenTrue => branch.IsConditionalSuccessor ? ConditionKind.WhenTrue : ConditionKind.WhenFalse,
DataFlow\LocalDataFlowVisitor.cs (1)
92
if (block.Block.ConditionKind !=
ControlFlowConditionKind
.None) {
Microsoft.CodeAnalysis (7)
Operations\BasicBlock.cs (2)
32
ControlFlowConditionKind
conditionKind,
68
public
ControlFlowConditionKind
ConditionKind { get; }
Operations\ControlFlowGraphBuilder.BasicBlockBuilder.cs (2)
28
public
ControlFlowConditionKind
ConditionKind;
115
bool result = ConditionKind !=
ControlFlowConditionKind
.None;
Operations\ControlFlowGraphBuilder.cs (3)
278
if (constant == (current.ConditionKind ==
ControlFlowConditionKind
.WhenTrue))
2973
previous.ConditionKind = jumpIfTrue ?
ControlFlowConditionKind
.WhenTrue :
ControlFlowConditionKind
.WhenFalse;
Microsoft.CodeAnalysis.AnalyzerUtilities (61)
src\RoslynAnalyzers\Utilities\FlowAnalysis\BranchWithInfo.cs (6)
35
controlFlowConditionKind:
ControlFlowConditionKind
.None,
48
ControlFlowConditionKind
controlFlowConditionKind,
70
public
ControlFlowConditionKind
ControlFlowConditionKind { get; }
91
ControlFlowConditionKind
controlFlowConditionKind)
121
private static
ControlFlowConditionKind
GetControlFlowConditionKind(ControlFlowBranch branch)
124
branch.Source.ConditionKind ==
ControlFlowConditionKind
.None)
src\RoslynAnalyzers\Utilities\FlowAnalysis\Extensions\ControlFlowConditionKindExtensions.cs (6)
11
public static
ControlFlowConditionKind
Negate(this
ControlFlowConditionKind
controlFlowConditionKind)
15
case
ControlFlowConditionKind
.WhenFalse:
16
return
ControlFlowConditionKind
.WhenTrue;
18
case
ControlFlowConditionKind
.WhenTrue:
19
return
ControlFlowConditionKind
.WhenFalse;
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAnalysis.DisposeDataFlowOperationVisitor.cs (4)
338
else if (FlowBranchConditionKind ==
ControlFlowConditionKind
.WhenFalse &&
450
var isNullEqualsOnWhenTrue = FlowBranchConditionKind ==
ControlFlowConditionKind
.WhenTrue &&
458
var isNullNotEqualsOnWhenFalse = FlowBranchConditionKind ==
ControlFlowConditionKind
.WhenFalse &&
484
if (FlowBranchConditionKind ==
ControlFlowConditionKind
.WhenTrue)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\GlobalFlowStateAnalysis\GlobalFlowStateValueSetFlowOperationVisitor.cs (2)
31
branch.ControlFlowConditionKind !=
ControlFlowConditionKind
.None &&
36
var negate = branch.ControlFlowConditionKind ==
ControlFlowConditionKind
.WhenFalse;
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\ParameterValidationAnalysis\ParameterValidationAnalysis.ParameterValidationDataFlowOperationVisitor.cs (5)
394
var isNullNotEqualsOnWhenTrue = FlowBranchConditionKind ==
ControlFlowConditionKind
.WhenTrue &&
402
var isNullEqualsOnWhenFalse = FlowBranchConditionKind ==
ControlFlowConditionKind
.WhenFalse &&
439
if (FlowBranchConditionKind ==
ControlFlowConditionKind
.WhenFalse &&
446
if (FlowBranchConditionKind ==
ControlFlowConditionKind
.WhenTrue &&
461
if (FlowBranchConditionKind ==
ControlFlowConditionKind
.WhenTrue)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowAnalysis.cs (4)
85
using var blockToUniqueInputFlowMap = PooledDictionary<int, (int Ordinal,
ControlFlowConditionKind
BranchKind)?>.GetInstance();
191
PooledDictionary<int, (int Ordinal,
ControlFlowConditionKind
BranchKind)?> blockToUniqueInputFlowMap,
387
var
blockToSuccessorBranchKind = successorWithBranch.ControlFlowConditionKind;
670
var successor = branch.With(branchValue: null, controlFlowConditionKind:
ControlFlowConditionKind
.None);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (34)
194
protected
ControlFlowConditionKind
FlowBranchConditionKind { get; private set; }
692
if (branch.ControlFlowConditionKind !=
ControlFlowConditionKind
.None)
712
FlowBranchConditionKind =
ControlFlowConditionKind
.None;
743
Debug.Assert(branch.ControlFlowConditionKind !=
ControlFlowConditionKind
.None);
749
if (alwaysTrue && branch.ControlFlowConditionKind ==
ControlFlowConditionKind
.WhenFalse ||
750
!alwaysTrue && branch.ControlFlowConditionKind ==
ControlFlowConditionKind
.WhenTrue)
786
Debug.Assert(branch.ControlFlowConditionKind !=
ControlFlowConditionKind
.None);
790
PredicateValueKind.AlwaysFalse => branch.ControlFlowConditionKind ==
ControlFlowConditionKind
.WhenTrue,
792
PredicateValueKind.AlwaysTrue => branch.ControlFlowConditionKind ==
ControlFlowConditionKind
.WhenFalse,
1395
if (FlowBranchConditionKind ==
ControlFlowConditionKind
.None || !IsRootOfCondition())
1417
FlowBranchConditionKind =
ControlFlowConditionKind
.WhenTrue;
1420
FlowBranchConditionKind =
ControlFlowConditionKind
.None;
1449
FlowBranchConditionKind =
ControlFlowConditionKind
.WhenTrue;
1454
FlowBranchConditionKind =
ControlFlowConditionKind
.WhenFalse;
1457
FlowBranchConditionKind =
ControlFlowConditionKind
.None;
1545
Debug.Assert(FlowBranchConditionKind !=
ControlFlowConditionKind
.None);
1552
predicateValueKind = SetValueForIsNullComparisonOperator(isNullOperation.Operand, equals: FlowBranchConditionKind ==
ControlFlowConditionKind
.WhenTrue, targetAnalysisData: targetAnalysisData);
1567
predicateValueKind = SetValueForIsNullComparisonOperator(isPatternOperation.Pattern, equals: FlowBranchConditionKind ==
ControlFlowConditionKind
.WhenFalse, targetAnalysisData: targetAnalysisData);
1572
if (FlowBranchConditionKind ==
ControlFlowConditionKind
.WhenTrue)
1582
if (FlowBranchConditionKind ==
ControlFlowConditionKind
.WhenTrue)
1592
equals: FlowBranchConditionKind ==
ControlFlowConditionKind
.WhenTrue, isReferenceEquality: false, targetAnalysisData: targetAnalysisData);
1600
equals: FlowBranchConditionKind ==
ControlFlowConditionKind
.WhenFalse, isReferenceEquality: false, targetAnalysisData: targetAnalysisData);
1607
if (FlowBranchConditionKind ==
ControlFlowConditionKind
.WhenTrue)
1619
if (FlowBranchConditionKind ==
ControlFlowConditionKind
.WhenFalse)
1627
else if (FlowBranchConditionKind ==
ControlFlowConditionKind
.WhenTrue)
1690
predicateValueKind = ApplyPredicatedDataForEntity(targetAnalysisData, flowCaptureReferenceEntity, trueData: FlowBranchConditionKind ==
ControlFlowConditionKind
.WhenTrue);
1705
if (invocation.Arguments.Length == 1 && FlowBranchConditionKind ==
ControlFlowConditionKind
.WhenFalse)
1749
equals: FlowBranchConditionKind ==
ControlFlowConditionKind
.WhenTrue,
1830
if (FlowBranchConditionKind ==
ControlFlowConditionKind
.WhenFalse)
1852
Debug.Assert(FlowBranchConditionKind !=
ControlFlowConditionKind
.None);
1884
if (FlowBranchConditionKind ==
ControlFlowConditionKind
.WhenFalse)
3077
Debug.Assert(FlowBranchConditionKind ==
ControlFlowConditionKind
.None);
3080
FlowBranchConditionKind =
ControlFlowConditionKind
.WhenTrue;
3082
FlowBranchConditionKind =
ControlFlowConditionKind
.None;
Microsoft.CodeAnalysis.CodeStyle (2)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (2)
142
if (current.ConditionKind !=
ControlFlowConditionKind
.None)
150
if (constant == (current.ConditionKind ==
ControlFlowConditionKind
.WhenTrue))
Microsoft.CodeAnalysis.Test.Utilities (9)
Compilation\ControlFlowGraphVerifier.cs (7)
202
Assert.NotEqual(
ControlFlowConditionKind
.None, predecessor.ConditionKind);
243
if (block.ConditionKind !=
ControlFlowConditionKind
.None)
258
Assert.True(block.ConditionKind ==
ControlFlowConditionKind
.WhenTrue || block.ConditionKind ==
ControlFlowConditionKind
.WhenFalse);
259
string jumpIfTrue = block.ConditionKind ==
ControlFlowConditionKind
.WhenTrue ? "True" : "False";
272
Assert.Equal(
ControlFlowConditionKind
.None, block.ConditionKind);
301
IOperation value = block.ConditionKind ==
ControlFlowConditionKind
.None ? block.BranchValue : null;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (2)
142
if (current.ConditionKind !=
ControlFlowConditionKind
.None)
150
if (constant == (current.ConditionKind ==
ControlFlowConditionKind
.WhenTrue))
Microsoft.CodeAnalysis.Workspaces (2)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (2)
142
if (current.ConditionKind !=
ControlFlowConditionKind
.None)
150
if (constant == (current.ConditionKind ==
ControlFlowConditionKind
.WhenTrue))