21 instantiations of PendingBranch
Microsoft.CodeAnalysis.CSharp (21)
FlowAnalysis\AbstractFlowPass.cs (12)
2025PendingBranches.Add(new PendingBranch(node, this.State, label: null)); 2333PendingBranches.Add(new PendingBranch(node, this.State, null)); 2825PendingBranches.Add(new PendingBranch(node, this.State, null)); 2911PendingBranches.Add(new PendingBranch(node, this.State, null)); 3257PendingBranches.Add(new PendingBranch(node, this.State, node.Label)); 3265PendingBranches.Add(new PendingBranch(node, this.State, node.Label)); 3368PendingBranches.Add(new PendingBranch(node, this.State, node.Label)); 3434PendingBranches.Add(new PendingBranch(node, this.State, null)); 3465PendingBranches.Add(new PendingBranch(node, this.State, null)); 3473PendingBranches.Add(new PendingBranch(node, this.State, null)); 3582PendingBranches.Add(new PendingBranch(node, this.StateWhenTrue, node.Label)); 3587PendingBranches.Add(new PendingBranch(node, this.StateWhenFalse, node.Label));
FlowAnalysis\AbstractFlowPass_LocalFunctions.cs (1)
106PendingBranches.Add(new PendingBranch(null, this.State, null));
FlowAnalysis\AbstractFlowPass_Switch.cs (3)
69PendingBranches.Add(new PendingBranch(label, this.State, label.Label)); 135PendingBranches.Add(new PendingBranch(node, state, node.DefaultLabel)); 138PendingBranches.Add(new PendingBranch(node, state, label));
FlowAnalysis\NullableWalker.cs (4)
3049PendingBranches.Add(new PendingBranch(node, this.State, label: null)); 3096PendingBranches.Add(new PendingBranch(node, joinedState, label: null, this.IsConditionalState, this.StateWhenTrue, this.StateWhenFalse)); 3100PendingBranches.Add(new PendingBranch(node, this.State, label: null)); 3446PendingBranches.Add(new PendingBranch(null, this.State, null));
FlowAnalysis\NullableWalker_Patterns.cs (1)
307PendingBranches.Add(new PendingBranch(label, this.State, label.Label));
59 references to PendingBranch
Microsoft.CodeAnalysis.CSharp (59)
FlowAnalysis\AbstractFlowPass.cs (11)
420protected virtual ImmutableArray<PendingBranch> Scan(ref bool badRegion) 431ImmutableArray<PendingBranch> result = RemoveReturns(); 435protected ImmutableArray<PendingBranch> Analyze(ref bool badRegion, Optional<TLocalState> initialState = default) 437ImmutableArray<PendingBranch> returns; 530protected virtual ImmutableArray<PendingBranch> RemoveReturns() 532ImmutableArray<PendingBranch> result; 749foreach (var pending in pendingBranches) 761protected virtual void NoteBranch(PendingBranch pending, BoundNode gotoStmt, BoundStatement target) 781foreach (var pending in pendingBranches) 791protected virtual void ResolveBranch(PendingBranch pending, LabelSymbol label, BoundStatement? target, ref bool labelStateChanged) 1863foreach (var pend in tryAndCatchPending.PendingBranches.AsEnumerable())
FlowAnalysis\AbstractFlowPass.PendingBranchesCollection.cs (15)
16private ArrayBuilder<PendingBranch> _unlabeledBranches; 17private PooledDictionary<LabelSymbol, ArrayBuilder<PendingBranch>>? _labeledBranches; 21_unlabeledBranches = ArrayBuilder<PendingBranch>.GetInstance(); 53internal ImmutableArray<PendingBranch> ToImmutable() 60internal ArrayBuilder<PendingBranch>? GetAndRemoveBranches(LabelSymbol? label) 62ArrayBuilder<PendingBranch>? result; 72_unlabeledBranches = ArrayBuilder<PendingBranch>.GetInstance(); 86internal void Add(PendingBranch branch) 113private ArrayBuilder<PendingBranch> GetOrAddLabeledBranches(LabelSymbol label) 117_labeledBranches = PooledDictionary<LabelSymbol, ArrayBuilder<PendingBranch>>.GetInstance(); 121branches = ArrayBuilder<PendingBranch>.GetInstance(); 130internal IEnumerable<PendingBranch> AsEnumerable() 136IEnumerable<PendingBranch> asEnumerableCore() 138foreach (var branch in _unlabeledBranches) 144foreach (var branch in branches)
FlowAnalysis\AbstractFlowPass_LocalFunctions.cs (2)
111ImmutableArray<PendingBranch> pendingReturns = RemoveReturns(); 120foreach (PendingBranch pending in pendingReturns)
FlowAnalysis\AbstractRegionControlFlowPass.cs (2)
39ImmutableArray<PendingBranch> pendingReturns = RemoveReturns(); 42foreach (PendingBranch returnBranch in pendingReturns)
FlowAnalysis\AbstractRegionDataFlowPass.cs (1)
32protected override ImmutableArray<PendingBranch> Scan(ref bool badRegion)
FlowAnalysis\AlwaysAssignedWalker.cs (2)
82protected override void ResolveBranch(PendingBranch pending, LabelSymbol label, BoundStatement target, ref bool labelStateChanged) 135foreach (var branch in PendingBranches.AsEnumerable())
FlowAnalysis\ControlFlowPass.cs (5)
132protected override ImmutableArray<PendingBranch> Scan(ref bool badRegion) 192ImmutableArray<PendingBranch> returns = Analyze(ref badRegion); 203protected override ImmutableArray<PendingBranch> RemoveReturns() 206foreach (var pending in result) 299foreach (var branch in PendingBranches.AsEnumerable())
FlowAnalysis\DataFlowsInWalker.cs (1)
80PendingBranch pending,
FlowAnalysis\DataFlowsOutWalker.cs (1)
67protected override ImmutableArray<PendingBranch> Scan(ref bool badRegion)
FlowAnalysis\DefiniteAssignment.cs (8)
330protected override ImmutableArray<PendingBranch> Scan(ref bool badRegion) 378ImmutableArray<PendingBranch> pendingReturns = base.Scan(ref badRegion); 391foreach (PendingBranch returnBranch in pendingReturns) 406protected override ImmutableArray<PendingBranch> RemoveReturns() 428private static bool HasAwait(PendingBranch pending) 683ImmutableArray<PendingBranch> returns = Analyze(ref badRegion); 2454ImmutableArray<PendingBranch> pendingReturns = RemoveReturns(); 2459foreach (PendingBranch pending in pendingReturns)
FlowAnalysis\EntryPointsWalker.cs (1)
59protected override void NoteBranch(PendingBranch pending, BoundNode gotoStmt, BoundStatement targetStmt)
FlowAnalysis\ExitPointsWalker.cs (1)
122foreach (var pending in PendingBranches.AsEnumerable())
FlowAnalysis\NullableWalker.cs (8)
593protected override ImmutableArray<PendingBranch> Scan(ref bool badRegion) 620ImmutableArray<PendingBranch> pendingReturns = base.Scan(ref badRegion); 627foreach (var pendingReturn in pendingReturns) 1079private void EnforceMemberNotNullWhenForPendingReturn(PendingBranch pendingReturn, BoundReturnStatement returnStatement) 1235private void EnforceNotNullWhenForPendingReturn(PendingBranch pendingReturn, BoundReturnStatement returnStatement) 1892ImmutableArray<PendingBranch> returns = walker.Analyze(ref badRegion, initialState); 3459ImmutableArray<PendingBranch> pendingReturns = RemoveReturns(); 3460foreach (var pendingReturn in pendingReturns)
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (1)
201protected override ImmutableArray<PendingBranch> Scan(ref bool badRegion)