41 instantiations of RegionBuilder
Microsoft.CodeAnalysis (41)
Operations\ControlFlowGraphBuilder.cs (41)
116var root = new RegionBuilder(ControlFlowRegionKind.Root); 122builder.EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime)); 1395EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals)); 1493EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals)); 1533EnterRegion(new RegionBuilder(ControlFlowRegionKind.ErroneousBody)); 1654var resultCaptureRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, isStackSpillRegion: true); 1850frameOpt.RegionBuilderOpt = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, isStackSpillRegion: true); 3586var locals = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals); 3676tryAndFinallyRegion = new RegionBuilder(ControlFlowRegionKind.TryAndFinally); 3678EnterRegion(new RegionBuilder(ControlFlowRegionKind.Try)); 3684EnterRegion(new RegionBuilder(ControlFlowRegionKind.TryAndCatch)); 3685EnterRegion(new RegionBuilder(ControlFlowRegionKind.Try)); 3707filterAndHandlerRegion = new RegionBuilder(ControlFlowRegionKind.FilterAndHandler, catchClause.ExceptionType, catchClause.Locals); 3710var filterRegion = new RegionBuilder(ControlFlowRegionKind.Filter, catchClause.ExceptionType); 3726var handlerRegion = new RegionBuilder(ControlFlowRegionKind.Catch, catchClause.ExceptionType, 3774var finallyRegion = new RegionBuilder(ControlFlowRegionKind.Finally); 3968var usingRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: locals); 4088resourceRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime); 4098EnterRegion(new RegionBuilder(ControlFlowRegionKind.TryAndFinally)); 4099EnterRegion(new RegionBuilder(ControlFlowRegionKind.Try)); 4131var finallyRegion = new RegionBuilder(ControlFlowRegionKind.Finally); 4319var lockRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, 4370EnterRegion(new RegionBuilder(ControlFlowRegionKind.TryAndFinally)); 4371EnterRegion(new RegionBuilder(ControlFlowRegionKind.Try)); 4413EnterRegion(new RegionBuilder(ControlFlowRegionKind.Finally)); 4468var enumeratorCaptureRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime); 4493regionForCollection = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: ImmutableArray.Create(local)); 4510EnterRegion(new RegionBuilder(ControlFlowRegionKind.TryAndFinally)); 4511EnterRegion(new RegionBuilder(ControlFlowRegionKind.Try)); 4524var localsRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals); 4759var loopRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: locals); 5481var switchRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: locals); 5746EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals)); 5762EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.ConditionLocals)); 5790EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals)); 5848EnterRegion(new RegionBuilder(ControlFlowRegionKind.StaticLocalInitializer)); 6828var constructorRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime); 6888EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime)); 7312EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: initializer.Locals)); 7792var armScopeRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: arm.Locals); 7993var innerCaptureRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime);
96 references to RegionBuilder
Microsoft.CodeAnalysis (96)
Operations\ControlFlowGraphBuilder.cs (86)
34private readonly PooledDictionary<BasicBlockBuilder, RegionBuilder> _regionMap; 36private RegionBuilder? _currentRegion; 69_regionMap = PooledDictionary<BasicBlockBuilder, RegionBuilder>.GetInstance(); 73private RegionBuilder CurrentRegionRequired 116var root = new RegionBuilder(ControlFlowRegionKind.Root); 502private static void Pack(ArrayBuilder<BasicBlockBuilder> blocks, RegionBuilder root, PooledDictionary<BasicBlockBuilder, RegionBuilder> regionMap) 519private static bool PackRegions(RegionBuilder root, ArrayBuilder<BasicBlockBuilder> blocks, PooledDictionary<BasicBlockBuilder, RegionBuilder> regionMap) 523bool PackRegion(RegionBuilder region) 532RegionBuilder r = region.Regions[i]; 560RegionBuilder subRegion = region.Regions[0]; 579RegionBuilder subRegion = region.Regions[i]; 622private static void MergeSubRegionAndFree(RegionBuilder subRegion, ArrayBuilder<BasicBlockBuilder> blocks, PooledDictionary<BasicBlockBuilder, RegionBuilder> regionMap, bool canHaveEmptyRegion = false) 626RegionBuilder enclosing = subRegion.Enclosing; 646foreach (RegionBuilder r in subRegion.Regions) 678private static bool PackBlocks(ArrayBuilder<BasicBlockBuilder> blocks, PooledDictionary<BasicBlockBuilder, RegionBuilder> regionMap) 680ArrayBuilder<RegionBuilder>? fromCurrent = null; 681ArrayBuilder<RegionBuilder>? fromDestination = null; 682ArrayBuilder<RegionBuilder>? fromPredecessor = null; 737RegionBuilder currentRegion = regionMap[block]; 751RegionBuilder currentRegion = regionMap[block]; 766RegionBuilder tryAndFinally = currentRegion.Enclosing; 770RegionBuilder @try = tryAndFinally.Regions.First(); 790RegionBuilder tryAndFinallyEnclosing = tryAndFinally.Enclosing; 846RegionBuilder? implicitEntryRegion = tryGetImplicitEntryRegion(block, currentRegion); 895RegionBuilder? destinationRegionOpt = next.Destination == null ? null : regionMap[next.Destination]; 971RegionBuilder currentRegion = regionMap[block]; 1022RegionBuilder? tryGetImplicitEntryRegion(BasicBlockBuilder block, [DisallowNull] RegionBuilder? currentRegion) 1046void removeBlock(BasicBlockBuilder block, RegionBuilder region) 1059RegionBuilder enclosing = region.Enclosing; 1072RegionBuilder enclosing = region.Enclosing; 1109bool checkBranchesFromPredecessors(ArrayBuilder<BasicBlockBuilder> predecessors, RegionBuilder currentRegion, RegionBuilder? destinationRegionOpt) 1113RegionBuilder predecessorRegion = regionMap[predecessor]; 1156void collectAncestorsAndSelf([DisallowNull] RegionBuilder? from, [NotNull] ref ArrayBuilder<RegionBuilder>? builder) 1160builder = ArrayBuilder<RegionBuilder>.GetInstance(); 1178int getIndexOfLastLeftRegion(ArrayBuilder<RegionBuilder> from, ArrayBuilder<RegionBuilder> to) 1331private void EnterRegion(RegionBuilder region, bool spillingStack = false) 1357RegionBuilder enclosed = _currentRegion; 1654var resultCaptureRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, isStackSpillRegion: true); 1706/// and corresponding <see cref="RegionBuilder"/> if one was allocated to 1714private RegionBuilder? _lazyRegionBuilder; 1716public RegionBuilder? RegionBuilderOpt 1758RegionBuilder toMerge = _currentRegion; 1787RegionBuilder? toLeave = frame.RegionBuilderOpt; 1806private void LeaveRegionsUpTo(RegionBuilder resultCaptureRegion) 1814private int GetNextCaptureId(RegionBuilder owner) 1873RegionBuilder? currentSpillRegion = currentFrame.RegionBuilderOpt; 1902RegionBuilder candidate = CurrentRegionRequired; 2357var resultCaptureRegion = CurrentRegionRequired; 2440var resultCaptureRegion = CurrentRegionRequired; 2477var resultCaptureRegion = CurrentRegionRequired; 2578var resultCaptureRegion = CurrentRegionRequired; 2686var resultCaptureRegion = CurrentRegionRequired; 2772RegionBuilder? current = _currentRegion; 3057RegionBuilder resultCaptureRegion = CurrentRegionRequired; 3117RegionBuilder resultCaptureRegion = CurrentRegionRequired; 3374RegionBuilder resultCaptureRegion = CurrentRegionRequired; 3586var locals = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals); 3672RegionBuilder? tryAndFinallyRegion = null; 3698RegionBuilder? filterAndHandlerRegion = null; 3710var filterRegion = new RegionBuilder(ControlFlowRegionKind.Filter, catchClause.ExceptionType); 3726var handlerRegion = new RegionBuilder(ControlFlowRegionKind.Catch, catchClause.ExceptionType, 3774var finallyRegion = new RegionBuilder(ControlFlowRegionKind.Finally); 3968var usingRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: locals); 4084RegionBuilder? resourceRegion = null; 4131var finallyRegion = new RegionBuilder(ControlFlowRegionKind.Finally); 4319var lockRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, 4468var enumeratorCaptureRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime); 4473RegionBuilder? regionForCollection = null; 4524var localsRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals); 4759var loopRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: locals); 4893RegionBuilder currentRegion = CurrentRegionRequired; 5481var switchRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: locals); 6451RegionBuilder owner = CurrentRegionRequired; 6825RegionBuilder resultRegion = CurrentRegionRequired; 6828var constructorRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime); 7784RegionBuilder resultCaptureRegion = CurrentRegionRequired; 7792var armScopeRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: arm.Locals); 7990var outerCaptureRegion = CurrentRegionRequired; 7993var innerCaptureRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime);
Operations\ControlFlowGraphBuilder.RegionBuilder.cs (10)
18public RegionBuilder? Enclosing { get; private set; } = null; 22public ArrayBuilder<RegionBuilder>? Regions = null; 128public void Add(RegionBuilder region) 132Regions = ArrayBuilder<RegionBuilder>.GetInstance(); 183public void Remove(RegionBuilder region) 201public void ReplaceRegion(RegionBuilder toReplace, ArrayBuilder<RegionBuilder> replaceWith) 223RegionBuilder single = replaceWith[0]; 237foreach (RegionBuilder region in replaceWith) 323foreach (RegionBuilder region in Regions)