3 instantiations of BoundWhenDecisionDagNode
Microsoft.CodeAnalysis.CSharp (3)
Binder\DecisionDagBuilder.cs (2)
1030
state.Dag = uniqifyDagNode(new
BoundWhenDecisionDagNode
(first.Syntax, first.Bindings, first.WhenClause, whenTrue, whenFalse));
1036
return bindings.IsDefaultOrEmpty ? final : uniqifyDagNode(new
BoundWhenDecisionDagNode
(syntax, bindings, null, final, null));
Generated\BoundNodes.xml.Generated.cs (1)
5137
var result = new
BoundWhenDecisionDagNode
(this.Syntax, bindings, whenExpression, whenTrue, whenFalse, this.HasErrors);
37 references to BoundWhenDecisionDagNode
Microsoft.CodeAnalysis.CSharp (37)
Binder\DecisionDagBuilder.cs (1)
29
/// <see cref="
BoundWhenDecisionDagNode
"/> represents the test performed by evaluating the expression of the
Binder\PatternExplainer.cs (4)
61
BoundWhenDecisionDagNode
w when distance(w.WhenTrue) is var trueDist2 && distance(w.WhenFalse) is var falseDist2 =>
88
case
BoundWhenDecisionDagNode
w:
159
case
BoundWhenDecisionDagNode
whenNode:
258
bool sense = t.WhenTrue == nextNode || (t.WhenFalse != nextNode && t.WhenTrue is
BoundWhenDecisionDagNode
);
BoundTree\BoundDecisionDag.cs (2)
37
case
BoundWhenDecisionDagNode
w:
130
case
BoundWhenDecisionDagNode
p:
BoundTree\BoundDecisionDagNode.cs (4)
29
case (
BoundWhenDecisionDagNode
n1,
BoundWhenDecisionDagNode
n2):
46
case
BoundWhenDecisionDagNode
n:
95
case
BoundWhenDecisionDagNode
node:
FlowAnalysis\NullableWalker_Patterns.cs (1)
669
case
BoundWhenDecisionDagNode
w:
Generated\BoundNodes.xml.Generated.cs (8)
5133
public
BoundWhenDecisionDagNode
Update(ImmutableArray<BoundPatternBinding> bindings, BoundExpression? whenExpression, BoundDecisionDagNode whenTrue, BoundDecisionDagNode? whenFalse)
5137
var
result = new BoundWhenDecisionDagNode(this.Syntax, bindings, whenExpression, whenTrue, whenFalse, this.HasErrors);
9136
return VisitWhenDecisionDagNode((
BoundWhenDecisionDagNode
)node, arg);
9474
public virtual R VisitWhenDecisionDagNode(
BoundWhenDecisionDagNode
node, A arg) => this.DefaultVisit(node, arg);
9710
public virtual BoundNode? VisitWhenDecisionDagNode(
BoundWhenDecisionDagNode
node) => this.DefaultVisit(node);
10338
public override BoundNode? VisitWhenDecisionDagNode(
BoundWhenDecisionDagNode
node)
11598
public override BoundNode? VisitWhenDecisionDagNode(
BoundWhenDecisionDagNode
node)
16160
public override TreeDumperNode VisitWhenDecisionDagNode(
BoundWhenDecisionDagNode
node, object? arg) => new TreeDumperNode("whenDecisionDagNode", null, new TreeDumperNode[]
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (11)
70
case
BoundWhenDecisionDagNode
w:
351
.Any(static (node, mightAssignWalker) => node is
BoundWhenDecisionDagNode
w && mightAssignWalker.MightAssignSomething(w.WhenExpression), mightAssignWalker);
377
case
BoundWhenDecisionDagNode
_:
1002
var whenExpressionMap = PooledDictionary<BoundExpression, (LabelSymbol LabelToWhenExpression, ArrayBuilder<
BoundWhenDecisionDagNode
> WhenNodes)>.GetInstance();
1003
var whenNodeMap = PooledDictionary<
BoundWhenDecisionDagNode
, (LabelSymbol LabelToWhenExpression, int WhenNodeIdentifier)>.GetInstance();
1006
if (node is
BoundWhenDecisionDagNode
whenNode)
1020
var list = ArrayBuilder<
BoundWhenDecisionDagNode
>.GetInstance();
1033
if (node is
BoundWhenDecisionDagNode
whenNode)
1054
bool tryLowerAsJumpToSharedWhenExpression(
BoundWhenDecisionDagNode
whenNode)
1079
void lowerWhenExpressionIfShared(BoundExpression whenExpression, LabelSymbol labelToWhenExpression, ArrayBuilder<
BoundWhenDecisionDagNode
> whenNodes)
1144
void lowerWhenClause(
BoundWhenDecisionDagNode
whenClause)
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (3)
516
.Any(static node => node is
BoundWhenDecisionDagNode
{ WhenExpression: { ConstantValueOpt: null } });
536
if (node is
BoundWhenDecisionDagNode
w)
582
case
BoundWhenDecisionDagNode
n:
Lowering\LocalRewriter\LocalRewriter_IsPatternOperator.cs (3)
65
case
BoundWhenDecisionDagNode
w:
139
if (node is
BoundWhenDecisionDagNode
w)
281
case
BoundWhenDecisionDagNode
whenNode: