41 instantiations of RegionBuilder
Microsoft.CodeAnalysis (41)
Operations\ControlFlowGraphBuilder.cs (41)
116var root = new RegionBuilder(ControlFlowRegionKind.Root); 122builder.EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime)); 1387EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals)); 1485EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals)); 1525EnterRegion(new RegionBuilder(ControlFlowRegionKind.ErroneousBody)); 1646var resultCaptureRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, isStackSpillRegion: true); 1842frameOpt.RegionBuilderOpt = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, isStackSpillRegion: true); 3578var locals = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals); 3668tryAndFinallyRegion = new RegionBuilder(ControlFlowRegionKind.TryAndFinally); 3670EnterRegion(new RegionBuilder(ControlFlowRegionKind.Try)); 3676EnterRegion(new RegionBuilder(ControlFlowRegionKind.TryAndCatch)); 3677EnterRegion(new RegionBuilder(ControlFlowRegionKind.Try)); 3699filterAndHandlerRegion = new RegionBuilder(ControlFlowRegionKind.FilterAndHandler, catchClause.ExceptionType, catchClause.Locals); 3702var filterRegion = new RegionBuilder(ControlFlowRegionKind.Filter, catchClause.ExceptionType); 3718var handlerRegion = new RegionBuilder(ControlFlowRegionKind.Catch, catchClause.ExceptionType, 3766var finallyRegion = new RegionBuilder(ControlFlowRegionKind.Finally); 3960var usingRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: locals); 4079resourceRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime); 4089EnterRegion(new RegionBuilder(ControlFlowRegionKind.TryAndFinally)); 4090EnterRegion(new RegionBuilder(ControlFlowRegionKind.Try)); 4122var finallyRegion = new RegionBuilder(ControlFlowRegionKind.Finally); 4310var lockRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, 4361EnterRegion(new RegionBuilder(ControlFlowRegionKind.TryAndFinally)); 4362EnterRegion(new RegionBuilder(ControlFlowRegionKind.Try)); 4404EnterRegion(new RegionBuilder(ControlFlowRegionKind.Finally)); 4459var enumeratorCaptureRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime); 4484regionForCollection = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: ImmutableArray.Create(local)); 4501EnterRegion(new RegionBuilder(ControlFlowRegionKind.TryAndFinally)); 4502EnterRegion(new RegionBuilder(ControlFlowRegionKind.Try)); 4515var localsRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals); 4750var loopRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: locals); 5472var switchRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: locals); 5737EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals)); 5753EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.ConditionLocals)); 5781EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals)); 5839EnterRegion(new RegionBuilder(ControlFlowRegionKind.StaticLocalInitializer)); 6819var constructorRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime); 6879EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime)); 7300EnterRegion(new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: initializer.Locals)); 7780var armScopeRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: arm.Locals); 7981var 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) 1323private void EnterRegion(RegionBuilder region, bool spillingStack = false) 1349RegionBuilder enclosed = _currentRegion; 1646var resultCaptureRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, isStackSpillRegion: true); 1698/// and corresponding <see cref="RegionBuilder"/> if one was allocated to 1706private RegionBuilder? _lazyRegionBuilder; 1708public RegionBuilder? RegionBuilderOpt 1750RegionBuilder toMerge = _currentRegion; 1779RegionBuilder? toLeave = frame.RegionBuilderOpt; 1798private void LeaveRegionsUpTo(RegionBuilder resultCaptureRegion) 1806private int GetNextCaptureId(RegionBuilder owner) 1865RegionBuilder? currentSpillRegion = currentFrame.RegionBuilderOpt; 1894RegionBuilder candidate = CurrentRegionRequired; 2349var resultCaptureRegion = CurrentRegionRequired; 2432var resultCaptureRegion = CurrentRegionRequired; 2469var resultCaptureRegion = CurrentRegionRequired; 2570var resultCaptureRegion = CurrentRegionRequired; 2678var resultCaptureRegion = CurrentRegionRequired; 2764RegionBuilder? current = _currentRegion; 3049RegionBuilder resultCaptureRegion = CurrentRegionRequired; 3109RegionBuilder resultCaptureRegion = CurrentRegionRequired; 3366RegionBuilder resultCaptureRegion = CurrentRegionRequired; 3578var locals = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals); 3664RegionBuilder? tryAndFinallyRegion = null; 3690RegionBuilder? filterAndHandlerRegion = null; 3702var filterRegion = new RegionBuilder(ControlFlowRegionKind.Filter, catchClause.ExceptionType); 3718var handlerRegion = new RegionBuilder(ControlFlowRegionKind.Catch, catchClause.ExceptionType, 3766var finallyRegion = new RegionBuilder(ControlFlowRegionKind.Finally); 3960var usingRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: locals); 4075RegionBuilder? resourceRegion = null; 4122var finallyRegion = new RegionBuilder(ControlFlowRegionKind.Finally); 4310var lockRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, 4459var enumeratorCaptureRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime); 4464RegionBuilder? regionForCollection = null; 4515var localsRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: operation.Locals); 4750var loopRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: locals); 4884RegionBuilder currentRegion = CurrentRegionRequired; 5472var switchRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: locals); 6442RegionBuilder owner = CurrentRegionRequired; 6816RegionBuilder resultRegion = CurrentRegionRequired; 6819var constructorRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime); 7772RegionBuilder resultCaptureRegion = CurrentRegionRequired; 7780var armScopeRegion = new RegionBuilder(ControlFlowRegionKind.LocalLifetime, locals: arm.Locals); 7978var outerCaptureRegion = CurrentRegionRequired; 7981var 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)