1 instantiation of ControlFlowBranch
Microsoft.CodeAnalysis (1)
Operations\ControlFlowGraphBuilder.cs (1)
223return new ControlFlowBranch(
60 references to ControlFlowBranch
GenerateDocumentationAndConfigFiles (3)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (2)
172var branch = current.FallThroughSuccessor; 203void FollowBranch(BasicBlock current, ControlFlowBranch branch, TBlockAnalysisData currentAnalsisData)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
146ControlFlowBranch branch,
ILLink.RoslynAnalyzer (4)
DataFlow\ControlFlowGraphProxy.cs (4)
61public static ControlFlowBranch CreateProxyBranch(Microsoft.CodeAnalysis.FlowAnalysis.ControlFlowBranch branch) 101foreach (var predecessor in block.Block.Predecessors) 110if (block.Block.ConditionalSuccessor is Microsoft.CodeAnalysis.FlowAnalysis.ControlFlowBranch conditionalSuccessor) 112if (block.Block.FallThroughSuccessor is Microsoft.CodeAnalysis.FlowAnalysis.ControlFlowBranch fallThroughSuccessor)
Microsoft.CodeAnalysis (27)
Operations\BasicBlock.cs (9)
24private ControlFlowBranch? _lazySuccessor; 25private ControlFlowBranch? _lazyConditionalSuccessor; 26private ImmutableArray<ControlFlowBranch> _lazyPredecessors; 74public ControlFlowBranch? FallThroughSuccessor 91public ControlFlowBranch? ConditionalSuccessor 107public ImmutableArray<ControlFlowBranch> Predecessors 134internal void SetSuccessors(ControlFlowBranch? successor, ControlFlowBranch? conditionalSuccessor) 150internal void SetPredecessors(ImmutableArray<ControlFlowBranch> predecessors)
Operations\ControlFlowBranchSemantics.cs (9)
10/// Semantics associated with a <see cref="ControlFlowBranch"/>. 15/// Represents a <see cref="ControlFlowBranch"/> with no associated semantics. 20/// Represents a regular <see cref="ControlFlowBranch"/> from a source basic block to a non-null destination basic block. 25/// Represents a <see cref="ControlFlowBranch"/> to the exit block, i.e. the destination block has <see cref="BasicBlockKind.Exit"/>. 30/// Represents a <see cref="ControlFlowBranch"/> with special structured exception handling semantics: 37/// Represents a <see cref="ControlFlowBranch"/> to indicate flow transfer to the end of program execution. 43/// Represents a <see cref="ControlFlowBranch"/> generated for an <see cref="IThrowOperation"/> with an explicit thrown exception. 49/// Represents a <see cref="ControlFlowBranch"/> generated for an <see cref="IThrowOperation"/> with in implicit rethrown exception. 55/// Represents a <see cref="ControlFlowBranch"/> generated for error cases.
Operations\ControlFlowGraph.cs (1)
22/// explicit <see cref="ControlFlowBranch"/>(s) to other basic block(s).
Operations\ControlFlowGraphBuilder.BasicBlockBuilder.cs (3)
227public ImmutableArray<ControlFlowBranch> ConvertPredecessorsToBranches(ArrayBuilder<BasicBlock> blocks) 233return ImmutableArray<ControlFlowBranch>.Empty; 238var branches = ArrayBuilder<ControlFlowBranch>.GetInstance(_predecessors?.Count ?? 2);
Operations\ControlFlowGraphBuilder.cs (5)
186ControlFlowBranch? successor = getFallThroughSuccessor(blockBuilder); 187ControlFlowBranch? conditionalSuccessor = getConditionalSuccessor(blockBuilder); 207ControlFlowBranch? getFallThroughSuccessor(BasicBlockBuilder blockBuilder) 214ControlFlowBranch? getConditionalSuccessor(BasicBlockBuilder blockBuilder) 221ControlFlowBranch getBranch(in BasicBlockBuilder.Branch branch, BasicBlockBuilder source, bool isConditionalSuccessor)
Microsoft.CodeAnalysis.Analyzers (3)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (2)
172var branch = current.FallThroughSuccessor; 203void FollowBranch(BasicBlock current, ControlFlowBranch branch, TBlockAnalysisData currentAnalsisData)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
146ControlFlowBranch branch,
Microsoft.CodeAnalysis.AnalyzerUtilities (11)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\BranchWithInfo.cs (2)
19internal BranchWithInfo(ControlFlowBranch branch) 121private static ControlFlowConditionKind GetControlFlowConditionKind(ControlFlowBranch branch)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\Extensions\BasicBlockExtensions.cs (3)
18foreach (ControlFlowBranch predecessorBranch in basicBlock.Predecessors) 185foreach (var predecessor in basicBlock.Predecessors) 218static bool DominatesBranch(ControlFlowBranch? branch, BasicBlock basicBlock, PooledHashSet<int> processedOrdinals, ArrayBuilder<int> unprocessedOrdinals)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\Extensions\ControlFlowBranchExtensions.cs (1)
9public static bool IsBackEdge(this ControlFlowBranch controlFlowBranch)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowAnalysis.cs (2)
770ControlFlowBranch branch, 815void HandleBranch(ControlFlowBranch? branch)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (2)
172var branch = current.FallThroughSuccessor; 203void FollowBranch(BasicBlock current, ControlFlowBranch branch, TBlockAnalysisData currentAnalsisData)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
146ControlFlowBranch branch,
Microsoft.CodeAnalysis.CodeStyle (3)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (2)
172var branch = current.FallThroughSuccessor; 203void FollowBranch(BasicBlock current, ControlFlowBranch branch, TBlockAnalysisData currentAnalsisData)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
146ControlFlowBranch branch,
Microsoft.CodeAnalysis.ResxSourceGenerator (3)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (2)
172var branch = current.FallThroughSuccessor; 203void FollowBranch(BasicBlock current, ControlFlowBranch branch, TBlockAnalysisData currentAnalsisData)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
146ControlFlowBranch branch,
Microsoft.CodeAnalysis.Workspaces (3)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (2)
172var branch = current.FallThroughSuccessor; 203void FollowBranch(BasicBlock current, ControlFlowBranch branch, TBlockAnalysisData currentAnalsisData)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
146ControlFlowBranch branch,
Roslyn.Diagnostics.Analyzers (3)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (2)
172var branch = current.FallThroughSuccessor; 203void FollowBranch(BasicBlock current, ControlFlowBranch branch, TBlockAnalysisData currentAnalsisData)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
146ControlFlowBranch branch,