1 write to Ordinal
Microsoft.CodeAnalysis (1)
Operations\BasicBlock.cs (1)
41
Ordinal
= ordinal;
225 references to Ordinal
GenerateDocumentationAndConfigFiles (16)
src\b310f676f7308b7f\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))
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
);
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\b310f676f7308b7f\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))
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
);
Microsoft.CodeAnalysis.AnalyzerUtilities (67)
src\b310f676f7308b7f\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))
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
);
Microsoft.CodeAnalysis.CodeStyle (16)
src\b310f676f7308b7f\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))
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
);
Microsoft.CodeAnalysis.NetAnalyzers (51)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\Extensions\BasicBlockExtensions.cs (11)
124
if (ordinalToCompare != basicBlock.
Ordinal
)
164
if (basicBlock.EnclosingRegion?.FirstBlockOrdinal != basicBlock.
Ordinal
)
173
if (enclosingRegion?.FirstBlockOrdinal != basicBlock.
Ordinal
)
190
=> Math.Max(basicBlock.FallThroughSuccessor?.Destination?.
Ordinal
?? -1,
191
basicBlock.ConditionalSuccessor?.Destination?.
Ordinal
?? -1);
211
processedOrdinals.Add(sourceBlock.
Ordinal
);
217
Debug.Assert(ordinal < basicBlock.
Ordinal
);
245
if (!processedOrdinals.Contains(destinationBlock.
Ordinal
))
247
unprocessedOrdinals.Add(destinationBlock.
Ordinal
);
250
return destinationBlock.
Ordinal
<= basicBlock.
Ordinal
;
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\Extensions\ControlFlowBranchExtensions.cs (2)
11
controlFlowBranch.Source.
Ordinal
>= controlFlowBranch.Destination.
Ordinal
;
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowAnalysis.cs (36)
68
using var pendingBlocksNeedingAtLeastOnePass = PooledSortedSet<int>.GetInstance(cfg.Blocks.Select(b => b.
Ordinal
));
112
worklist.Add(entry.
Ordinal
);
135
blockToUniqueInputFlowMap[block.
Ordinal
] = null;
145
worklist.Add(block.
Ordinal
);
149
pendingBlocksNeedingAtLeastOnePass.Add(block.
Ordinal
);
200
unreachableBlocks.Add(block.
Ordinal
);
252
var isUnreachableBlock = unreachableBlocks.Contains(block.
Ordinal
);
261
inputDataFromInfeasibleBranchesMap.TryGetValue(block.
Ordinal
, out var currentInfeasibleData))
267
inputDataFromInfeasibleBranchesMap.Remove(block.
Ordinal
);
278
Debug.Assert(block.EnclosingRegion.FirstBlockOrdinal == block.
Ordinal
);
283
blockToUniqueInputFlowMap[block.
Ordinal
] = null;
298
block.EnclosingRegion.EnclosingRegion.FirstBlockOrdinal == block.
Ordinal
)
364
var isBackEdge = block.
Ordinal
>= successorBlock.
Ordinal
;
365
if (isUnreachableBlock && !unreachableBlocks.Contains(successorBlock.
Ordinal
))
374
if (inputDataFromInfeasibleBranchesMap.TryGetValue(successorBlock.
Ordinal
, out TAnalysisData currentInfeasibleData))
382
inputDataFromInfeasibleBranchesMap[successorBlock.
Ordinal
] = newSuccessorInput;
396
blockToUniqueInputFlowMap.TryGetValue(successorBlock.
Ordinal
, out var uniqueInputBranchOpt) &&
398
uniqueInputBranchOpt.Value.Ordinal != block.
Ordinal
||
407
blockToUniqueInputFlowMap[successorBlock.
Ordinal
] = null;
441
blockToUniqueInputFlowMap[successorBlock.
Ordinal
] = (block.
Ordinal
, blockToSuccessorBranchKind);
452
var dominatorBlockOrdinal = loopRangeMap[successorBlock.
Ordinal
];
453
Debug.Assert(dominatorBlockOrdinal >= block.
Ordinal
);
454
Debug.Assert(dominatorBlockOrdinal >= successorBlock.
Ordinal
);
456
for (int i = successorBlock.
Ordinal
; i <= dominatorBlockOrdinal + 1; i++)
464
worklist.Add(successorBlock.
Ordinal
);
496
if (catchRegion == null || sourceBlock.
Ordinal
>= catchRegion.FirstBlockOrdinal)
585
predecessorWithBranch.predecessorBlock.
Ordinal
< block.
Ordinal
&&
586
pendingBlocksNeedingAtLeastOnePass.Contains(predecessorWithBranch.predecessorBlock.
Ordinal
));
592
if (block.EnclosingRegion?.FirstBlockOrdinal == block.
Ordinal
)
623
if (finallyBlockSuccessorsMap.TryGetValue(basicBlock.
Ordinal
, out var finallySuccessors))
815
if (branch?.Destination != null && branch.IsBackEdge() && !loopRangeMap.ContainsKey(branch.Destination.
Ordinal
))
817
var maxSuccessorOrdinal = Math.Max(branch.Destination.GetMaxSuccessorOrdinal(), branch.Source.
Ordinal
);
824
loopRangeMap.Add(branch.Destination.
Ordinal
, maxSuccessorOrdinal);
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (1)
476
block.EnclosingRegion.LastBlockOrdinal == block.
Ordinal
)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\ThrownExceptionInfo.cs (1)
21
BasicBlockOrdinal = block.
Ordinal
;
Microsoft.CodeAnalysis.ResxSourceGenerator (16)
src\b310f676f7308b7f\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))
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
);
Microsoft.CodeAnalysis.Workspaces (16)
src\b310f676f7308b7f\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))
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
);
Roslyn.Diagnostics.Analyzers (16)
src\b310f676f7308b7f\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))
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
);