8 instantiations of BranchWithInfo
Microsoft.CodeAnalysis.AnalyzerUtilities (8)
src\RoslynAnalyzers\Utilities\FlowAnalysis\BranchWithInfo.cs (2)
77
return new
BranchWithInfo
(
93
return new
BranchWithInfo
(Destination, EnteringRegions, LeavingRegions,
src\RoslynAnalyzers\Utilities\FlowAnalysis\Extensions\BasicBlockExtensions.cs (1)
20
var branchWithInfo = new
BranchWithInfo
(predecessorBranch);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowAnalysis.cs (5)
635
var preadjustSuccessorWithbranch = new
BranchWithInfo
(basicBlock.FallThroughSuccessor!);
641
preadjustSuccessorWithbranch = new
BranchWithInfo
(basicBlock.ConditionalSuccessor);
676
successor = new
BranchWithInfo
(destination: cfg.Blocks[finallyRegion.FirstBlockOrdinal]);
702
var successor = new
BranchWithInfo
(destination: cfg.Blocks[catchRegion.FirstBlockOrdinal]);
773
(data, _) = operationVisitor.FlowBranch(branch.Source, new
BranchWithInfo
(branch), data);
24 references to BranchWithInfo
Microsoft.CodeAnalysis.AnalyzerUtilities (24)
src\RoslynAnalyzers\Utilities\FlowAnalysis\BranchWithInfo.cs (2)
75
internal
BranchWithInfo
WithEmptyRegions(BasicBlock destination)
89
internal
BranchWithInfo
With(
src\RoslynAnalyzers\Utilities\FlowAnalysis\Extensions\BasicBlockExtensions.cs (2)
16
internal static IEnumerable<(BasicBlock predecessorBlock,
BranchWithInfo
branchWithInfo)> GetPredecessorsWithBranches(this BasicBlock basicBlock, ControlFlowGraph cfg)
20
var
branchWithInfo = new BranchWithInfo(predecessorBranch);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\CopyAnalysis\CopyAnalysis.CopyDataFlowOperationVisitor.cs (1)
49
BranchWithInfo
branch,
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\GlobalFlowStateAnalysis\GlobalFlowStateDataFlowOperationVisitor.cs (1)
97
BasicBlock fromBlock,
BranchWithInfo
branch, DictionaryAnalysisData<AnalysisEntity, TAbstractAnalysisValue> input)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\GlobalFlowStateAnalysis\GlobalFlowStateValueSetFlowOperationVisitor.cs (1)
26
public sealed override (GlobalFlowStateAnalysisData output, bool isFeasibleBranch) FlowBranch(BasicBlock fromBlock,
BranchWithInfo
branch, GlobalFlowStateAnalysisData input)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (1)
120
public override (PointsToAnalysisData output, bool isFeasibleBranch) FlowBranch(BasicBlock fromBlock,
BranchWithInfo
branch, PointsToAnalysisData input)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowAnalysis.cs (15)
65
using var _2 = PooledDictionary<int, List<
BranchWithInfo
>>.GetInstance(out var finallyBlockSuccessorsMap);
189
PooledDictionary<int, List<
BranchWithInfo
>> finallyBlockSuccessorsMap,
321
foreach ((
BranchWithInfo
successorWithBranch,
BranchWithInfo
? preadjustSuccessorWithBranch) in successorsWithAdjustedBranches)
620
IEnumerable<(
BranchWithInfo
successorWithBranch,
BranchWithInfo
? preadjustSuccessorWithBranch)> GetSuccessorsWithAdjustedBranches(BasicBlock basicBlock)
628
foreach (
var
successor in finallySuccessors)
635
var
preadjustSuccessorWithbranch = new BranchWithInfo(basicBlock.FallThroughSuccessor!);
636
var
adjustedSuccessorWithBranch = AdjustBranchIfFinalizing(preadjustSuccessorWithbranch);
650
BranchWithInfo
AdjustBranchIfFinalizing(
BranchWithInfo
branch)
666
void UpdateFinallySuccessorsAndCatchInput(
BranchWithInfo
branch, TAnalysisData branchData, BasicBlock sourceBlock)
671
var
successor = branch.With(branchValue: null, controlFlowConditionKind: ControlFlowConditionKind.None);
702
var
successor = new BranchWithInfo(destination: cfg.Blocks[catchRegion.FirstBlockOrdinal]);
727
void AddFinallySuccessor(ControlFlowRegion finallyRegion,
BranchWithInfo
successor)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (1)
680
BranchWithInfo
branch,