122 references to BasicBlockKind
GenerateDocumentationAndConfigFiles (4)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (2)
16Debug.Assert(firstBlock.Kind == BasicBlockKind.Entry); 23Debug.Assert(lastBlock.Kind == BasicBlockKind.Exit);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102if (basicBlock.Kind == BasicBlockKind.Entry)
src\roslyn\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);
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); 209return blockBuilder.Kind != BasicBlockKind.Exit ? 708predecessor.Kind != BasicBlockKind.Entry && 867if (next.Destination.Kind != BasicBlockKind.Exit || 880predecessor.Kind == BasicBlockKind.Entry || 979if (predecessor.Kind != BasicBlockKind.Entry && 1146else if (predecessor.Kind == BasicBlockKind.Entry && destinationRegionOpt == null) 1271AppendNewBlock(new BasicBlockBuilder(BasicBlockKind.Block)); 1354AppendNewBlock(new BasicBlockBuilder(BasicBlockKind.Block)); 1571var afterIf = new BasicBlockBuilder(BasicBlockKind.Block); 1623var afterIf = new BasicBlockBuilder(BasicBlockKind.Block); 2359var done = new BasicBlockBuilder(BasicBlockKind.Block); 2360var checkRight = new BasicBlockBuilder(BasicBlockKind.Block); 2361var resultIsLeft = new BasicBlockBuilder(BasicBlockKind.Block); 2428var done = new BasicBlockBuilder(BasicBlockKind.Block); 2429var checkRight = new BasicBlockBuilder(BasicBlockKind.Block); 2491var done = new BasicBlockBuilder(BasicBlockKind.Block); 2492var doBitWise = new BasicBlockBuilder(BasicBlockKind.Block); 2588var done = new BasicBlockBuilder(BasicBlockKind.Block); 2589var doBitWise = new BasicBlockBuilder(BasicBlockKind.Block); 2697var labEnd = new BasicBlockBuilder(BasicBlockKind.Block); 2803dest ??= new BasicBlockBuilder(BasicBlockKind.Block); 2824BasicBlockBuilder? fallThrough = new BasicBlockBuilder(BasicBlockKind.Block); 2888var afterIf = new BasicBlockBuilder(BasicBlockKind.Block); 2907var whenNull = new BasicBlockBuilder(BasicBlockKind.Block); 2913dest ??= new BasicBlockBuilder(BasicBlockKind.Block); 2917var afterCoalesce = new BasicBlockBuilder(BasicBlockKind.Block); 2941dest ??= new BasicBlockBuilder(BasicBlockKind.Block); 2951dest ??= new BasicBlockBuilder(BasicBlockKind.Block); 3061var whenNull = new BasicBlockBuilder(BasicBlockKind.Block); 3065var afterCoalesce = new BasicBlockBuilder(BasicBlockKind.Block); 3134var whenNull = new BasicBlockBuilder(BasicBlockKind.Block); 3135var afterCoalesce = new BasicBlockBuilder(BasicBlockKind.Block); 3388var whenNull = new BasicBlockBuilder(BasicBlockKind.Block); 3457var afterAccess = new BasicBlockBuilder(BasicBlockKind.Block); 3631var start = new BasicBlockBuilder(BasicBlockKind.Block); 3703var catchBlock = new BasicBlockBuilder(BasicBlockKind.Block); 3716var continueDispatchBlock = new BasicBlockBuilder(BasicBlockKind.Block); 3776AppendNewBlock(new BasicBlockBuilder(BasicBlockKind.Block)); 3778var continueDispatchBlock = new BasicBlockBuilder(BasicBlockKind.Block); 3880labeled = new BasicBlockBuilder(BasicBlockKind.Block); 3890return new BasicBlockBuilder(BasicBlockKind.Block); 3904labeledBlock = new BasicBlockBuilder(BasicBlockKind.Block); 3934AppendNewBlock(new BasicBlockBuilder(BasicBlockKind.Block), linkToPrevious: false); 4096var afterTryFinally = new BasicBlockBuilder(BasicBlockKind.Block); 4128var endOfFinally = new BasicBlockBuilder(BasicBlockKind.Block); 4133AppendNewBlock(new BasicBlockBuilder(BasicBlockKind.Block)); 4368var afterTryFinally = new BasicBlockBuilder(BasicBlockKind.Block); 4410var endOfFinally = new BasicBlockBuilder(BasicBlockKind.Block); 4414AppendNewBlock(new BasicBlockBuilder(BasicBlockKind.Block)); 4541var afterTryFinally = new BasicBlockBuilder(BasicBlockKind.Block); 4756BasicBlockBuilder checkConditionBlock = new BasicBlockBuilder(BasicBlockKind.Block); 4757BasicBlockBuilder bodyBlock = new BasicBlockBuilder(BasicBlockKind.Block); 4949var afterPositiveCheck = new BasicBlockBuilder(BasicBlockKind.Block); 4953var whenNotNull = new BasicBlockBuilder(BasicBlockKind.Block); 5060var notPositive = new BasicBlockBuilder(BasicBlockKind.Block); 5178var whenBothNotNull = new BasicBlockBuilder(BasicBlockKind.Block); 5199var notPositive = new BasicBlockBuilder(BasicBlockKind.Block); 5329BasicBlockBuilder afterIncrement = new BasicBlockBuilder(BasicBlockKind.Block); 5341BasicBlockBuilder whenNotNull = new BasicBlockBuilder(BasicBlockKind.Block); 5517var body = new BasicBlockBuilder(BasicBlockKind.Block); 5518var nextSection = new BasicBlockBuilder(BasicBlockKind.Block); 5533var nextCase = new BasicBlockBuilder(BasicBlockKind.Block); 5628AppendNewBlock(new BasicBlockBuilder(BasicBlockKind.Block)); 5715AppendNewBlock(new BasicBlockBuilder(BasicBlockKind.Block), linkToPrevious: false); 5759var start = new BasicBlockBuilder(BasicBlockKind.Block); 5841afterInitialization = new BasicBlockBuilder(BasicBlockKind.Block); 6834resultBlock = new BasicBlockBuilder(BasicBlockKind.Block); 7787var afterSwitch = new BasicBlockBuilder(BasicBlockKind.Block); 7794var afterArm = new BasicBlockBuilder(BasicBlockKind.Block);
Microsoft.CodeAnalysis.Analyzers (4)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (2)
16Debug.Assert(firstBlock.Kind == BasicBlockKind.Entry); 23Debug.Assert(lastBlock.Kind == BasicBlockKind.Exit);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102if (basicBlock.Kind == BasicBlockKind.Entry)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
369basicBlock.Kind == BasicBlockKind.Entry ||
Microsoft.CodeAnalysis.AnalyzerUtilities (18)
src\roslyn\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\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (1)
103if (block.Kind == BasicBlockKind.Exit)
src\roslyn\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\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (2)
16Debug.Assert(firstBlock.Kind == BasicBlockKind.Entry); 23Debug.Assert(lastBlock.Kind == BasicBlockKind.Exit);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102if (basicBlock.Kind == BasicBlockKind.Entry)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
369basicBlock.Kind == BasicBlockKind.Entry ||
Microsoft.CodeAnalysis.CodeStyle (4)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (2)
16Debug.Assert(firstBlock.Kind == BasicBlockKind.Entry); 23Debug.Assert(lastBlock.Kind == BasicBlockKind.Exit);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102if (basicBlock.Kind == BasicBlockKind.Entry)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
369basicBlock.Kind == BasicBlockKind.Entry ||
Microsoft.CodeAnalysis.ResxSourceGenerator (4)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (2)
16Debug.Assert(firstBlock.Kind == BasicBlockKind.Entry); 23Debug.Assert(lastBlock.Kind == BasicBlockKind.Exit);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102if (basicBlock.Kind == BasicBlockKind.Entry)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
369basicBlock.Kind == BasicBlockKind.Entry ||
Microsoft.CodeAnalysis.Workspaces (4)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (2)
16Debug.Assert(firstBlock.Kind == BasicBlockKind.Entry); 23Debug.Assert(lastBlock.Kind == BasicBlockKind.Exit);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102if (basicBlock.Kind == BasicBlockKind.Entry)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
369basicBlock.Kind == BasicBlockKind.Entry ||
Roslyn.Diagnostics.Analyzers (4)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowGraphExtensions.cs (2)
16Debug.Assert(firstBlock.Kind == BasicBlockKind.Entry); 23Debug.Assert(lastBlock.Kind == BasicBlockKind.Exit);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102if (basicBlock.Kind == BasicBlockKind.Entry)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
369basicBlock.Kind == BasicBlockKind.Entry ||