1 write to FirstBlockOrdinal
Microsoft.CodeAnalysis (1)
Operations\ControlFlowRegion.cs (1)
75FirstBlockOrdinal = firstBlockOrdinal;
54 references to FirstBlockOrdinal
ILLink.RoslynAnalyzer (1)
DataFlow\ControlFlowGraphProxy.cs (1)
232 new BlockProxy (ControlFlowGraph.Blocks[region.Region.FirstBlockOrdinal]);
Microsoft.CodeAnalysis (12)
Operations\ControlFlowGraph.cs (1)
47Debug.Assert(root.FirstBlockOrdinal == 0);
Operations\ControlFlowGraphBuilder.cs (4)
381@finally.FirstBlockOrdinal, 472toVisit.Add(blocks[@catch.FirstBlockOrdinal]); 476BasicBlockBuilder entryBlock = blocks[@catch.FirstBlockOrdinal]; 478Debug.Assert(entryBlock.Ordinal == @catch.NestedRegions[0].FirstBlockOrdinal);
Operations\ControlFlowGraphBuilder.RegionBuilder.cs (1)
356for (int i = firstBlockWithoutRegion; i < region.FirstBlockOrdinal; i++)
Operations\ControlFlowRegion.cs (6)
99Debug.Assert(NestedRegions[0].FirstBlockOrdinal == firstBlockOrdinal); 101Debug.Assert(NestedRegions[0].LastBlockOrdinal + 1 == NestedRegions[1].FirstBlockOrdinal); 107Debug.Assert(NestedRegions[0].FirstBlockOrdinal == firstBlockOrdinal); 113Debug.Assert(previousLast + 1 == r.FirstBlockOrdinal); 134Debug.Assert(previousLast < r.FirstBlockOrdinal); 149return FirstBlockOrdinal <= destinationOrdinal && LastBlockOrdinal >= destinationOrdinal;
Microsoft.CodeAnalysis.CodeStyle (12)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowRegionExtensions.cs (1)
10=> region.FirstBlockOrdinal <= destinationOrdinal && region.LastBlockOrdinal >= destinationOrdinal;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (7)
134if (current.Ordinal == current.EnclosingRegion.FirstBlockOrdinal) 281var previousAnalysisData = analyzer.GetCurrentAnalysisData(blocks[@finally.FirstBlockOrdinal]); 291@finally.FirstBlockOrdinal, 327var currentAnalysisData = analyzer.GetCurrentAnalysisData(blocks[fromRegion.FirstBlockOrdinal]); 385toVisit.Add(@catch.FirstBlockOrdinal); 389var entryBlock = blocks[@catch.FirstBlockOrdinal]; 391Debug.Assert(entryBlock.Ordinal == @catch.NestedRegions[0].FirstBlockOrdinal);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (4)
355basicBlock.EnclosingRegion.FirstBlockOrdinal != basicBlock.Ordinal) 362while (outermostEnclosingRegionStartingBlock.EnclosingRegion?.FirstBlockOrdinal == basicBlock.Ordinal) 398var firstBasicBlockInOutermostRegion = ControlFlowGraph.Blocks[containingTryCatchFinallyRegion.FirstBlockOrdinal]; 403foreach (var (symbol, write) in GetOrCreateSymbolWritesInBlockRange(containingTryCatchFinallyRegion.FirstBlockOrdinal, basicBlock.Ordinal - 1, cancellationToken))
Microsoft.CodeAnalysis.Test.Utilities (17)
Compilation\ControlFlowGraphVerifier.cs (9)
145Assert.Equal(0, currentRegion.FirstBlockOrdinal); 399if (region.FirstBlockOrdinal != block.Ordinal) 739adjustAndGetEntryState(entryStates, blocks[region.EnclosingRegion.NestedRegions[1].FirstBlockOrdinal], state); 748adjustAndGetEntryState(entryStates, blocks[@finally.FirstBlockOrdinal], state); 1306for (int i = lastBlockOrdinal; i >= region.FirstBlockOrdinal; i--) 1320Debug.Assert(firstBlockOrdinal >= region.FirstBlockOrdinal); 1415if (region.FirstBlockOrdinal != firstBlockOrdinal) 1436Assert.Equal(firstBlockOrdinal, region.EnclosingRegion.FirstBlockOrdinal); 1442Assert.Equal(firstBlockOrdinal, region.EnclosingRegion.FirstBlockOrdinal);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowRegionExtensions.cs (1)
10=> region.FirstBlockOrdinal <= destinationOrdinal && region.LastBlockOrdinal >= destinationOrdinal;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (7)
134if (current.Ordinal == current.EnclosingRegion.FirstBlockOrdinal) 281var previousAnalysisData = analyzer.GetCurrentAnalysisData(blocks[@finally.FirstBlockOrdinal]); 291@finally.FirstBlockOrdinal, 327var currentAnalysisData = analyzer.GetCurrentAnalysisData(blocks[fromRegion.FirstBlockOrdinal]); 385toVisit.Add(@catch.FirstBlockOrdinal); 389var entryBlock = blocks[@catch.FirstBlockOrdinal]; 391Debug.Assert(entryBlock.Ordinal == @catch.NestedRegions[0].FirstBlockOrdinal);
Microsoft.CodeAnalysis.Workspaces (12)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ControlFlowRegionExtensions.cs (1)
10=> region.FirstBlockOrdinal <= destinationOrdinal && region.LastBlockOrdinal >= destinationOrdinal;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (7)
134if (current.Ordinal == current.EnclosingRegion.FirstBlockOrdinal) 281var previousAnalysisData = analyzer.GetCurrentAnalysisData(blocks[@finally.FirstBlockOrdinal]); 291@finally.FirstBlockOrdinal, 327var currentAnalysisData = analyzer.GetCurrentAnalysisData(blocks[fromRegion.FirstBlockOrdinal]); 385toVisit.Add(@catch.FirstBlockOrdinal); 389var entryBlock = blocks[@catch.FirstBlockOrdinal]; 391Debug.Assert(entryBlock.Ordinal == @catch.NestedRegions[0].FirstBlockOrdinal);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (4)
355basicBlock.EnclosingRegion.FirstBlockOrdinal != basicBlock.Ordinal) 362while (outermostEnclosingRegionStartingBlock.EnclosingRegion?.FirstBlockOrdinal == basicBlock.Ordinal) 398var firstBasicBlockInOutermostRegion = ControlFlowGraph.Blocks[containingTryCatchFinallyRegion.FirstBlockOrdinal]; 403foreach (var (symbol, write) in GetOrCreateSymbolWritesInBlockRange(containingTryCatchFinallyRegion.FirstBlockOrdinal, basicBlock.Ordinal - 1, cancellationToken))