5 writes to FirstBlock
Microsoft.CodeAnalysis (5)
Operations\ControlFlowGraphBuilder.cs (2)
1049region.FirstBlock = newFirst; 1054enclosing.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)
553if (subRegion.Kind == ControlFlowRegionKind.LocalLifetime && subRegion.FirstBlock == region.FirstBlock && subRegion.LastBlock == region.LastBlock) 574!subRegion.HasRegions && subRegion.FirstBlock == subRegion.LastBlock) 576Debug.Assert(subRegion.FirstBlock != null); 577BasicBlockBuilder block = subRegion.FirstBlock; 634int firstBlockToMove = subRegion.FirstBlock.Ordinal; 641for (int i = firstBlockToMove; i < r.FirstBlock.Ordinal; i++) 746if (currentRegion.FirstBlock == currentRegion.LastBlock) 748Debug.Assert(currentRegion.FirstBlock == block); 769Debug.Assert(@try.FirstBlock != null); 770i = @try.FirstBlock.Ordinal - 1; // restart at the first block of removed .try region 1018if (currentRegion.FirstBlock != block) 1041Debug.Assert(region.FirstBlock.Ordinal >= 0); 1042Debug.Assert(region.FirstBlock.Ordinal <= region.LastBlock.Ordinal); 1043Debug.Assert(region.FirstBlock.Ordinal <= block.Ordinal); 1046if (region.FirstBlock == block) 1052while (enclosing != null && enclosing.FirstBlock == block) 1073Debug.Assert(region.FirstBlock.Ordinal <= region.LastBlock.Ordinal); 3707Debug.Assert(!filterRegion.FirstBlock.HasPredecessors); 3733if (handlerRegion.FirstBlock.HasPredecessors) 3736handlerRegion.FirstBlock.GetPredecessors(predecessors); 3737Debug.Assert(predecessors.All(p => filterAndHandlerRegion.Regions[0].FirstBlock!.Ordinal <= p.Ordinal && 3745Debug.Assert(!handlerRegion.FirstBlock.HasPredecessors); 3770Debug.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;