1 write to Ordinal
Microsoft.CodeAnalysis (1)
Operations\BasicBlock.cs (1)
41
Ordinal
= ordinal;
174 references to Ordinal
GenerateDocumentationAndConfigFiles (16)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (13)
82
toVisit.Add(firstBlock.
Ordinal
);
105
if (unreachableBlock.
Ordinal
>= firstBlockOrdinal && unreachableBlock.
Ordinal
<= lastBlockOrdinal)
127
if (current.
Ordinal
< firstBlockOrdinal || current.
Ordinal
> lastBlockOrdinal)
129
outOfRangeBlocksToVisit.Add(current.
Ordinal
);
133
if (current.
Ordinal
== current.EnclosingRegion.FirstBlockOrdinal)
176
current.
Ordinal
== lastBlockOrdinal)
184
if (current.
Ordinal
== lastBlockOrdinal)
229
if (StepThroughFinally(current.EnclosingRegion, branch.Destination.
Ordinal
, ref currentAnalsisData))
242
toVisit.Add(branch.Destination.
Ordinal
);
391
Debug.Assert(entryBlock.
Ordinal
== @catch.NestedRegions[0].FirstBlockOrdinal);
393
toVisit.Add(entryBlock.
Ordinal
);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (3)
370
basicBlock.EnclosingRegion.FirstBlockOrdinal != basicBlock.
Ordinal
)
377
while (outermostEnclosingRegionStartingBlock.EnclosingRegion?.FirstBlockOrdinal == basicBlock.
Ordinal
)
418
foreach (var (symbol, write) in GetOrCreateSymbolWritesInBlockRange(containingTryCatchFinallyRegion.FirstBlockOrdinal, basicBlock.
Ordinal
- 1, cancellationToken))
ILLink.RoslynAnalyzer (5)
DataFlow\ControlFlowGraphProxy.cs (1)
30
return base.ToString() + $"[{Block.
Ordinal
}]";
TrimAnalysis\TrimDataFlowAnalysis.cs (4)
115
TraceWrite("block " + block.Block.
Ordinal
+ ": ");
132
TraceWrite(predProxy.Block.
Ordinal
+ " ");
199
var source = branch.Source.Block.
Ordinal
;
200
var target = branch.Destination?.Block.
Ordinal
;
Microsoft.CodeAnalysis (6)
Operations\ControlFlowBranch.cs (2)
72
result = CollectRegions(Destination.
Ordinal
, Source.EnclosingRegion).ToImmutableAndFree();
115
ArrayBuilder<ControlFlowRegion> builder = CollectRegions(Source.
Ordinal
, Destination.EnclosingRegion);
Operations\ControlFlowGraphBuilder.BasicBlockBuilder.cs (2)
271
int 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.Analyzers (16)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (13)
82
toVisit.Add(firstBlock.
Ordinal
);
105
if (unreachableBlock.
Ordinal
>= firstBlockOrdinal && unreachableBlock.
Ordinal
<= lastBlockOrdinal)
127
if (current.
Ordinal
< firstBlockOrdinal || current.
Ordinal
> lastBlockOrdinal)
129
outOfRangeBlocksToVisit.Add(current.
Ordinal
);
133
if (current.
Ordinal
== current.EnclosingRegion.FirstBlockOrdinal)
176
current.
Ordinal
== lastBlockOrdinal)
184
if (current.
Ordinal
== lastBlockOrdinal)
229
if (StepThroughFinally(current.EnclosingRegion, branch.Destination.
Ordinal
, ref currentAnalsisData))
242
toVisit.Add(branch.Destination.
Ordinal
);
391
Debug.Assert(entryBlock.
Ordinal
== @catch.NestedRegions[0].FirstBlockOrdinal);
393
toVisit.Add(entryBlock.
Ordinal
);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (3)
370
basicBlock.EnclosingRegion.FirstBlockOrdinal != basicBlock.
Ordinal
)
377
while (outermostEnclosingRegionStartingBlock.EnclosingRegion?.FirstBlockOrdinal == basicBlock.
Ordinal
)
418
foreach (var (symbol, write) in GetOrCreateSymbolWritesInBlockRange(containingTryCatchFinallyRegion.FirstBlockOrdinal, basicBlock.
Ordinal
- 1, cancellationToken))
Microsoft.CodeAnalysis.AnalyzerUtilities (67)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\Extensions\BasicBlockExtensions.cs (11)
106
if (ordinalToCompare != basicBlock.
Ordinal
)
146
if (basicBlock.EnclosingRegion?.FirstBlockOrdinal != basicBlock.
Ordinal
)
155
if (enclosingRegion?.FirstBlockOrdinal != basicBlock.
Ordinal
)
172
=> Math.Max(basicBlock.FallThroughSuccessor?.Destination?.
Ordinal
?? -1,
173
basicBlock.ConditionalSuccessor?.Destination?.
Ordinal
?? -1);
193
processedOrdinals.Add(sourceBlock.
Ordinal
);
199
Debug.Assert(ordinal < basicBlock.
Ordinal
);
227
if (!processedOrdinals.Contains(destinationBlock.
Ordinal
))
229
unprocessedOrdinals.Add(destinationBlock.
Ordinal
);
232
return destinationBlock.
Ordinal
<= basicBlock.
Ordinal
;
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\Extensions\ControlFlowBranchExtensions.cs (2)
12
controlFlowBranch.Source.
Ordinal
>= controlFlowBranch.Destination.
Ordinal
;
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowAnalysis.cs (36)
70
using var pendingBlocksNeedingAtLeastOnePass = PooledSortedSet<int>.GetInstance(cfg.Blocks.Select(b => b.
Ordinal
));
114
worklist.Add(entry.
Ordinal
);
137
blockToUniqueInputFlowMap[block.
Ordinal
] = null;
147
worklist.Add(block.
Ordinal
);
151
pendingBlocksNeedingAtLeastOnePass.Add(block.
Ordinal
);
202
unreachableBlocks.Add(block.
Ordinal
);
254
var isUnreachableBlock = unreachableBlocks.Contains(block.
Ordinal
);
263
inputDataFromInfeasibleBranchesMap.TryGetValue(block.
Ordinal
, out var currentInfeasibleData))
269
inputDataFromInfeasibleBranchesMap.Remove(block.
Ordinal
);
280
Debug.Assert(block.EnclosingRegion.FirstBlockOrdinal == block.
Ordinal
);
285
blockToUniqueInputFlowMap[block.
Ordinal
] = null;
300
block.EnclosingRegion.EnclosingRegion.FirstBlockOrdinal == block.
Ordinal
)
366
var isBackEdge = block.
Ordinal
>= successorBlock.
Ordinal
;
367
if (isUnreachableBlock && !unreachableBlocks.Contains(successorBlock.
Ordinal
))
376
if (inputDataFromInfeasibleBranchesMap.TryGetValue(successorBlock.
Ordinal
, out TAnalysisData currentInfeasibleData))
384
inputDataFromInfeasibleBranchesMap[successorBlock.
Ordinal
] = newSuccessorInput;
398
blockToUniqueInputFlowMap.TryGetValue(successorBlock.
Ordinal
, out var uniqueInputBranchOpt) &&
400
uniqueInputBranchOpt.Value.Ordinal != block.
Ordinal
||
409
blockToUniqueInputFlowMap[successorBlock.
Ordinal
] = null;
443
blockToUniqueInputFlowMap[successorBlock.
Ordinal
] = (block.
Ordinal
, blockToSuccessorBranchKind);
454
var dominatorBlockOrdinal = loopRangeMap[successorBlock.
Ordinal
];
455
Debug.Assert(dominatorBlockOrdinal >= block.
Ordinal
);
456
Debug.Assert(dominatorBlockOrdinal >= successorBlock.
Ordinal
);
458
for (int i = successorBlock.
Ordinal
; i <= dominatorBlockOrdinal + 1; i++)
466
worklist.Add(successorBlock.
Ordinal
);
498
if (catchRegion == null || sourceBlock.
Ordinal
>= catchRegion.FirstBlockOrdinal)
587
predecessorWithBranch.predecessorBlock.
Ordinal
< block.
Ordinal
&&
588
pendingBlocksNeedingAtLeastOnePass.Contains(predecessorWithBranch.predecessorBlock.
Ordinal
));
594
if (block.EnclosingRegion?.FirstBlockOrdinal == block.
Ordinal
)
625
if (finallyBlockSuccessorsMap.TryGetValue(basicBlock.
Ordinal
, out var finallySuccessors))
817
if (branch?.Destination != null && branch.IsBackEdge() && !loopRangeMap.ContainsKey(branch.Destination.
Ordinal
))
819
var maxSuccessorOrdinal = Math.Max(branch.Destination.GetMaxSuccessorOrdinal(), branch.Source.
Ordinal
);
826
loopRangeMap.Add(branch.Destination.
Ordinal
, maxSuccessorOrdinal);
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (1)
479
block.EnclosingRegion.LastBlockOrdinal == block.
Ordinal
)
src\roslyn\src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\ThrownExceptionInfo.cs (1)
23
BasicBlockOrdinal = block.
Ordinal
;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (13)
82
toVisit.Add(firstBlock.
Ordinal
);
105
if (unreachableBlock.
Ordinal
>= firstBlockOrdinal && unreachableBlock.
Ordinal
<= lastBlockOrdinal)
127
if (current.
Ordinal
< firstBlockOrdinal || current.
Ordinal
> lastBlockOrdinal)
129
outOfRangeBlocksToVisit.Add(current.
Ordinal
);
133
if (current.
Ordinal
== current.EnclosingRegion.FirstBlockOrdinal)
176
current.
Ordinal
== lastBlockOrdinal)
184
if (current.
Ordinal
== lastBlockOrdinal)
229
if (StepThroughFinally(current.EnclosingRegion, branch.Destination.
Ordinal
, ref currentAnalsisData))
242
toVisit.Add(branch.Destination.
Ordinal
);
391
Debug.Assert(entryBlock.
Ordinal
== @catch.NestedRegions[0].FirstBlockOrdinal);
393
toVisit.Add(entryBlock.
Ordinal
);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (3)
370
basicBlock.EnclosingRegion.FirstBlockOrdinal != basicBlock.
Ordinal
)
377
while (outermostEnclosingRegionStartingBlock.EnclosingRegion?.FirstBlockOrdinal == basicBlock.
Ordinal
)
418
foreach (var (symbol, write) in GetOrCreateSymbolWritesInBlockRange(containingTryCatchFinallyRegion.FirstBlockOrdinal, basicBlock.
Ordinal
- 1, cancellationToken))
Microsoft.CodeAnalysis.CodeStyle (16)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (13)
82
toVisit.Add(firstBlock.
Ordinal
);
105
if (unreachableBlock.
Ordinal
>= firstBlockOrdinal && unreachableBlock.
Ordinal
<= lastBlockOrdinal)
127
if (current.
Ordinal
< firstBlockOrdinal || current.
Ordinal
> lastBlockOrdinal)
129
outOfRangeBlocksToVisit.Add(current.
Ordinal
);
133
if (current.
Ordinal
== current.EnclosingRegion.FirstBlockOrdinal)
176
current.
Ordinal
== lastBlockOrdinal)
184
if (current.
Ordinal
== lastBlockOrdinal)
229
if (StepThroughFinally(current.EnclosingRegion, branch.Destination.
Ordinal
, ref currentAnalsisData))
242
toVisit.Add(branch.Destination.
Ordinal
);
391
Debug.Assert(entryBlock.
Ordinal
== @catch.NestedRegions[0].FirstBlockOrdinal);
393
toVisit.Add(entryBlock.
Ordinal
);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (3)
370
basicBlock.EnclosingRegion.FirstBlockOrdinal != basicBlock.
Ordinal
)
377
while (outermostEnclosingRegionStartingBlock.EnclosingRegion?.FirstBlockOrdinal == basicBlock.
Ordinal
)
418
foreach (var (symbol, write) in GetOrCreateSymbolWritesInBlockRange(containingTryCatchFinallyRegion.FirstBlockOrdinal, basicBlock.
Ordinal
- 1, cancellationToken))
Microsoft.CodeAnalysis.ResxSourceGenerator (16)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (13)
82
toVisit.Add(firstBlock.
Ordinal
);
105
if (unreachableBlock.
Ordinal
>= firstBlockOrdinal && unreachableBlock.
Ordinal
<= lastBlockOrdinal)
127
if (current.
Ordinal
< firstBlockOrdinal || current.
Ordinal
> lastBlockOrdinal)
129
outOfRangeBlocksToVisit.Add(current.
Ordinal
);
133
if (current.
Ordinal
== current.EnclosingRegion.FirstBlockOrdinal)
176
current.
Ordinal
== lastBlockOrdinal)
184
if (current.
Ordinal
== lastBlockOrdinal)
229
if (StepThroughFinally(current.EnclosingRegion, branch.Destination.
Ordinal
, ref currentAnalsisData))
242
toVisit.Add(branch.Destination.
Ordinal
);
391
Debug.Assert(entryBlock.
Ordinal
== @catch.NestedRegions[0].FirstBlockOrdinal);
393
toVisit.Add(entryBlock.
Ordinal
);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (3)
370
basicBlock.EnclosingRegion.FirstBlockOrdinal != basicBlock.
Ordinal
)
377
while (outermostEnclosingRegionStartingBlock.EnclosingRegion?.FirstBlockOrdinal == basicBlock.
Ordinal
)
418
foreach (var (symbol, write) in GetOrCreateSymbolWritesInBlockRange(containingTryCatchFinallyRegion.FirstBlockOrdinal, basicBlock.
Ordinal
- 1, cancellationToken))
Microsoft.CodeAnalysis.Workspaces (16)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (13)
82
toVisit.Add(firstBlock.
Ordinal
);
105
if (unreachableBlock.
Ordinal
>= firstBlockOrdinal && unreachableBlock.
Ordinal
<= lastBlockOrdinal)
127
if (current.
Ordinal
< firstBlockOrdinal || current.
Ordinal
> lastBlockOrdinal)
129
outOfRangeBlocksToVisit.Add(current.
Ordinal
);
133
if (current.
Ordinal
== current.EnclosingRegion.FirstBlockOrdinal)
176
current.
Ordinal
== lastBlockOrdinal)
184
if (current.
Ordinal
== lastBlockOrdinal)
229
if (StepThroughFinally(current.EnclosingRegion, branch.Destination.
Ordinal
, ref currentAnalsisData))
242
toVisit.Add(branch.Destination.
Ordinal
);
391
Debug.Assert(entryBlock.
Ordinal
== @catch.NestedRegions[0].FirstBlockOrdinal);
393
toVisit.Add(entryBlock.
Ordinal
);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (3)
370
basicBlock.EnclosingRegion.FirstBlockOrdinal != basicBlock.
Ordinal
)
377
while (outermostEnclosingRegionStartingBlock.EnclosingRegion?.FirstBlockOrdinal == basicBlock.
Ordinal
)
418
foreach (var (symbol, write) in GetOrCreateSymbolWritesInBlockRange(containingTryCatchFinallyRegion.FirstBlockOrdinal, basicBlock.
Ordinal
- 1, cancellationToken))
Roslyn.Diagnostics.Analyzers (16)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (13)
82
toVisit.Add(firstBlock.
Ordinal
);
105
if (unreachableBlock.
Ordinal
>= firstBlockOrdinal && unreachableBlock.
Ordinal
<= lastBlockOrdinal)
127
if (current.
Ordinal
< firstBlockOrdinal || current.
Ordinal
> lastBlockOrdinal)
129
outOfRangeBlocksToVisit.Add(current.
Ordinal
);
133
if (current.
Ordinal
== current.EnclosingRegion.FirstBlockOrdinal)
176
current.
Ordinal
== lastBlockOrdinal)
184
if (current.
Ordinal
== lastBlockOrdinal)
229
if (StepThroughFinally(current.EnclosingRegion, branch.Destination.
Ordinal
, ref currentAnalsisData))
242
toVisit.Add(branch.Destination.
Ordinal
);
391
Debug.Assert(entryBlock.
Ordinal
== @catch.NestedRegions[0].FirstBlockOrdinal);
393
toVisit.Add(entryBlock.
Ordinal
);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (3)
370
basicBlock.EnclosingRegion.FirstBlockOrdinal != basicBlock.
Ordinal
)
377
while (outermostEnclosingRegionStartingBlock.EnclosingRegion?.FirstBlockOrdinal == basicBlock.
Ordinal
)
418
foreach (var (symbol, write) in GetOrCreateSymbolWritesInBlockRange(containingTryCatchFinallyRegion.FirstBlockOrdinal, basicBlock.
Ordinal
- 1, cancellationToken))