21 instantiations of PendingBranch
Microsoft.CodeAnalysis.CSharp (21)
FlowAnalysis\AbstractFlowPass.cs (12)
2026
PendingBranches.Add(new
PendingBranch
(node, this.State, label: null));
2334
PendingBranches.Add(new
PendingBranch
(node, this.State, null));
2805
PendingBranches.Add(new
PendingBranch
(node, this.State, null));
2891
PendingBranches.Add(new
PendingBranch
(node, this.State, null));
3237
PendingBranches.Add(new
PendingBranch
(node, this.State, node.Label));
3245
PendingBranches.Add(new
PendingBranch
(node, this.State, node.Label));
3348
PendingBranches.Add(new
PendingBranch
(node, this.State, node.Label));
3414
PendingBranches.Add(new
PendingBranch
(node, this.State, null));
3445
PendingBranches.Add(new
PendingBranch
(node, this.State, null));
3453
PendingBranches.Add(new
PendingBranch
(node, this.State, null));
3562
PendingBranches.Add(new
PendingBranch
(node, this.StateWhenTrue, node.Label));
3567
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)
3028
PendingBranches.Add(new
PendingBranch
(node, this.State, label: null));
3075
PendingBranches.Add(new
PendingBranch
(node, joinedState, label: null, this.IsConditionalState, this.StateWhenTrue, this.StateWhenFalse));
3079
PendingBranches.Add(new
PendingBranch
(node, this.State, label: null));
3424
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)
1864
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)
377
ImmutableArray<
PendingBranch
> pendingReturns = base.Scan(ref badRegion);
390
foreach (
PendingBranch
returnBranch in pendingReturns)
420
protected override ImmutableArray<
PendingBranch
> RemoveReturns()
442
private static bool HasAwait(
PendingBranch
pending)
697
ImmutableArray<
PendingBranch
> returns = Analyze(ref badRegion);
2468
ImmutableArray<
PendingBranch
> pendingReturns = RemoveReturns();
2473
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)
587
protected override ImmutableArray<
PendingBranch
> Scan(ref bool badRegion)
610
ImmutableArray<
PendingBranch
> pendingReturns = base.Scan(ref badRegion);
617
foreach (
var
pendingReturn in pendingReturns)
1069
private void EnforceMemberNotNullWhenForPendingReturn(
PendingBranch
pendingReturn, BoundReturnStatement returnStatement)
1225
private void EnforceNotNullWhenForPendingReturn(
PendingBranch
pendingReturn, BoundReturnStatement returnStatement)
1871
ImmutableArray<
PendingBranch
> returns = walker.Analyze(ref badRegion, initialState);
3437
ImmutableArray<
PendingBranch
> pendingReturns = RemoveReturns();
3438
foreach (
var
pendingReturn in pendingReturns)
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (1)
201
protected override ImmutableArray<
PendingBranch
> Scan(ref bool badRegion)