41 instantiations of RegionBuilder
Microsoft.CodeAnalysis (41)
Operations\ControlFlowGraphBuilder.cs (41)
116var root = new RegionBuilder(ControlFlowRegionKind.Root); 122builder.EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime)); 1386EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals)); 1484EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals)); 1524EnterRegion(new RegionBuilder(ControlFlowRegionKind.ErroneousBody)); 1639var resultCaptureRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, isStackSpillRegion: true); 1835frameOpt.RegionBuilderOpt = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, isStackSpillRegion: true); 3559var locals = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals); 3649tryAndFinallyRegion = new RegionBuilder(ControlFlowRegionKind.TryAndFinally); 3651EnterRegion(new RegionBuilder(ControlFlowRegionKind.Try)); 3657EnterRegion(new RegionBuilder(ControlFlowRegionKind.TryAndCatch)); 3658EnterRegion(new RegionBuilder(ControlFlowRegionKind.Try)); 3680filterAndHandlerRegion = new RegionBuilder(ControlFlowRegionKind.FilterAndHandler, catchClause.ExceptionType, catchClause.Locals); 3683var filterRegion = new RegionBuilder(ControlFlowRegionKind.Filter, catchClause.ExceptionType); 3699var handlerRegion = new RegionBuilder(ControlFlowRegionKind.Catch, catchClause.ExceptionType, 3747var finallyRegion = new RegionBuilder(ControlFlowRegionKind.Finally); 3940var usingRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: locals); 4057resourceRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime); 4067EnterRegion(new RegionBuilder(ControlFlowRegionKind.TryAndFinally)); 4068EnterRegion(new RegionBuilder(ControlFlowRegionKind.Try)); 4099var finallyRegion = new RegionBuilder(ControlFlowRegionKind.Finally); 4227var lockRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, 4278EnterRegion(new RegionBuilder(ControlFlowRegionKind.TryAndFinally)); 4279EnterRegion(new RegionBuilder(ControlFlowRegionKind.Try)); 4321EnterRegion(new RegionBuilder(ControlFlowRegionKind.Finally)); 4376var enumeratorCaptureRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime); 4401regionForCollection = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: ImmutableArray.Create(local)); 4418EnterRegion(new RegionBuilder(ControlFlowRegionKind.TryAndFinally)); 4419EnterRegion(new RegionBuilder(ControlFlowRegionKind.Try)); 4432var localsRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals); 4651var loopRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: locals); 5373var switchRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: locals); 5638EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals)); 5654EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.ConditionLocals)); 5682EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals)); 5740EnterRegion(new RegionBuilder(ControlFlowRegionKind.StaticLocalInitializer)); 6557var constructorRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime); 6617EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime)); 7038EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: initializer.Locals)); 7484var armScopeRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: arm.Locals); 7685var 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); 494private static void Pack(ArrayBuilder<BasicBlockBuilder> blocks, RegionBuilder root, PooledDictionary<BasicBlockBuilder, RegionBuilder> regionMap) 511private static bool PackRegions(RegionBuilder root, ArrayBuilder<BasicBlockBuilder> blocks, PooledDictionary<BasicBlockBuilder, RegionBuilder> regionMap) 515bool PackRegion(RegionBuilder region) 524RegionBuilder r = region.Regions[i]; 552RegionBuilder subRegion = region.Regions[0]; 571RegionBuilder subRegion = region.Regions[i]; 614private static void MergeSubRegionAndFree(RegionBuilder subRegion, ArrayBuilder<BasicBlockBuilder> blocks, PooledDictionary<BasicBlockBuilder, RegionBuilder> regionMap, bool canHaveEmptyRegion = false) 618RegionBuilder enclosing = subRegion.Enclosing; 638foreach (RegionBuilder r in subRegion.Regions) 670private static bool PackBlocks(ArrayBuilder<BasicBlockBuilder> blocks, PooledDictionary<BasicBlockBuilder, RegionBuilder> regionMap) 672ArrayBuilder<RegionBuilder>? fromCurrent = null; 673ArrayBuilder<RegionBuilder>? fromDestination = null; 674ArrayBuilder<RegionBuilder>? fromPredecessor = null; 729RegionBuilder currentRegion = regionMap[block]; 743RegionBuilder currentRegion = regionMap[block]; 758RegionBuilder tryAndFinally = currentRegion.Enclosing; 762RegionBuilder @try = tryAndFinally.Regions.First(); 782RegionBuilder tryAndFinallyEnclosing = tryAndFinally.Enclosing; 838RegionBuilder? implicitEntryRegion = tryGetImplicitEntryRegion(block, currentRegion); 887RegionBuilder? destinationRegionOpt = next.Destination == null ? null : regionMap[next.Destination]; 963RegionBuilder currentRegion = regionMap[block]; 1014RegionBuilder? tryGetImplicitEntryRegion(BasicBlockBuilder block, [DisallowNull] RegionBuilder? currentRegion) 1038void removeBlock(BasicBlockBuilder block, RegionBuilder region) 1051RegionBuilder enclosing = region.Enclosing; 1064RegionBuilder enclosing = region.Enclosing; 1101bool checkBranchesFromPredecessors(ArrayBuilder<BasicBlockBuilder> predecessors, RegionBuilder currentRegion, RegionBuilder? destinationRegionOpt) 1105RegionBuilder predecessorRegion = regionMap[predecessor]; 1148void collectAncestorsAndSelf([DisallowNull] RegionBuilder? from, [NotNull] ref ArrayBuilder<RegionBuilder>? builder) 1152builder = ArrayBuilder<RegionBuilder>.GetInstance(); 1170int getIndexOfLastLeftRegion(ArrayBuilder<RegionBuilder> from, ArrayBuilder<RegionBuilder> to) 1322private void EnterRegion(RegionBuilder region, bool spillingStack = false) 1348RegionBuilder enclosed = _currentRegion; 1639var resultCaptureRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, isStackSpillRegion: true); 1691/// and corresponding <see cref="RegionBuilder"/> if one was allocated to 1699private RegionBuilder? _lazyRegionBuilder; 1701public RegionBuilder? RegionBuilderOpt 1743RegionBuilder toMerge = _currentRegion; 1772RegionBuilder? toLeave = frame.RegionBuilderOpt; 1791private void LeaveRegionsUpTo(RegionBuilder resultCaptureRegion) 1799private int GetNextCaptureId(RegionBuilder owner) 1857RegionBuilder? currentSpillRegion = currentFrame.RegionBuilderOpt; 1886RegionBuilder candidate = CurrentRegionRequired; 2330var resultCaptureRegion = CurrentRegionRequired; 2413var resultCaptureRegion = CurrentRegionRequired; 2450var resultCaptureRegion = CurrentRegionRequired; 2551var resultCaptureRegion = CurrentRegionRequired; 2659var resultCaptureRegion = CurrentRegionRequired; 2745RegionBuilder? current = _currentRegion; 3030RegionBuilder resultCaptureRegion = CurrentRegionRequired; 3090RegionBuilder resultCaptureRegion = CurrentRegionRequired; 3347RegionBuilder resultCaptureRegion = CurrentRegionRequired; 3559var locals = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals); 3645RegionBuilder? tryAndFinallyRegion = null; 3671RegionBuilder? filterAndHandlerRegion = null; 3683var filterRegion = new RegionBuilder(ControlFlowRegionKind.Filter, catchClause.ExceptionType); 3699var handlerRegion = new RegionBuilder(ControlFlowRegionKind.Catch, catchClause.ExceptionType, 3747var finallyRegion = new RegionBuilder(ControlFlowRegionKind.Finally); 3940var usingRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: locals); 4053RegionBuilder? resourceRegion = null; 4099var finallyRegion = new RegionBuilder(ControlFlowRegionKind.Finally); 4227var lockRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, 4376var enumeratorCaptureRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime); 4381RegionBuilder? regionForCollection = null; 4432var localsRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals); 4651var loopRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: locals); 4785RegionBuilder currentRegion = CurrentRegionRequired; 5373var switchRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: locals); 6241RegionBuilder owner = CurrentRegionRequired; 6554RegionBuilder resultRegion = CurrentRegionRequired; 6557var constructorRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime); 7476RegionBuilder resultCaptureRegion = CurrentRegionRequired; 7484var armScopeRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: arm.Locals); 7682var outerCaptureRegion = CurrentRegionRequired; 7685var 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)