93 references to BasicBlockKind
ILLink.RoslynAnalyzer (2)
DataFlow\ControlFlowGraphExtensions.cs (2)
18
Debug.Assert (firstBlock.Kind ==
BasicBlockKind
.Entry);
25
Debug.Assert (lastBlock.Kind ==
BasicBlockKind
.Exit);
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));
1345
AppendNewBlock(new BasicBlockBuilder(
BasicBlockKind
.Block));
1562
var afterIf = new BasicBlockBuilder(
BasicBlockKind
.Block);
1614
var afterIf = new BasicBlockBuilder(
BasicBlockKind
.Block);
2349
var done = new BasicBlockBuilder(
BasicBlockKind
.Block);
2350
var checkRight = new BasicBlockBuilder(
BasicBlockKind
.Block);
2351
var resultIsLeft = new BasicBlockBuilder(
BasicBlockKind
.Block);
2418
var done = new BasicBlockBuilder(
BasicBlockKind
.Block);
2419
var checkRight = new BasicBlockBuilder(
BasicBlockKind
.Block);
2481
var done = new BasicBlockBuilder(
BasicBlockKind
.Block);
2482
var doBitWise = new BasicBlockBuilder(
BasicBlockKind
.Block);
2578
var done = new BasicBlockBuilder(
BasicBlockKind
.Block);
2579
var doBitWise = new BasicBlockBuilder(
BasicBlockKind
.Block);
2687
var labEnd = new BasicBlockBuilder(
BasicBlockKind
.Block);
2793
dest ??= new BasicBlockBuilder(
BasicBlockKind
.Block);
2814
BasicBlockBuilder? fallThrough = new BasicBlockBuilder(
BasicBlockKind
.Block);
2878
var afterIf = new BasicBlockBuilder(
BasicBlockKind
.Block);
2897
var whenNull = new BasicBlockBuilder(
BasicBlockKind
.Block);
2903
dest ??= new BasicBlockBuilder(
BasicBlockKind
.Block);
2907
var afterCoalesce = new BasicBlockBuilder(
BasicBlockKind
.Block);
2931
dest ??= new BasicBlockBuilder(
BasicBlockKind
.Block);
2941
dest ??= new BasicBlockBuilder(
BasicBlockKind
.Block);
3051
var whenNull = new BasicBlockBuilder(
BasicBlockKind
.Block);
3055
var afterCoalesce = new BasicBlockBuilder(
BasicBlockKind
.Block);
3124
var whenNull = new BasicBlockBuilder(
BasicBlockKind
.Block);
3125
var afterCoalesce = new BasicBlockBuilder(
BasicBlockKind
.Block);
3378
var whenNull = new BasicBlockBuilder(
BasicBlockKind
.Block);
3447
var afterAccess = new BasicBlockBuilder(
BasicBlockKind
.Block);
3621
var start = new BasicBlockBuilder(
BasicBlockKind
.Block);
3693
var catchBlock = new BasicBlockBuilder(
BasicBlockKind
.Block);
3706
var continueDispatchBlock = new BasicBlockBuilder(
BasicBlockKind
.Block);
3766
AppendNewBlock(new BasicBlockBuilder(
BasicBlockKind
.Block));
3768
var continueDispatchBlock = new BasicBlockBuilder(
BasicBlockKind
.Block);
3870
labeled = new BasicBlockBuilder(
BasicBlockKind
.Block);
3880
return new BasicBlockBuilder(
BasicBlockKind
.Block);
3894
labeledBlock = new BasicBlockBuilder(
BasicBlockKind
.Block);
3924
AppendNewBlock(new BasicBlockBuilder(
BasicBlockKind
.Block), linkToPrevious: false);
4085
var afterTryFinally = new BasicBlockBuilder(
BasicBlockKind
.Block);
4117
var endOfFinally = new BasicBlockBuilder(
BasicBlockKind
.Block);
4122
AppendNewBlock(new BasicBlockBuilder(
BasicBlockKind
.Block));
4357
var afterTryFinally = new BasicBlockBuilder(
BasicBlockKind
.Block);
4399
var endOfFinally = new BasicBlockBuilder(
BasicBlockKind
.Block);
4403
AppendNewBlock(new BasicBlockBuilder(
BasicBlockKind
.Block));
4530
var afterTryFinally = new BasicBlockBuilder(
BasicBlockKind
.Block);
4745
BasicBlockBuilder checkConditionBlock = new BasicBlockBuilder(
BasicBlockKind
.Block);
4746
BasicBlockBuilder bodyBlock = new BasicBlockBuilder(
BasicBlockKind
.Block);
4938
var afterPositiveCheck = new BasicBlockBuilder(
BasicBlockKind
.Block);
4942
var whenNotNull = new BasicBlockBuilder(
BasicBlockKind
.Block);
5049
var notPositive = new BasicBlockBuilder(
BasicBlockKind
.Block);
5167
var whenBothNotNull = new BasicBlockBuilder(
BasicBlockKind
.Block);
5188
var notPositive = new BasicBlockBuilder(
BasicBlockKind
.Block);
5318
BasicBlockBuilder afterIncrement = new BasicBlockBuilder(
BasicBlockKind
.Block);
5330
BasicBlockBuilder whenNotNull = new BasicBlockBuilder(
BasicBlockKind
.Block);
5506
var body = new BasicBlockBuilder(
BasicBlockKind
.Block);
5507
var nextSection = new BasicBlockBuilder(
BasicBlockKind
.Block);
5522
var nextCase = new BasicBlockBuilder(
BasicBlockKind
.Block);
5617
AppendNewBlock(new BasicBlockBuilder(
BasicBlockKind
.Block));
5704
AppendNewBlock(new BasicBlockBuilder(
BasicBlockKind
.Block), linkToPrevious: false);
5748
var start = new BasicBlockBuilder(
BasicBlockKind
.Block);
5830
afterInitialization = new BasicBlockBuilder(
BasicBlockKind
.Block);
6801
resultBlock = new BasicBlockBuilder(
BasicBlockKind
.Block);
7745
var afterSwitch = new BasicBlockBuilder(
BasicBlockKind
.Block);
7752
var afterArm = new BasicBlockBuilder(
BasicBlockKind
.Block);
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)
354
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)
354
basicBlock.Kind ==
BasicBlockKind
.Entry ||