1 write to Ordinal
Microsoft.CodeAnalysis (1)
Operations\BasicBlock.cs (1)
41
Ordinal
= ordinal;
295 references to 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
;
Metrics (16)
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)
228
if (StepThroughFinally(current.EnclosingRegion, branch.Destination.
Ordinal
, ref currentAnalsisData))
241
toVisit.Add(branch.Destination.
Ordinal
);
390
Debug.Assert(entryBlock.
Ordinal
== @catch.NestedRegions[0].FirstBlockOrdinal);
392
toVisit.Add(entryBlock.
Ordinal
);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (3)
354
basicBlock.EnclosingRegion.FirstBlockOrdinal != basicBlock.
Ordinal
)
361
while (outermostEnclosingRegionStartingBlock.EnclosingRegion?.FirstBlockOrdinal == basicBlock.
Ordinal
)
402
foreach (var (symbol, write) in GetOrCreateSymbolWritesInBlockRange(containingTryCatchFinallyRegion.FirstBlockOrdinal, basicBlock.
Ordinal
- 1, cancellationToken))
Metrics.Legacy (16)
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)
228
if (StepThroughFinally(current.EnclosingRegion, branch.Destination.
Ordinal
, ref currentAnalsisData))
241
toVisit.Add(branch.Destination.
Ordinal
);
390
Debug.Assert(entryBlock.
Ordinal
== @catch.NestedRegions[0].FirstBlockOrdinal);
392
toVisit.Add(entryBlock.
Ordinal
);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (3)
354
basicBlock.EnclosingRegion.FirstBlockOrdinal != basicBlock.
Ordinal
)
361
while (outermostEnclosingRegionStartingBlock.EnclosingRegion?.FirstBlockOrdinal == basicBlock.
Ordinal
)
402
foreach (var (symbol, write) in GetOrCreateSymbolWritesInBlockRange(containingTryCatchFinallyRegion.FirstBlockOrdinal, basicBlock.
Ordinal
- 1, cancellationToken))
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\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)
228
if (StepThroughFinally(current.EnclosingRegion, branch.Destination.
Ordinal
, ref currentAnalsisData))
241
toVisit.Add(branch.Destination.
Ordinal
);
390
Debug.Assert(entryBlock.
Ordinal
== @catch.NestedRegions[0].FirstBlockOrdinal);
392
toVisit.Add(entryBlock.
Ordinal
);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (3)
354
basicBlock.EnclosingRegion.FirstBlockOrdinal != basicBlock.
Ordinal
)
361
while (outermostEnclosingRegionStartingBlock.EnclosingRegion?.FirstBlockOrdinal == basicBlock.
Ordinal
)
402
foreach (var (symbol, write) in GetOrCreateSymbolWritesInBlockRange(containingTryCatchFinallyRegion.FirstBlockOrdinal, basicBlock.
Ordinal
- 1, cancellationToken))
Microsoft.CodeAnalysis.AnalyzerUtilities (67)
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\RoslynAnalyzers\Utilities\FlowAnalysis\Extensions\ControlFlowBranchExtensions.cs (2)
12
controlFlowBranch.Source.
Ordinal
>= controlFlowBranch.Destination.
Ordinal
;
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\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (1)
479
block.EnclosingRegion.LastBlockOrdinal == block.
Ordinal
)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\ThrownExceptionInfo.cs (1)
23
BasicBlockOrdinal = block.
Ordinal
;
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)
228
if (StepThroughFinally(current.EnclosingRegion, branch.Destination.
Ordinal
, ref currentAnalsisData))
241
toVisit.Add(branch.Destination.
Ordinal
);
390
Debug.Assert(entryBlock.
Ordinal
== @catch.NestedRegions[0].FirstBlockOrdinal);
392
toVisit.Add(entryBlock.
Ordinal
);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (3)
354
basicBlock.EnclosingRegion.FirstBlockOrdinal != basicBlock.
Ordinal
)
361
while (outermostEnclosingRegionStartingBlock.EnclosingRegion?.FirstBlockOrdinal == basicBlock.
Ordinal
)
402
foreach (var (symbol, write) in GetOrCreateSymbolWritesInBlockRange(containingTryCatchFinallyRegion.FirstBlockOrdinal, basicBlock.
Ordinal
- 1, cancellationToken))
Microsoft.CodeAnalysis.BannedApiAnalyzers (16)
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)
228
if (StepThroughFinally(current.EnclosingRegion, branch.Destination.
Ordinal
, ref currentAnalsisData))
241
toVisit.Add(branch.Destination.
Ordinal
);
390
Debug.Assert(entryBlock.
Ordinal
== @catch.NestedRegions[0].FirstBlockOrdinal);
392
toVisit.Add(entryBlock.
Ordinal
);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (3)
354
basicBlock.EnclosingRegion.FirstBlockOrdinal != basicBlock.
Ordinal
)
361
while (outermostEnclosingRegionStartingBlock.EnclosingRegion?.FirstBlockOrdinal == basicBlock.
Ordinal
)
402
foreach (var (symbol, write) in GetOrCreateSymbolWritesInBlockRange(containingTryCatchFinallyRegion.FirstBlockOrdinal, basicBlock.
Ordinal
- 1, cancellationToken))
Microsoft.CodeAnalysis.CodeStyle (16)
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)
228
if (StepThroughFinally(current.EnclosingRegion, branch.Destination.
Ordinal
, ref currentAnalsisData))
241
toVisit.Add(branch.Destination.
Ordinal
);
390
Debug.Assert(entryBlock.
Ordinal
== @catch.NestedRegions[0].FirstBlockOrdinal);
392
toVisit.Add(entryBlock.
Ordinal
);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (3)
354
basicBlock.EnclosingRegion.FirstBlockOrdinal != basicBlock.
Ordinal
)
361
while (outermostEnclosingRegionStartingBlock.EnclosingRegion?.FirstBlockOrdinal == basicBlock.
Ordinal
)
402
foreach (var (symbol, write) in GetOrCreateSymbolWritesInBlockRange(containingTryCatchFinallyRegion.FirstBlockOrdinal, basicBlock.
Ordinal
- 1, cancellationToken))
Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers (16)
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)
228
if (StepThroughFinally(current.EnclosingRegion, branch.Destination.
Ordinal
, ref currentAnalsisData))
241
toVisit.Add(branch.Destination.
Ordinal
);
390
Debug.Assert(entryBlock.
Ordinal
== @catch.NestedRegions[0].FirstBlockOrdinal);
392
toVisit.Add(entryBlock.
Ordinal
);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (3)
354
basicBlock.EnclosingRegion.FirstBlockOrdinal != basicBlock.
Ordinal
)
361
while (outermostEnclosingRegionStartingBlock.EnclosingRegion?.FirstBlockOrdinal == basicBlock.
Ordinal
)
402
foreach (var (symbol, write) in GetOrCreateSymbolWritesInBlockRange(containingTryCatchFinallyRegion.FirstBlockOrdinal, basicBlock.
Ordinal
- 1, cancellationToken))
Microsoft.CodeAnalysis.PublicApiAnalyzers (16)
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)
228
if (StepThroughFinally(current.EnclosingRegion, branch.Destination.
Ordinal
, ref currentAnalsisData))
241
toVisit.Add(branch.Destination.
Ordinal
);
390
Debug.Assert(entryBlock.
Ordinal
== @catch.NestedRegions[0].FirstBlockOrdinal);
392
toVisit.Add(entryBlock.
Ordinal
);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (3)
354
basicBlock.EnclosingRegion.FirstBlockOrdinal != basicBlock.
Ordinal
)
361
while (outermostEnclosingRegionStartingBlock.EnclosingRegion?.FirstBlockOrdinal == basicBlock.
Ordinal
)
402
foreach (var (symbol, write) in GetOrCreateSymbolWritesInBlockRange(containingTryCatchFinallyRegion.FirstBlockOrdinal, basicBlock.
Ordinal
- 1, cancellationToken))
Microsoft.CodeAnalysis.ResxSourceGenerator (16)
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)
228
if (StepThroughFinally(current.EnclosingRegion, branch.Destination.
Ordinal
, ref currentAnalsisData))
241
toVisit.Add(branch.Destination.
Ordinal
);
390
Debug.Assert(entryBlock.
Ordinal
== @catch.NestedRegions[0].FirstBlockOrdinal);
392
toVisit.Add(entryBlock.
Ordinal
);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (3)
354
basicBlock.EnclosingRegion.FirstBlockOrdinal != basicBlock.
Ordinal
)
361
while (outermostEnclosingRegionStartingBlock.EnclosingRegion?.FirstBlockOrdinal == basicBlock.
Ordinal
)
402
foreach (var (symbol, write) in GetOrCreateSymbolWritesInBlockRange(containingTryCatchFinallyRegion.FirstBlockOrdinal, basicBlock.
Ordinal
- 1, cancellationToken))
Microsoft.CodeAnalysis.Test.Utilities (41)
Compilation\ControlFlowGraphVerifier.cs (26)
126
Assert.Equal(i, block.
Ordinal
);
173
enterRegions(block.EnclosingRegion, block.
Ordinal
);
195
Assert.True(previousPredecessorOrdinal < predecessor.
Ordinal
);
196
previousPredecessorOrdinal = predecessor.
Ordinal
;
197
Assert.Same(blocks[predecessor.
Ordinal
], predecessor);
251
Assert.Same(blocks[conditionalBranch.Destination.
Ordinal
], conditionalBranch.Destination);
290
Assert.Same(blocks[nextBranch.Destination.
Ordinal
], nextBranch.Destination);
296
Assert.Equal(block.EnclosingRegion.LastBlockOrdinal, block.
Ordinal
);
318
if (currentRegion.LastBlockOrdinal == block.
Ordinal
&& i != blocks.Length - 1)
320
leaveRegions(block.EnclosingRegion, block.
Ordinal
);
395
if (predecessor.Source.
Ordinal
>= i)
399
if (region.FirstBlockOrdinal != block.
Ordinal
)
464
while (region.LastBlockOrdinal == block.
Ordinal
)
486
for (int i = block.
Ordinal
; i > 0 && lastOperation == null; i--)
517
if (region.LastBlockOrdinal != block.
Ordinal
&& referencedIds.Contains(id))
522
IFlowCaptureReferenceOperation[] referencesAfter = getFlowCaptureReferenceOperationsInRegion(region, block.
Ordinal
+ 1).Where(r => r.Id.Equals(id)).ToArray();
541
foreach (IFlowCaptureOperation candidate in getFlowCaptureOperationsFromBlocksInRegion(region, block.
Ordinal
))
568
foreach (IFlowCaptureOperation candidate in getFlowCaptureOperationsFromBlocksInRegion(region, block.
Ordinal
))
602
foreach (IFlowCaptureOperation candidate in getFlowCaptureOperationsFromBlocksInRegion(region, block.
Ordinal
))
645
foreach (IFlowCaptureOperation candidate in getFlowCaptureOperationsFromBlocksInRegion(region, block.
Ordinal
))
688
foreach (IFlowCaptureOperation candidate in getFlowCaptureOperationsFromBlocksInRegion(region, block.
Ordinal
))
717
if (branch.Destination.
Ordinal
> branch.Source.
Ordinal
)
754
PooledHashSet<CaptureId> entryState = entryStates[block.
Ordinal
];
759
entryStates[block.
Ordinal
] = entryState;
1771
return $"B{block.
Ordinal
}{idSuffix}";
Compilation\FlowAnalysis\BasicBlockReachabilityDataFlowAnalyzer.cs (2)
63
_visited[basicBlock.
Ordinal
] = isReachable;
66
public override bool GetCurrentAnalysisData(BasicBlock basicBlock) => _visited[basicBlock.
Ordinal
];
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)
228
if (StepThroughFinally(current.EnclosingRegion, branch.Destination.
Ordinal
, ref currentAnalsisData))
241
toVisit.Add(branch.Destination.
Ordinal
);
390
Debug.Assert(entryBlock.
Ordinal
== @catch.NestedRegions[0].FirstBlockOrdinal);
392
toVisit.Add(entryBlock.
Ordinal
);
Microsoft.CodeAnalysis.Workspaces (16)
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)
228
if (StepThroughFinally(current.EnclosingRegion, branch.Destination.
Ordinal
, ref currentAnalsisData))
241
toVisit.Add(branch.Destination.
Ordinal
);
390
Debug.Assert(entryBlock.
Ordinal
== @catch.NestedRegions[0].FirstBlockOrdinal);
392
toVisit.Add(entryBlock.
Ordinal
);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (3)
354
basicBlock.EnclosingRegion.FirstBlockOrdinal != basicBlock.
Ordinal
)
361
while (outermostEnclosingRegionStartingBlock.EnclosingRegion?.FirstBlockOrdinal == basicBlock.
Ordinal
)
402
foreach (var (symbol, write) in GetOrCreateSymbolWritesInBlockRange(containingTryCatchFinallyRegion.FirstBlockOrdinal, basicBlock.
Ordinal
- 1, cancellationToken))
Roslyn.Diagnostics.Analyzers (16)
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)
228
if (StepThroughFinally(current.EnclosingRegion, branch.Destination.
Ordinal
, ref currentAnalsisData))
241
toVisit.Add(branch.Destination.
Ordinal
);
390
Debug.Assert(entryBlock.
Ordinal
== @catch.NestedRegions[0].FirstBlockOrdinal);
392
toVisit.Add(entryBlock.
Ordinal
);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (3)
354
basicBlock.EnclosingRegion.FirstBlockOrdinal != basicBlock.
Ordinal
)
361
while (outermostEnclosingRegionStartingBlock.EnclosingRegion?.FirstBlockOrdinal == basicBlock.
Ordinal
)
402
foreach (var (symbol, write) in GetOrCreateSymbolWritesInBlockRange(containingTryCatchFinallyRegion.FirstBlockOrdinal, basicBlock.
Ordinal
- 1, cancellationToken))
Text.Analyzers (16)
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)
228
if (StepThroughFinally(current.EnclosingRegion, branch.Destination.
Ordinal
, ref currentAnalsisData))
241
toVisit.Add(branch.Destination.
Ordinal
);
390
Debug.Assert(entryBlock.
Ordinal
== @catch.NestedRegions[0].FirstBlockOrdinal);
392
toVisit.Add(entryBlock.
Ordinal
);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (3)
354
basicBlock.EnclosingRegion.FirstBlockOrdinal != basicBlock.
Ordinal
)
361
while (outermostEnclosingRegionStartingBlock.EnclosingRegion?.FirstBlockOrdinal == basicBlock.
Ordinal
)
402
foreach (var (symbol, write) in GetOrCreateSymbolWritesInBlockRange(containingTryCatchFinallyRegion.FirstBlockOrdinal, basicBlock.
Ordinal
- 1, cancellationToken))