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