155 references to BasicBlockKind
GenerateDocumentationAndConfigFiles (4)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (2)
16Debug.Assert(firstBlock.Kind == BasicBlockKind.Entry); 23Debug.Assert(lastBlock.Kind == BasicBlockKind.Exit);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102if (basicBlock.Kind == BasicBlockKind.Entry)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
369basicBlock.Kind == BasicBlockKind.Entry ||
ILLink.RoslynAnalyzer (2)
DataFlow\ControlFlowGraphExtensions.cs (2)
18Debug.Assert(firstBlock.Kind == BasicBlockKind.Entry); 25Debug.Assert(lastBlock.Kind == BasicBlockKind.Exit);
Metrics (4)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (2)
16Debug.Assert(firstBlock.Kind == BasicBlockKind.Entry); 23Debug.Assert(lastBlock.Kind == BasicBlockKind.Exit);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102if (basicBlock.Kind == BasicBlockKind.Entry)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
369basicBlock.Kind == BasicBlockKind.Entry ||
Metrics.Legacy (4)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (2)
16Debug.Assert(firstBlock.Kind == BasicBlockKind.Entry); 23Debug.Assert(lastBlock.Kind == BasicBlockKind.Exit);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102if (basicBlock.Kind == BasicBlockKind.Entry)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
369basicBlock.Kind == BasicBlockKind.Entry ||
Microsoft.CodeAnalysis (78)
Operations\BasicBlock.cs (2)
29BasicBlockKind kind, 49public BasicBlockKind Kind { get; }
Operations\ControlFlowBranchSemantics.cs (1)
25/// Represents a <see cref="ControlFlowBranch"/> to the exit block, i.e. the destination block has <see cref="BasicBlockKind.Exit"/>.
Operations\ControlFlowGraph.cs (2)
43Debug.Assert(blocks.First().Kind == BasicBlockKind.Entry); 44Debug.Assert(blocks.Last().Kind == BasicBlockKind.Exit);
Operations\ControlFlowGraphBuilder.BasicBlockBuilder.cs (2)
18public readonly BasicBlockKind Kind; 35public BasicBlockBuilder(BasicBlockKind kind)
Operations\ControlFlowGraphBuilder.cs (71)
30private readonly BasicBlockBuilder _entry = new BasicBlockBuilder(BasicBlockKind.Entry); 31private readonly BasicBlockBuilder _exit = new BasicBlockBuilder(BasicBlockKind.Exit); 201return blockBuilder.Kind != BasicBlockKind.Exit ? 700predecessor.Kind != BasicBlockKind.Entry && 859if (next.Destination.Kind != BasicBlockKind.Exit || 872predecessor.Kind == BasicBlockKind.Entry || 971if (predecessor.Kind != BasicBlockKind.Entry && 1138else if (predecessor.Kind == BasicBlockKind.Entry && destinationRegionOpt == null) 1263AppendNewBlock(new BasicBlockBuilder(BasicBlockKind.Block)); 1346AppendNewBlock(new BasicBlockBuilder(BasicBlockKind.Block)); 1563var afterIf = new BasicBlockBuilder(BasicBlockKind.Block); 1615var afterIf = new BasicBlockBuilder(BasicBlockKind.Block); 2351var done = new BasicBlockBuilder(BasicBlockKind.Block); 2352var checkRight = new BasicBlockBuilder(BasicBlockKind.Block); 2353var resultIsLeft = new BasicBlockBuilder(BasicBlockKind.Block); 2420var done = new BasicBlockBuilder(BasicBlockKind.Block); 2421var checkRight = new BasicBlockBuilder(BasicBlockKind.Block); 2483var done = new BasicBlockBuilder(BasicBlockKind.Block); 2484var doBitWise = new BasicBlockBuilder(BasicBlockKind.Block); 2580var done = new BasicBlockBuilder(BasicBlockKind.Block); 2581var doBitWise = new BasicBlockBuilder(BasicBlockKind.Block); 2689var labEnd = new BasicBlockBuilder(BasicBlockKind.Block); 2795dest ??= new BasicBlockBuilder(BasicBlockKind.Block); 2816BasicBlockBuilder? fallThrough = new BasicBlockBuilder(BasicBlockKind.Block); 2880var afterIf = new BasicBlockBuilder(BasicBlockKind.Block); 2899var whenNull = new BasicBlockBuilder(BasicBlockKind.Block); 2905dest ??= new BasicBlockBuilder(BasicBlockKind.Block); 2909var afterCoalesce = new BasicBlockBuilder(BasicBlockKind.Block); 2933dest ??= new BasicBlockBuilder(BasicBlockKind.Block); 2943dest ??= new BasicBlockBuilder(BasicBlockKind.Block); 3053var whenNull = new BasicBlockBuilder(BasicBlockKind.Block); 3057var afterCoalesce = new BasicBlockBuilder(BasicBlockKind.Block); 3126var whenNull = new BasicBlockBuilder(BasicBlockKind.Block); 3127var afterCoalesce = new BasicBlockBuilder(BasicBlockKind.Block); 3380var whenNull = new BasicBlockBuilder(BasicBlockKind.Block); 3449var afterAccess = new BasicBlockBuilder(BasicBlockKind.Block); 3623var start = new BasicBlockBuilder(BasicBlockKind.Block); 3695var catchBlock = new BasicBlockBuilder(BasicBlockKind.Block); 3708var continueDispatchBlock = new BasicBlockBuilder(BasicBlockKind.Block); 3768AppendNewBlock(new BasicBlockBuilder(BasicBlockKind.Block)); 3770var continueDispatchBlock = new BasicBlockBuilder(BasicBlockKind.Block); 3872labeled = new BasicBlockBuilder(BasicBlockKind.Block); 3882return new BasicBlockBuilder(BasicBlockKind.Block); 3896labeledBlock = new BasicBlockBuilder(BasicBlockKind.Block); 3926AppendNewBlock(new BasicBlockBuilder(BasicBlockKind.Block), linkToPrevious: false); 4087var afterTryFinally = new BasicBlockBuilder(BasicBlockKind.Block); 4119var endOfFinally = new BasicBlockBuilder(BasicBlockKind.Block); 4124AppendNewBlock(new BasicBlockBuilder(BasicBlockKind.Block)); 4359var afterTryFinally = new BasicBlockBuilder(BasicBlockKind.Block); 4401var endOfFinally = new BasicBlockBuilder(BasicBlockKind.Block); 4405AppendNewBlock(new BasicBlockBuilder(BasicBlockKind.Block)); 4532var afterTryFinally = new BasicBlockBuilder(BasicBlockKind.Block); 4747BasicBlockBuilder checkConditionBlock = new BasicBlockBuilder(BasicBlockKind.Block); 4748BasicBlockBuilder bodyBlock = new BasicBlockBuilder(BasicBlockKind.Block); 4940var afterPositiveCheck = new BasicBlockBuilder(BasicBlockKind.Block); 4944var whenNotNull = new BasicBlockBuilder(BasicBlockKind.Block); 5051var notPositive = new BasicBlockBuilder(BasicBlockKind.Block); 5169var whenBothNotNull = new BasicBlockBuilder(BasicBlockKind.Block); 5190var notPositive = new BasicBlockBuilder(BasicBlockKind.Block); 5320BasicBlockBuilder afterIncrement = new BasicBlockBuilder(BasicBlockKind.Block); 5332BasicBlockBuilder whenNotNull = new BasicBlockBuilder(BasicBlockKind.Block); 5508var body = new BasicBlockBuilder(BasicBlockKind.Block); 5509var nextSection = new BasicBlockBuilder(BasicBlockKind.Block); 5524var nextCase = new BasicBlockBuilder(BasicBlockKind.Block); 5619AppendNewBlock(new BasicBlockBuilder(BasicBlockKind.Block)); 5706AppendNewBlock(new BasicBlockBuilder(BasicBlockKind.Block), linkToPrevious: false); 5750var start = new BasicBlockBuilder(BasicBlockKind.Block); 5832afterInitialization = new BasicBlockBuilder(BasicBlockKind.Block); 6825resultBlock = new BasicBlockBuilder(BasicBlockKind.Block); 7775var afterSwitch = new BasicBlockBuilder(BasicBlockKind.Block); 7782var afterArm = new BasicBlockBuilder(BasicBlockKind.Block);
Microsoft.CodeAnalysis.Analyzers (4)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (2)
16Debug.Assert(firstBlock.Kind == BasicBlockKind.Entry); 23Debug.Assert(lastBlock.Kind == BasicBlockKind.Exit);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102if (basicBlock.Kind == BasicBlockKind.Entry)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
369basicBlock.Kind == BasicBlockKind.Entry ||
Microsoft.CodeAnalysis.AnalyzerUtilities (18)
src\RoslynAnalyzers\Utilities\FlowAnalysis\Extensions\ControlFlowGraphExtensions.cs (2)
12public static BasicBlock GetEntry(this ControlFlowGraph cfg) => cfg.Blocks.Single(b => b.Kind == BasicBlockKind.Entry); 13public static BasicBlock GetExit(this ControlFlowGraph cfg) => cfg.Blocks.Single(b => b.Kind == BasicBlockKind.Exit);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (1)
103if (block.Kind == BasicBlockKind.Exit)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowAnalysis.cs (4)
140if (block.Kind == BasicBlockKind.Entry) 622if (basicBlock.Kind != BasicBlockKind.Exit) 791case BasicBlockKind.Entry: 795case BasicBlockKind.Exit:
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (7)
453case BasicBlockKind.Entry: 457case BasicBlockKind.Exit: 499if (block.Kind == BasicBlockKind.Exit) 551Debug.Assert(entryBlock.Kind == BasicBlockKind.Entry); 584Debug.Assert(exitBlock.Kind == BasicBlockKind.Exit); 651Debug.Assert(exitBlock.Kind == BasicBlockKind.Exit); 1154Debug.Assert(CurrentBasicBlock.Kind == BasicBlockKind.Entry);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (2)
16Debug.Assert(firstBlock.Kind == BasicBlockKind.Entry); 23Debug.Assert(lastBlock.Kind == BasicBlockKind.Exit);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102if (basicBlock.Kind == BasicBlockKind.Entry)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
369basicBlock.Kind == BasicBlockKind.Entry ||
Microsoft.CodeAnalysis.BannedApiAnalyzers (4)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (2)
16Debug.Assert(firstBlock.Kind == BasicBlockKind.Entry); 23Debug.Assert(lastBlock.Kind == BasicBlockKind.Exit);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102if (basicBlock.Kind == BasicBlockKind.Entry)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
369basicBlock.Kind == BasicBlockKind.Entry ||
Microsoft.CodeAnalysis.CodeStyle (4)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (2)
16Debug.Assert(firstBlock.Kind == BasicBlockKind.Entry); 23Debug.Assert(lastBlock.Kind == BasicBlockKind.Exit);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102if (basicBlock.Kind == BasicBlockKind.Entry)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
369basicBlock.Kind == BasicBlockKind.Entry ||
Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers (4)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (2)
16Debug.Assert(firstBlock.Kind == BasicBlockKind.Entry); 23Debug.Assert(lastBlock.Kind == BasicBlockKind.Exit);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102if (basicBlock.Kind == BasicBlockKind.Entry)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
369basicBlock.Kind == BasicBlockKind.Entry ||
Microsoft.CodeAnalysis.PublicApiAnalyzers (4)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (2)
16Debug.Assert(firstBlock.Kind == BasicBlockKind.Entry); 23Debug.Assert(lastBlock.Kind == BasicBlockKind.Exit);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102if (basicBlock.Kind == BasicBlockKind.Entry)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
369basicBlock.Kind == BasicBlockKind.Entry ||
Microsoft.CodeAnalysis.ResxSourceGenerator (4)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (2)
16Debug.Assert(firstBlock.Kind == BasicBlockKind.Entry); 23Debug.Assert(lastBlock.Kind == BasicBlockKind.Exit);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102if (basicBlock.Kind == BasicBlockKind.Entry)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
369basicBlock.Kind == BasicBlockKind.Entry ||
Microsoft.CodeAnalysis.Test.Utilities (5)
Compilation\ControlFlowGraphVerifier.cs (5)
130case BasicBlockKind.Block: 135case BasicBlockKind.Entry: 155case BasicBlockKind.Exit: 228else if (block.Kind != BasicBlockKind.Entry) 277if (block.Kind == BasicBlockKind.Exit)
Microsoft.CodeAnalysis.Workspaces (4)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (2)
16Debug.Assert(firstBlock.Kind == BasicBlockKind.Entry); 23Debug.Assert(lastBlock.Kind == BasicBlockKind.Exit);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102if (basicBlock.Kind == BasicBlockKind.Entry)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
369basicBlock.Kind == BasicBlockKind.Entry ||
Roslyn.Diagnostics.Analyzers (4)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (2)
16Debug.Assert(firstBlock.Kind == BasicBlockKind.Entry); 23Debug.Assert(lastBlock.Kind == BasicBlockKind.Exit);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102if (basicBlock.Kind == BasicBlockKind.Entry)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
369basicBlock.Kind == BasicBlockKind.Entry ||
Test.Utilities (4)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (2)
16Debug.Assert(firstBlock.Kind == BasicBlockKind.Entry); 23Debug.Assert(lastBlock.Kind == BasicBlockKind.Exit);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102if (basicBlock.Kind == BasicBlockKind.Entry)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
369basicBlock.Kind == BasicBlockKind.Entry ||
Text.Analyzers (4)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (2)
16Debug.Assert(firstBlock.Kind == BasicBlockKind.Entry); 23Debug.Assert(lastBlock.Kind == BasicBlockKind.Exit);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102if (basicBlock.Kind == BasicBlockKind.Entry)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
369basicBlock.Kind == BasicBlockKind.Entry ||