21 instantiations of PendingBranch
Microsoft.CodeAnalysis.CSharp (21)
FlowAnalysis\AbstractFlowPass.cs (12)
2019
PendingBranches.Add(new
PendingBranch
(node, this.State, label: null));
2327
PendingBranches.Add(new
PendingBranch
(node, this.State, null));
2798
PendingBranches.Add(new
PendingBranch
(node, this.State, null));
2884
PendingBranches.Add(new
PendingBranch
(node, this.State, null));
3225
PendingBranches.Add(new
PendingBranch
(node, this.State, node.Label));
3233
PendingBranches.Add(new
PendingBranch
(node, this.State, node.Label));
3336
PendingBranches.Add(new
PendingBranch
(node, this.State, node.Label));
3402
PendingBranches.Add(new
PendingBranch
(node, this.State, null));
3433
PendingBranches.Add(new
PendingBranch
(node, this.State, null));
3441
PendingBranches.Add(new
PendingBranch
(node, this.State, null));
3550
PendingBranches.Add(new
PendingBranch
(node, this.StateWhenTrue, node.Label));
3555
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)
2947
PendingBranches.Add(new
PendingBranch
(node, this.State, label: null));
2994
PendingBranches.Add(new
PendingBranch
(node, joinedState, label: null, this.IsConditionalState, this.StateWhenTrue, this.StateWhenFalse));
2998
PendingBranches.Add(new
PendingBranch
(node, this.State, label: null));
3343
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)
421
protected virtual ImmutableArray<
PendingBranch
> Scan(ref bool badRegion)
432
ImmutableArray<
PendingBranch
> result = RemoveReturns();
436
protected ImmutableArray<
PendingBranch
> Analyze(ref bool badRegion, Optional<TLocalState> initialState = default)
438
ImmutableArray<
PendingBranch
> returns;
531
protected virtual ImmutableArray<
PendingBranch
> RemoveReturns()
533
ImmutableArray<
PendingBranch
> result;
762
protected virtual void NoteBranch(
PendingBranch
pending, BoundNode gotoStmt, BoundStatement target)
792
protected virtual void ResolveBranch(
PendingBranch
pending, LabelSymbol label, BoundStatement? target, ref bool labelStateChanged)
1857
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)
81
protected override void ResolveBranch(
PendingBranch
pending, LabelSymbol label, BoundStatement target, ref bool labelStateChanged)
134
foreach (
var
branch in PendingBranches.AsEnumerable())
FlowAnalysis\ControlFlowPass.cs (5)
133
protected override ImmutableArray<
PendingBranch
> Scan(ref bool badRegion)
193
ImmutableArray<
PendingBranch
> returns = Analyze(ref badRegion);
204
protected override ImmutableArray<
PendingBranch
> RemoveReturns()
207
foreach (
var
pending in result)
300
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)
329
protected override ImmutableArray<
PendingBranch
> Scan(ref bool badRegion)
371
ImmutableArray<
PendingBranch
> pendingReturns = base.Scan(ref badRegion);
383
foreach (
PendingBranch
returnBranch in pendingReturns)
397
protected override ImmutableArray<
PendingBranch
> RemoveReturns()
419
private static bool HasAwait(
PendingBranch
pending)
682
ImmutableArray<
PendingBranch
> returns = Analyze(ref badRegion);
2441
ImmutableArray<
PendingBranch
> pendingReturns = RemoveReturns();
2446
foreach (
PendingBranch
pending in pendingReturns)
FlowAnalysis\EntryPointsWalker.cs (1)
58
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)
579
protected override ImmutableArray<
PendingBranch
> Scan(ref bool badRegion)
601
ImmutableArray<
PendingBranch
> pendingReturns = base.Scan(ref badRegion);
608
foreach (
var
pendingReturn in pendingReturns)
1060
private void EnforceMemberNotNullWhenForPendingReturn(
PendingBranch
pendingReturn, BoundReturnStatement returnStatement)
1214
private void EnforceNotNullWhenForPendingReturn(
PendingBranch
pendingReturn, BoundReturnStatement returnStatement)
1849
ImmutableArray<
PendingBranch
> returns = walker.Analyze(ref badRegion, initialState);
3356
ImmutableArray<
PendingBranch
> pendingReturns = RemoveReturns();
3357
foreach (
var
pendingReturn in pendingReturns)
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (1)
201
protected override ImmutableArray<
PendingBranch
> Scan(ref bool badRegion)