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)
635var preadjustSuccessorWithbranch = new BranchWithInfo(basicBlock.FallThroughSuccessor!); 641preadjustSuccessorWithbranch = new BranchWithInfo(basicBlock.ConditionalSuccessor); 676successor = new BranchWithInfo(destination: cfg.Blocks[finallyRegion.FirstBlockOrdinal]); 702var 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)
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)
49BranchWithInfo 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 (15)
65using var _2 = PooledDictionary<int, List<BranchWithInfo>>.GetInstance(out var finallyBlockSuccessorsMap); 189PooledDictionary<int, List<BranchWithInfo>> finallyBlockSuccessorsMap, 321foreach ((BranchWithInfo successorWithBranch, BranchWithInfo? preadjustSuccessorWithBranch) in successorsWithAdjustedBranches) 620IEnumerable<(BranchWithInfo successorWithBranch, BranchWithInfo? preadjustSuccessorWithBranch)> GetSuccessorsWithAdjustedBranches(BasicBlock basicBlock) 628foreach (var successor in finallySuccessors) 635var preadjustSuccessorWithbranch = new BranchWithInfo(basicBlock.FallThroughSuccessor!); 636var adjustedSuccessorWithBranch = AdjustBranchIfFinalizing(preadjustSuccessorWithbranch); 650BranchWithInfo AdjustBranchIfFinalizing(BranchWithInfo branch) 666void UpdateFinallySuccessorsAndCatchInput(BranchWithInfo branch, TAnalysisData branchData, BasicBlock sourceBlock) 671var successor = branch.With(branchValue: null, controlFlowConditionKind: ControlFlowConditionKind.None); 702var successor = new BranchWithInfo(destination: cfg.Blocks[catchRegion.FirstBlockOrdinal]); 727void AddFinallySuccessor(ControlFlowRegion finallyRegion, BranchWithInfo successor)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (1)
680BranchWithInfo branch,