91 references to BasicBlockKind
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)); 1345AppendNewBlock(new BasicBlockBuilder(BasicBlockKind.Block)); 1576var afterIf = new BasicBlockBuilder(BasicBlockKind.Block); 1608var afterIf = new BasicBlockBuilder(BasicBlockKind.Block); 2332var done = new BasicBlockBuilder(BasicBlockKind.Block); 2333var checkRight = new BasicBlockBuilder(BasicBlockKind.Block); 2334var resultIsLeft = new BasicBlockBuilder(BasicBlockKind.Block); 2401var done = new BasicBlockBuilder(BasicBlockKind.Block); 2402var checkRight = new BasicBlockBuilder(BasicBlockKind.Block); 2464var done = new BasicBlockBuilder(BasicBlockKind.Block); 2465var doBitWise = new BasicBlockBuilder(BasicBlockKind.Block); 2561var done = new BasicBlockBuilder(BasicBlockKind.Block); 2562var doBitWise = new BasicBlockBuilder(BasicBlockKind.Block); 2670var labEnd = new BasicBlockBuilder(BasicBlockKind.Block); 2776dest ??= new BasicBlockBuilder(BasicBlockKind.Block); 2797BasicBlockBuilder? fallThrough = new BasicBlockBuilder(BasicBlockKind.Block); 2861var afterIf = new BasicBlockBuilder(BasicBlockKind.Block); 2880var whenNull = new BasicBlockBuilder(BasicBlockKind.Block); 2886dest ??= new BasicBlockBuilder(BasicBlockKind.Block); 2890var afterCoalesce = new BasicBlockBuilder(BasicBlockKind.Block); 2914dest ??= new BasicBlockBuilder(BasicBlockKind.Block); 2924dest ??= new BasicBlockBuilder(BasicBlockKind.Block); 3034var whenNull = new BasicBlockBuilder(BasicBlockKind.Block); 3038var afterCoalesce = new BasicBlockBuilder(BasicBlockKind.Block); 3107var whenNull = new BasicBlockBuilder(BasicBlockKind.Block); 3108var afterCoalesce = new BasicBlockBuilder(BasicBlockKind.Block); 3361var whenNull = new BasicBlockBuilder(BasicBlockKind.Block); 3430var afterAccess = new BasicBlockBuilder(BasicBlockKind.Block); 3604var start = new BasicBlockBuilder(BasicBlockKind.Block); 3676var catchBlock = new BasicBlockBuilder(BasicBlockKind.Block); 3689var continueDispatchBlock = new BasicBlockBuilder(BasicBlockKind.Block); 3749AppendNewBlock(new BasicBlockBuilder(BasicBlockKind.Block)); 3751var continueDispatchBlock = new BasicBlockBuilder(BasicBlockKind.Block); 3853labeled = new BasicBlockBuilder(BasicBlockKind.Block); 3863return new BasicBlockBuilder(BasicBlockKind.Block); 3877labeledBlock = new BasicBlockBuilder(BasicBlockKind.Block); 3907AppendNewBlock(new BasicBlockBuilder(BasicBlockKind.Block), linkToPrevious: false); 4065var afterTryFinally = new BasicBlockBuilder(BasicBlockKind.Block); 4096var endOfFinally = new BasicBlockBuilder(BasicBlockKind.Block); 4101AppendNewBlock(new BasicBlockBuilder(BasicBlockKind.Block)); 4276var afterTryFinally = new BasicBlockBuilder(BasicBlockKind.Block); 4318var endOfFinally = new BasicBlockBuilder(BasicBlockKind.Block); 4322AppendNewBlock(new BasicBlockBuilder(BasicBlockKind.Block)); 4449var afterTryFinally = new BasicBlockBuilder(BasicBlockKind.Block); 4648BasicBlockBuilder checkConditionBlock = new BasicBlockBuilder(BasicBlockKind.Block); 4649BasicBlockBuilder bodyBlock = new BasicBlockBuilder(BasicBlockKind.Block); 4841var afterPositiveCheck = new BasicBlockBuilder(BasicBlockKind.Block); 4845var whenNotNull = new BasicBlockBuilder(BasicBlockKind.Block); 4952var notPositive = new BasicBlockBuilder(BasicBlockKind.Block); 5070var whenBothNotNull = new BasicBlockBuilder(BasicBlockKind.Block); 5091var notPositive = new BasicBlockBuilder(BasicBlockKind.Block); 5221BasicBlockBuilder afterIncrement = new BasicBlockBuilder(BasicBlockKind.Block); 5233BasicBlockBuilder whenNotNull = new BasicBlockBuilder(BasicBlockKind.Block); 5409var body = new BasicBlockBuilder(BasicBlockKind.Block); 5410var nextSection = new BasicBlockBuilder(BasicBlockKind.Block); 5425var nextCase = new BasicBlockBuilder(BasicBlockKind.Block); 5520AppendNewBlock(new BasicBlockBuilder(BasicBlockKind.Block)); 5607AppendNewBlock(new BasicBlockBuilder(BasicBlockKind.Block), linkToPrevious: false); 5651var start = new BasicBlockBuilder(BasicBlockKind.Block); 5733afterInitialization = new BasicBlockBuilder(BasicBlockKind.Block); 6563resultBlock = new BasicBlockBuilder(BasicBlockKind.Block); 7479var afterSwitch = new BasicBlockBuilder(BasicBlockKind.Block); 7486var afterArm = new BasicBlockBuilder(BasicBlockKind.Block);
Microsoft.CodeAnalysis.CodeStyle (4)
ControlFlowGraphExtensions.cs (2)
16Debug.Assert(firstBlock.Kind == BasicBlockKind.Entry); 23Debug.Assert(lastBlock.Kind == BasicBlockKind.Exit);
SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102if (basicBlock.Kind == BasicBlockKind.Entry)
SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
354basicBlock.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)
ControlFlowGraphExtensions.cs (2)
16Debug.Assert(firstBlock.Kind == BasicBlockKind.Entry); 23Debug.Assert(lastBlock.Kind == BasicBlockKind.Exit);
SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102if (basicBlock.Kind == BasicBlockKind.Entry)
SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
354basicBlock.Kind == BasicBlockKind.Entry ||