2 instantiations of BoundDecisionDag
Microsoft.CodeAnalysis.CSharp (2)
Binder\DecisionDagBuilder.cs (1)
723
var boundDecisionDag = new
BoundDecisionDag
(rootDecisionDagNode.Syntax, rootDecisionDagNode);
Generated\BoundNodes.xml.Generated.cs (1)
4911
var result = new
BoundDecisionDag
(this.Syntax, rootNode, this.HasErrors);
74 references to BoundDecisionDag
Microsoft.CodeAnalysis.CSharp (73)
Binder\Binder_Patterns.cs (2)
58
BoundDecisionDag
decisionDag = DecisionDagBuilder.CreateDecisionDagForIsPattern(
129
static bool? getConstantResult(
BoundDecisionDag
decisionDag, bool negated, LabelSymbol whenTrueLabel, LabelSymbol whenFalseLabel)
Binder\DecisionDagBuilder.cs (12)
23
/// the class <see cref="
BoundDecisionDag
"/> and is a representation of a finite state automaton that performs a
52
/// not the state descriptions. A <see cref="
BoundDecisionDag
"/> containing this
82
public static
BoundDecisionDag
CreateDecisionDagForSwitchStatement(
98
public static
BoundDecisionDag
CreateDecisionDagForSwitchExpression(
114
public static
BoundDecisionDag
CreateDecisionDagForIsPattern(
128
private
BoundDecisionDag
CreateDecisionDagForIsPattern(
138
private
BoundDecisionDag
CreateDecisionDagForSwitchStatement(
163
private
BoundDecisionDag
CreateDecisionDagForSwitchExpression(
707
private
BoundDecisionDag
MakeBoundDecisionDag(SyntaxNode syntax, ImmutableArray<StateForCase> cases)
723
var
boundDecisionDag = new BoundDecisionDag(rootDecisionDagNode.Syntax, rootDecisionDagNode);
922
/// Compute the <see cref="
BoundDecisionDag
"/> corresponding to each <see cref="DagState"/> of the given <see cref="DecisionDag"/>
1737
/// machine (<see cref="
BoundDecisionDag
"/>), and contains a representation of the meaning of the state. Because we always make
Binder\SwitchBinder_Patterns.cs (2)
45
BoundDecisionDag
decisionDag = DecisionDagBuilder.CreateDecisionDagForSwitchStatement(
74
BoundDecisionDag
decisionDag,
Binder\SwitchExpressionBinder.cs (4)
33
bool reportedNotExhaustive = CheckSwitchExpressionExhaustive(node, boundInputExpression, switchArms, out
BoundDecisionDag
decisionDag, out LabelSymbol? defaultLabel, diagnostics);
57
out
BoundDecisionDag
decisionDag,
122
return
BoundDecisionDag
.Successors(n);
125
return
BoundDecisionDag
.Successors(n);
BoundTree\BoundDecisionDag.cs (2)
87
public
BoundDecisionDag
Rewrite(Func<BoundDecisionDagNode, IReadOnlyDictionary<BoundDecisionDagNode, BoundDecisionDagNode>, BoundDecisionDagNode> makeReplacement)
138
public
BoundDecisionDag
SimplifyDecisionDagIfConstantInput(BoundExpression input)
BoundTree\BoundIsPatternExpression.cs (2)
11
public
BoundDecisionDag
GetDecisionDagForLowering(CSharpCompilation compilation)
13
BoundDecisionDag
decisionDag = this.ReachabilityDecisionDag;
BoundTree\BoundSwitchExpression.cs (2)
12
public
BoundDecisionDag
GetDecisionDagForLowering(CSharpCompilation compilation, out LabelSymbol? defaultLabel)
16
BoundDecisionDag
decisionDag = this.ReachabilityDecisionDag;
BoundTree\BoundSwitchStatement.cs (2)
12
public
BoundDecisionDag
GetDecisionDagForLowering(CSharpCompilation compilation)
14
BoundDecisionDag
decisionDag = this.ReachabilityDecisionDag;
FlowAnalysis\NullableWalker_Patterns.cs (1)
338
BoundDecisionDag
decisionDag,
Generated\BoundNodes.xml.Generated.cs (28)
3659
public BoundSwitchStatement(SyntaxNode syntax, BoundExpression expression, ImmutableArray<LocalSymbol> innerLocals, ImmutableArray<LocalFunctionSymbol> innerLocalFunctions, ImmutableArray<BoundSwitchSection> switchSections,
BoundDecisionDag
reachabilityDecisionDag, BoundSwitchLabel? defaultLabel, GeneratedLabelSymbol breakLabel, bool hasErrors = false)
3683
public
BoundDecisionDag
ReachabilityDecisionDag { get; }
3690
public BoundSwitchStatement Update(BoundExpression expression, ImmutableArray<LocalSymbol> innerLocals, ImmutableArray<LocalFunctionSymbol> innerLocalFunctions, ImmutableArray<BoundSwitchSection> switchSections,
BoundDecisionDag
reachabilityDecisionDag, BoundSwitchLabel? defaultLabel, GeneratedLabelSymbol breakLabel)
4768
protected BoundSwitchExpression(BoundKind kind, SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms,
BoundDecisionDag
reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false)
4785
public
BoundDecisionDag
ReachabilityDecisionDag { get; }
4831
public BoundUnconvertedSwitchExpression(SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms,
BoundDecisionDag
reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false)
4845
public BoundUnconvertedSwitchExpression Update(BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms,
BoundDecisionDag
reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type)
4859
public BoundConvertedSwitchExpression(SyntaxNode syntax, TypeSymbol? naturalTypeOpt, bool wasTargetTyped, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms,
BoundDecisionDag
reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol type, bool hasErrors = false)
4879
public BoundConvertedSwitchExpression Update(TypeSymbol? naturalTypeOpt, bool wasTargetTyped, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms,
BoundDecisionDag
reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol type)
4907
public
BoundDecisionDag
Update(BoundDecisionDagNode rootNode)
4911
var
result = new BoundDecisionDag(this.Syntax, rootNode, this.HasErrors);
7629
public BoundIsPatternExpression(SyntaxNode syntax, BoundExpression expression, BoundPattern pattern, bool isNegated,
BoundDecisionDag
reachabilityDecisionDag, LabelSymbol whenTrueLabel, LabelSymbol whenFalseLabel, TypeSymbol? type, bool hasErrors = false)
7650
public
BoundDecisionDag
ReachabilityDecisionDag { get; }
7657
public BoundIsPatternExpression Update(BoundExpression expression, BoundPattern pattern, bool isNegated,
BoundDecisionDag
reachabilityDecisionDag, LabelSymbol whenTrueLabel, LabelSymbol whenFalseLabel, TypeSymbol? type)
8769
return VisitDecisionDag((
BoundDecisionDag
)node, arg);
9097
public virtual R VisitDecisionDag(
BoundDecisionDag
node, A arg) => this.DefaultVisit(node, arg);
9325
public virtual BoundNode? VisitDecisionDag(
BoundDecisionDag
node) => this.DefaultVisit(node);
9926
public override BoundNode? VisitDecisionDag(
BoundDecisionDag
node)
10956
BoundDecisionDag
reachabilityDecisionDag = node.ReachabilityDecisionDag;
11135
BoundDecisionDag
reachabilityDecisionDag = node.ReachabilityDecisionDag;
11143
BoundDecisionDag
reachabilityDecisionDag = node.ReachabilityDecisionDag;
11148
public override BoundNode? VisitDecisionDag(
BoundDecisionDag
node)
11615
BoundDecisionDag
reachabilityDecisionDag = node.ReachabilityDecisionDag;
12930
BoundDecisionDag
reachabilityDecisionDag = node.ReachabilityDecisionDag;
13171
BoundDecisionDag
reachabilityDecisionDag = node.ReachabilityDecisionDag;
13191
BoundDecisionDag
reachabilityDecisionDag = node.ReachabilityDecisionDag;
14158
BoundDecisionDag
reachabilityDecisionDag = node.ReachabilityDecisionDag;
15542
public override TreeDumperNode VisitDecisionDag(
BoundDecisionDag
node, object? arg) => new TreeDumperNode("decisionDag", null, new TreeDumperNode[]
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (4)
62
private void ComputeLabelSet(
BoundDecisionDag
decisionDag)
338
protected
BoundDecisionDag
ShareTempsIfPossibleAndEvaluateInput(
339
BoundDecisionDag
decisionDag,
370
protected ImmutableArray<BoundStatement> LowerDecisionDagCore(
BoundDecisionDag
decisionDag)
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (6)
505
protected
BoundDecisionDag
ShareTempsAndEvaluateInput(
507
BoundDecisionDag
decisionDag,
609
private
BoundDecisionDag
RewriteTupleInput(
610
BoundDecisionDag
decisionDag,
632
var
rewrittenDag = decisionDag.Rewrite(makeReplacement);
681
return
BoundDecisionDag
.TrivialReplacement(node, replacement);
Lowering\LocalRewriter\LocalRewriter_BasePatternSwitchLocalRewriter.cs (1)
68
protected (ImmutableArray<BoundStatement> loweredDag, ImmutableDictionary<SyntaxNode, ImmutableArray<BoundStatement>> switchSections) LowerDecisionDag(
BoundDecisionDag
decisionDag)
Lowering\LocalRewriter\LocalRewriter_IsPatternOperator.cs (3)
17
BoundDecisionDag
decisionDag = node.GetDecisionDagForLowering(_factory.Compilation);
109
internal BoundExpression LowerGeneralIsPattern(BoundIsPatternExpression node,
BoundDecisionDag
decisionDag)
220
BoundDecisionDag
decisionDag,
Lowering\LocalRewriter\LocalRewriter_PatternSwitchStatement.cs (1)
98
BoundDecisionDag
decisionDag = ShareTempsIfPossibleAndEvaluateInput(
Lowering\LocalRewriter\LocalRewriter_SwitchExpression.cs (1)
53
BoundDecisionDag
decisionDag = ShareTempsIfPossibleAndEvaluateInput(
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (1)
Semantics\PatternMatchingTestBase.cs (1)
453
var
decisionDag = node switch