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