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