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)
634
var preadjustSuccessorWithbranch = new
BranchWithInfo
(basicBlock.FallThroughSuccessor!);
640
preadjustSuccessorWithbranch = new
BranchWithInfo
(basicBlock.ConditionalSuccessor);
675
successor = new
BranchWithInfo
(destination: cfg.Blocks[finallyRegion.FirstBlockOrdinal]);
701
var successor = new
BranchWithInfo
(destination: cfg.Blocks[catchRegion.FirstBlockOrdinal]);
772
(data, _) = operationVisitor.FlowBranch(branch.Source, new
BranchWithInfo
(branch), data);
25 references to BranchWithInfo
Microsoft.CodeAnalysis.AnalyzerUtilities (25)
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)
50
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 (16)
64
using var finallyBlockSuccessorsMap = PooledDictionary<int, List<
BranchWithInfo
>>.GetInstance();
188
PooledDictionary<int, List<
BranchWithInfo
>> finallyBlockSuccessorsMap,
320
foreach ((
BranchWithInfo
successorWithBranch,
BranchWithInfo
? preadjustSuccessorWithBranch) in successorsWithAdjustedBranches)
619
IEnumerable<(
BranchWithInfo
successorWithBranch,
BranchWithInfo
? preadjustSuccessorWithBranch)> GetSuccessorsWithAdjustedBranches(BasicBlock basicBlock)
627
foreach (
var
successor in finallySuccessors)
634
var
preadjustSuccessorWithbranch = new BranchWithInfo(basicBlock.FallThroughSuccessor!);
635
var
adjustedSuccessorWithBranch = AdjustBranchIfFinalizing(preadjustSuccessorWithbranch);
649
BranchWithInfo
AdjustBranchIfFinalizing(
BranchWithInfo
branch)
665
void UpdateFinallySuccessorsAndCatchInput(
BranchWithInfo
branch, TAnalysisData branchData, BasicBlock sourceBlock)
670
var
successor = branch.With(branchValue: null, controlFlowConditionKind: ControlFlowConditionKind.None);
701
var
successor = new BranchWithInfo(destination: cfg.Blocks[catchRegion.FirstBlockOrdinal]);
726
void AddFinallySuccessor(ControlFlowRegion finallyRegion,
BranchWithInfo
successor)
731
lastBlockSuccessors = new List<
BranchWithInfo
>();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (1)
680
BranchWithInfo
branch,