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); 3570var locals = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals); 3660tryAndFinallyRegion = new RegionBuilder(ControlFlowRegionKind.TryAndFinally); 3662EnterRegion(new RegionBuilder(ControlFlowRegionKind.Try)); 3668EnterRegion(new RegionBuilder(ControlFlowRegionKind.TryAndCatch)); 3669EnterRegion(new RegionBuilder(ControlFlowRegionKind.Try)); 3691filterAndHandlerRegion = new RegionBuilder(ControlFlowRegionKind.FilterAndHandler, catchClause.ExceptionType, catchClause.Locals); 3694var filterRegion = new RegionBuilder(ControlFlowRegionKind.Filter, catchClause.ExceptionType); 3710var handlerRegion = new RegionBuilder(ControlFlowRegionKind.Catch, catchClause.ExceptionType, 3758var finallyRegion = new RegionBuilder(ControlFlowRegionKind.Finally); 3952var usingRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: locals); 4071resourceRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime); 4081EnterRegion(new RegionBuilder(ControlFlowRegionKind.TryAndFinally)); 4082EnterRegion(new RegionBuilder(ControlFlowRegionKind.Try)); 4114var finallyRegion = new RegionBuilder(ControlFlowRegionKind.Finally); 4302var lockRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, 4353EnterRegion(new RegionBuilder(ControlFlowRegionKind.TryAndFinally)); 4354EnterRegion(new RegionBuilder(ControlFlowRegionKind.Try)); 4396EnterRegion(new RegionBuilder(ControlFlowRegionKind.Finally)); 4451var enumeratorCaptureRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime); 4476regionForCollection = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: ImmutableArray.Create(local)); 4493EnterRegion(new RegionBuilder(ControlFlowRegionKind.TryAndFinally)); 4494EnterRegion(new RegionBuilder(ControlFlowRegionKind.Try)); 4507var localsRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals); 4742var loopRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: locals); 5464var switchRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: locals); 5729EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals)); 5745EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.ConditionLocals)); 5773EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals)); 5831EnterRegion(new RegionBuilder(ControlFlowRegionKind.StaticLocalInitializer)); 6789var constructorRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime); 6849EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime)); 7270EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: initializer.Locals)); 7716var armScopeRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: arm.Locals); 7917var 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; 2341var resultCaptureRegion = CurrentRegionRequired; 2424var resultCaptureRegion = CurrentRegionRequired; 2461var resultCaptureRegion = CurrentRegionRequired; 2562var resultCaptureRegion = CurrentRegionRequired; 2670var resultCaptureRegion = CurrentRegionRequired; 2756RegionBuilder? current = _currentRegion; 3041RegionBuilder resultCaptureRegion = CurrentRegionRequired; 3101RegionBuilder resultCaptureRegion = CurrentRegionRequired; 3358RegionBuilder resultCaptureRegion = CurrentRegionRequired; 3570var locals = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals); 3656RegionBuilder? tryAndFinallyRegion = null; 3682RegionBuilder? filterAndHandlerRegion = null; 3694var filterRegion = new RegionBuilder(ControlFlowRegionKind.Filter, catchClause.ExceptionType); 3710var handlerRegion = new RegionBuilder(ControlFlowRegionKind.Catch, catchClause.ExceptionType, 3758var finallyRegion = new RegionBuilder(ControlFlowRegionKind.Finally); 3952var usingRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: locals); 4067RegionBuilder? resourceRegion = null; 4114var finallyRegion = new RegionBuilder(ControlFlowRegionKind.Finally); 4302var lockRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, 4451var enumeratorCaptureRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime); 4456RegionBuilder? regionForCollection = null; 4507var localsRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals); 4742var loopRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: locals); 4876RegionBuilder currentRegion = CurrentRegionRequired; 5464var switchRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: locals); 6434RegionBuilder owner = CurrentRegionRequired; 6786RegionBuilder resultRegion = CurrentRegionRequired; 6789var constructorRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime); 7708RegionBuilder resultCaptureRegion = CurrentRegionRequired; 7716var armScopeRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: arm.Locals); 7914var outerCaptureRegion = CurrentRegionRequired; 7917var 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)