5 writes to FirstBlock
Microsoft.CodeAnalysis (5)
Operations\ControlFlowGraphBuilder.cs (2)
1057region.FirstBlock = newFirst; 1062enclosing.FirstBlock = newFirst;
Operations\ControlFlowGraphBuilder.RegionBuilder.cs (3)
262FirstBlock = block; 267FirstBlock = Regions.First().FirstBlock; 286FirstBlock = null;
35 references to FirstBlock
Microsoft.CodeAnalysis (35)
Operations\ControlFlowGraphBuilder.cs (24)
561if (subRegion.Kind == ControlFlowRegionKind.LocalLifetime && subRegion.FirstBlock == region.FirstBlock && subRegion.LastBlock == region.LastBlock) 582!subRegion.HasRegions && subRegion.FirstBlock == subRegion.LastBlock) 584Debug.Assert(subRegion.FirstBlock != null); 585BasicBlockBuilder block = subRegion.FirstBlock; 642int firstBlockToMove = subRegion.FirstBlock.Ordinal; 649for (int i = firstBlockToMove; i < r.FirstBlock.Ordinal; i++) 754if (currentRegion.FirstBlock == currentRegion.LastBlock) 756Debug.Assert(currentRegion.FirstBlock == block); 777Debug.Assert(@try.FirstBlock != null); 778i = @try.FirstBlock.Ordinal - 1; // restart at the first block of removed .try region 1026if (currentRegion.FirstBlock != block) 1049Debug.Assert(region.FirstBlock.Ordinal >= 0); 1050Debug.Assert(region.FirstBlock.Ordinal <= region.LastBlock.Ordinal); 1051Debug.Assert(region.FirstBlock.Ordinal <= block.Ordinal); 1054if (region.FirstBlock == block) 1060while (enclosing != null && enclosing.FirstBlock == block) 1081Debug.Assert(region.FirstBlock.Ordinal <= region.LastBlock.Ordinal); 3723Debug.Assert(!filterRegion.FirstBlock.HasPredecessors); 3749if (handlerRegion.FirstBlock.HasPredecessors) 3752handlerRegion.FirstBlock.GetPredecessors(predecessors); 3753Debug.Assert(predecessors.All(p => filterAndHandlerRegion.Regions[0].FirstBlock!.Ordinal <= p.Ordinal && 3761Debug.Assert(!handlerRegion.FirstBlock.HasPredecessors); 3786Debug.Assert(!finallyRegion.FirstBlock.HasPredecessors);
Operations\ControlFlowGraphBuilder.RegionBuilder.cs (11)
40[MemberNotNullWhen(false, nameof(FirstBlock), nameof(LastBlock))] 45Debug.Assert((FirstBlock == null) == (LastBlock == null)); 47return FirstBlock == null; 204Debug.Assert(toReplace.FirstBlock!.Ordinal <= replaceWith.First().FirstBlock!.Ordinal); 247[MemberNotNull(nameof(FirstBlock), nameof(LastBlock))] 256if (FirstBlock == null) 267FirstBlock = Regions.First().FirstBlock; 268Debug.Assert(FirstBlock != null); 337var result = new ControlFlowRegion(Kind, FirstBlock.Ordinal, LastBlock.Ordinal, subRegions, 352int firstBlockWithoutRegion = FirstBlock.Ordinal;