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