5 writes to LastBlock
Microsoft.CodeAnalysis (5)
Operations\ControlFlowGraphBuilder.cs (2)
1062region.LastBlock = newLast; 1067enclosing.LastBlock = newLast;
Operations\ControlFlowGraphBuilder.RegionBuilder.cs (3)
263LastBlock = block; 277LastBlock = block; 287LastBlock = null;
33 references to LastBlock
Microsoft.CodeAnalysis (33)
Operations\ControlFlowGraphBuilder.cs (21)
553if (subRegion.Kind == ControlFlowRegionKind.LocalLifetime && subRegion.FirstBlock == region.FirstBlock && subRegion.LastBlock == region.LastBlock) 574!subRegion.HasRegions && subRegion.FirstBlock == subRegion.LastBlock) 647firstBlockToMove = r.LastBlock.Ordinal + 1; 657for (int i = firstBlockToMove; i <= subRegion.LastBlock.Ordinal; i++) 732Debug.Assert(block == currentRegion.LastBlock); 746if (currentRegion.FirstBlock == currentRegion.LastBlock) 850Debug.Assert(implicitEntryRegion.LastBlock!.Ordinal >= next.Destination.Ordinal); 1042Debug.Assert(region.FirstBlock.Ordinal <= region.LastBlock.Ordinal); 1044Debug.Assert(block.Ordinal <= region.LastBlock.Ordinal); 1059else if (region.LastBlock == block) 1065while (enclosing != null && enclosing.LastBlock == block) 1073Debug.Assert(region.FirstBlock.Ordinal <= region.LastBlock.Ordinal); 1363Debug.Assert(enclosed.LastBlock != null); 1364_currentRegion?.ExtendToInclude(enclosed.LastBlock); 1757_currentRegion.ExtendToInclude(toMerge.LastBlock); 3706Debug.Assert(filterRegion.LastBlock.FallThrough.Destination == null); 3732Debug.Assert(filterAndHandlerRegion.Regions![0].LastBlock!.FallThrough.Destination == null); 3738filterAndHandlerRegion.Regions[0].LastBlock!.Ordinal >= p.Ordinal)); 3769Debug.Assert(finallyRegion.LastBlock.FallThrough.Destination == null); 3774Debug.Assert(tryAndFinallyRegion?.Regions![1].LastBlock!.FallThrough.Destination == null);
Operations\ControlFlowGraphBuilder.RegionBuilder.cs (12)
40[MemberNotNullWhen(false, nameof(FirstBlock), nameof(LastBlock))] 45Debug.Assert((FirstBlock == null) == (LastBlock == null)); 205Debug.Assert(toReplace.LastBlock!.Ordinal >= replaceWith.Last().LastBlock!.Ordinal); 247[MemberNotNull(nameof(FirstBlock), nameof(LastBlock))] 254Regions!.Last().LastBlock == block); 258Debug.Assert(LastBlock == null); 269Debug.Assert(Regions.Count == 1 && Regions.First().LastBlock == block); 273Debug.Assert(LastBlock!.Ordinal < block.Ordinal); 274Debug.Assert(!HasRegions || Regions.Last().LastBlock!.Ordinal <= block.Ordinal); 337var result = new ControlFlowRegion(Kind, FirstBlock.Ordinal, LastBlock.Ordinal, subRegions, 364for (int i = firstBlockWithoutRegion; i <= LastBlock.Ordinal; i++)