8 instantiations of BranchWithInfo
Microsoft.CodeAnalysis.AnalyzerUtilities (8)
src\RoslynAnalyzers\Utilities\FlowAnalysis\BranchWithInfo.cs (2)
77return new BranchWithInfo( 93return new BranchWithInfo(Destination, EnteringRegions, LeavingRegions,
src\RoslynAnalyzers\Utilities\FlowAnalysis\Extensions\BasicBlockExtensions.cs (1)
20var branchWithInfo = new BranchWithInfo(predecessorBranch);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowAnalysis.cs (5)
634var preadjustSuccessorWithbranch = new BranchWithInfo(basicBlock.FallThroughSuccessor!); 640preadjustSuccessorWithbranch = new BranchWithInfo(basicBlock.ConditionalSuccessor); 675successor = new BranchWithInfo(destination: cfg.Blocks[finallyRegion.FirstBlockOrdinal]); 701var 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)
75internal BranchWithInfo WithEmptyRegions(BasicBlock destination) 89internal BranchWithInfo With(
src\RoslynAnalyzers\Utilities\FlowAnalysis\Extensions\BasicBlockExtensions.cs (2)
16internal static IEnumerable<(BasicBlock predecessorBlock, BranchWithInfo branchWithInfo)> GetPredecessorsWithBranches(this BasicBlock basicBlock, ControlFlowGraph cfg) 20var branchWithInfo = new BranchWithInfo(predecessorBranch);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\CopyAnalysis\CopyAnalysis.CopyDataFlowOperationVisitor.cs (1)
50BranchWithInfo branch,
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\GlobalFlowStateAnalysis\GlobalFlowStateDataFlowOperationVisitor.cs (1)
97BasicBlock fromBlock, BranchWithInfo branch, DictionaryAnalysisData<AnalysisEntity, TAbstractAnalysisValue> input)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\GlobalFlowStateAnalysis\GlobalFlowStateValueSetFlowOperationVisitor.cs (1)
26public sealed override (GlobalFlowStateAnalysisData output, bool isFeasibleBranch) FlowBranch(BasicBlock fromBlock, BranchWithInfo branch, GlobalFlowStateAnalysisData input)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (1)
120public override (PointsToAnalysisData output, bool isFeasibleBranch) FlowBranch(BasicBlock fromBlock, BranchWithInfo branch, PointsToAnalysisData input)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowAnalysis.cs (16)
64using var finallyBlockSuccessorsMap = PooledDictionary<int, List<BranchWithInfo>>.GetInstance(); 188PooledDictionary<int, List<BranchWithInfo>> finallyBlockSuccessorsMap, 320foreach ((BranchWithInfo successorWithBranch, BranchWithInfo? preadjustSuccessorWithBranch) in successorsWithAdjustedBranches) 619IEnumerable<(BranchWithInfo successorWithBranch, BranchWithInfo? preadjustSuccessorWithBranch)> GetSuccessorsWithAdjustedBranches(BasicBlock basicBlock) 627foreach (var successor in finallySuccessors) 634var preadjustSuccessorWithbranch = new BranchWithInfo(basicBlock.FallThroughSuccessor!); 635var adjustedSuccessorWithBranch = AdjustBranchIfFinalizing(preadjustSuccessorWithbranch); 649BranchWithInfo AdjustBranchIfFinalizing(BranchWithInfo branch) 665void UpdateFinallySuccessorsAndCatchInput(BranchWithInfo branch, TAnalysisData branchData, BasicBlock sourceBlock) 670var successor = branch.With(branchValue: null, controlFlowConditionKind: ControlFlowConditionKind.None); 701var successor = new BranchWithInfo(destination: cfg.Blocks[catchRegion.FirstBlockOrdinal]); 726void AddFinallySuccessor(ControlFlowRegion finallyRegion, BranchWithInfo successor) 731lastBlockSuccessors = new List<BranchWithInfo>();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (1)
680BranchWithInfo branch,