1 write to Ordinal
Microsoft.CodeAnalysis (1)
Operations\BasicBlock.cs (1)
41Ordinal = ordinal;
82 references to Ordinal
ILLink.RoslynAnalyzer (5)
DataFlow\ControlFlowGraphProxy.cs (1)
30 return base.ToString () + $"[{Block.Ordinal}]";
TrimAnalysis\TrimDataFlowAnalysis.cs (4)
114 TraceWrite ("block " + block.Block.Ordinal + ": "); 125 TraceWrite (predProxy.Block.Ordinal + " "); 185 var source = branch.Source.Block.Ordinal; 186 var target = branch.Destination?.Block.Ordinal;
Microsoft.CodeAnalysis (6)
Operations\ControlFlowBranch.cs (2)
72result = CollectRegions(Destination.Ordinal, Source.EnclosingRegion).ToImmutableAndFree(); 115ArrayBuilder<ControlFlowRegion> builder = CollectRegions(Source.Ordinal, Destination.EnclosingRegion);
Operations\ControlFlowGraphBuilder.BasicBlockBuilder.cs (2)
271int result = x.Source.Ordinal - y.Source.Ordinal;
Operations\ControlFlowRegion.cs (2)
34/// Ordinal (<see cref="BasicBlock.Ordinal"/>) of the first <see cref="BasicBlock"/> within the region. 39/// Ordinal (<see cref="BasicBlock.Ordinal"/>) of the last <see cref="BasicBlock"/> within the region.
Microsoft.CodeAnalysis.CodeStyle (16)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (13)
83toVisit.Add(firstBlock.Ordinal); 106if (unreachableBlock.Ordinal >= firstBlockOrdinal && unreachableBlock.Ordinal <= lastBlockOrdinal) 128if (current.Ordinal < firstBlockOrdinal || current.Ordinal > lastBlockOrdinal) 130outOfRangeBlocksToVisit.Add(current.Ordinal); 134if (current.Ordinal == current.EnclosingRegion.FirstBlockOrdinal) 177current.Ordinal == lastBlockOrdinal) 185if (current.Ordinal == lastBlockOrdinal) 229if (StepThroughFinally(current.EnclosingRegion, branch.Destination.Ordinal, ref currentAnalsisData)) 242toVisit.Add(branch.Destination.Ordinal); 391Debug.Assert(entryBlock.Ordinal == @catch.NestedRegions[0].FirstBlockOrdinal); 393toVisit.Add(entryBlock.Ordinal);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (3)
355basicBlock.EnclosingRegion.FirstBlockOrdinal != basicBlock.Ordinal) 362while (outermostEnclosingRegionStartingBlock.EnclosingRegion?.FirstBlockOrdinal == basicBlock.Ordinal) 403foreach (var (symbol, write) in GetOrCreateSymbolWritesInBlockRange(containingTryCatchFinallyRegion.FirstBlockOrdinal, basicBlock.Ordinal - 1, cancellationToken))
Microsoft.CodeAnalysis.Test.Utilities (39)
Compilation\ControlFlowGraphVerifier.cs (26)
126Assert.Equal(i, block.Ordinal); 173enterRegions(block.EnclosingRegion, block.Ordinal); 195Assert.True(previousPredecessorOrdinal < predecessor.Ordinal); 196previousPredecessorOrdinal = predecessor.Ordinal; 197Assert.Same(blocks[predecessor.Ordinal], predecessor); 251Assert.Same(blocks[conditionalBranch.Destination.Ordinal], conditionalBranch.Destination); 290Assert.Same(blocks[nextBranch.Destination.Ordinal], nextBranch.Destination); 296Assert.Equal(block.EnclosingRegion.LastBlockOrdinal, block.Ordinal); 318if (currentRegion.LastBlockOrdinal == block.Ordinal && i != blocks.Length - 1) 320leaveRegions(block.EnclosingRegion, block.Ordinal); 395if (predecessor.Source.Ordinal >= i) 399if (region.FirstBlockOrdinal != block.Ordinal) 464while (region.LastBlockOrdinal == block.Ordinal) 486for (int i = block.Ordinal; i > 0 && lastOperation == null; i--) 517if (region.LastBlockOrdinal != block.Ordinal && referencedIds.Contains(id)) 522IFlowCaptureReferenceOperation[] referencesAfter = getFlowCaptureReferenceOperationsInRegion(region, block.Ordinal + 1).Where(r => r.Id.Equals(id)).ToArray(); 541foreach (IFlowCaptureOperation candidate in getFlowCaptureOperationsFromBlocksInRegion(region, block.Ordinal)) 568foreach (IFlowCaptureOperation candidate in getFlowCaptureOperationsFromBlocksInRegion(region, block.Ordinal)) 602foreach (IFlowCaptureOperation candidate in getFlowCaptureOperationsFromBlocksInRegion(region, block.Ordinal)) 645foreach (IFlowCaptureOperation candidate in getFlowCaptureOperationsFromBlocksInRegion(region, block.Ordinal)) 688foreach (IFlowCaptureOperation candidate in getFlowCaptureOperationsFromBlocksInRegion(region, block.Ordinal)) 717if (branch.Destination.Ordinal > branch.Source.Ordinal) 754PooledHashSet<CaptureId> entryState = entryStates[block.Ordinal]; 759entryStates[block.Ordinal] = entryState; 1771return $"B{block.Ordinal}{idSuffix}";
Compilation\FlowAnalysis\BasicBlockReachabilityDataFlowAnalyzer.cs (2)
63_visited[basicBlock.Ordinal] = isReachable; 66public override bool GetCurrentAnalysisData(BasicBlock basicBlock) => _visited[basicBlock.Ordinal];
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (11)
83toVisit.Add(firstBlock.Ordinal); 128if (current.Ordinal < firstBlockOrdinal || current.Ordinal > lastBlockOrdinal) 130outOfRangeBlocksToVisit.Add(current.Ordinal); 134if (current.Ordinal == current.EnclosingRegion.FirstBlockOrdinal) 177current.Ordinal == lastBlockOrdinal) 185if (current.Ordinal == lastBlockOrdinal) 229if (StepThroughFinally(current.EnclosingRegion, branch.Destination.Ordinal, ref currentAnalsisData)) 242toVisit.Add(branch.Destination.Ordinal); 391Debug.Assert(entryBlock.Ordinal == @catch.NestedRegions[0].FirstBlockOrdinal); 393toVisit.Add(entryBlock.Ordinal);
Microsoft.CodeAnalysis.Workspaces (16)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (13)
83toVisit.Add(firstBlock.Ordinal); 106if (unreachableBlock.Ordinal >= firstBlockOrdinal && unreachableBlock.Ordinal <= lastBlockOrdinal) 128if (current.Ordinal < firstBlockOrdinal || current.Ordinal > lastBlockOrdinal) 130outOfRangeBlocksToVisit.Add(current.Ordinal); 134if (current.Ordinal == current.EnclosingRegion.FirstBlockOrdinal) 177current.Ordinal == lastBlockOrdinal) 185if (current.Ordinal == lastBlockOrdinal) 229if (StepThroughFinally(current.EnclosingRegion, branch.Destination.Ordinal, ref currentAnalsisData)) 242toVisit.Add(branch.Destination.Ordinal); 391Debug.Assert(entryBlock.Ordinal == @catch.NestedRegions[0].FirstBlockOrdinal); 393toVisit.Add(entryBlock.Ordinal);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (3)
355basicBlock.EnclosingRegion.FirstBlockOrdinal != basicBlock.Ordinal) 362while (outermostEnclosingRegionStartingBlock.EnclosingRegion?.FirstBlockOrdinal == basicBlock.Ordinal) 403foreach (var (symbol, write) in GetOrCreateSymbolWritesInBlockRange(containingTryCatchFinallyRegion.FirstBlockOrdinal, basicBlock.Ordinal - 1, cancellationToken))