2 instantiations of BoundDecisionDag
Microsoft.CodeAnalysis.CSharp (2)
Binder\DecisionDagBuilder.cs (1)
756var boundDecisionDag = new BoundDecisionDag(rootDecisionDagNode.Syntax, rootDecisionDagNode);
Generated\BoundNodes.xml.Generated.cs (1)
5022var result = new BoundDecisionDag(this.Syntax, rootNode, this.HasErrors);
73 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)
24/// the class <see cref="BoundDecisionDag"/> and is a representation of a finite state automaton that performs a 48/// cref="BoundDecisionDag"/> containing this set of nodes becomes part of the bound nodes (e.g. in <see 81public static BoundDecisionDag CreateDecisionDagForSwitchStatement( 97public static BoundDecisionDag CreateDecisionDagForSwitchExpression( 113public static BoundDecisionDag CreateDecisionDagForIsPattern( 127private BoundDecisionDag CreateDecisionDagForIsPattern( 141private BoundDecisionDag CreateDecisionDagForSwitchStatement( 166private BoundDecisionDag CreateDecisionDagForSwitchExpression( 737private BoundDecisionDag MakeBoundDecisionDag(SyntaxNode syntax, ref TemporaryArray<StateForCase> cases) 756var boundDecisionDag = new BoundDecisionDag(rootDecisionDagNode.Syntax, rootDecisionDagNode); 971/// Compute the <see cref="BoundDecisionDag"/> corresponding to each <see cref="DagState"/> of the given <see cref="DecisionDag"/> 1838/// 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)
34bool reportedNotExhaustive = CheckSwitchExpressionExhaustive(node, boundInputExpression, switchArms, out BoundDecisionDag decisionDag, out LabelSymbol? defaultLabel, diagnostics); 58out BoundDecisionDag decisionDag, 125BoundDecisionDag.AddSuccessors(ref builder, n); 129BoundDecisionDag.AddSuccessors(ref builder, n);
BoundTree\BoundDecisionDag.cs (2)
93public BoundDecisionDag Rewrite(Func<BoundDecisionDagNode, IReadOnlyDictionary<BoundDecisionDagNode, BoundDecisionDagNode>, BoundDecisionDagNode> makeReplacement) 144public 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)
376BoundDecisionDag decisionDag,
Generated\BoundNodes.xml.Generated.cs (28)
3770public BoundSwitchStatement(SyntaxNode syntax, BoundExpression expression, ImmutableArray<LocalSymbol> innerLocals, ImmutableArray<LocalFunctionSymbol> innerLocalFunctions, ImmutableArray<BoundSwitchSection> switchSections, BoundDecisionDag reachabilityDecisionDag, BoundSwitchLabel? defaultLabel, GeneratedLabelSymbol breakLabel, bool hasErrors = false) 3794public BoundDecisionDag ReachabilityDecisionDag { get; } 3801public BoundSwitchStatement Update(BoundExpression expression, ImmutableArray<LocalSymbol> innerLocals, ImmutableArray<LocalFunctionSymbol> innerLocalFunctions, ImmutableArray<BoundSwitchSection> switchSections, BoundDecisionDag reachabilityDecisionDag, BoundSwitchLabel? defaultLabel, GeneratedLabelSymbol breakLabel) 4879protected BoundSwitchExpression(BoundKind kind, SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false) 4896public BoundDecisionDag ReachabilityDecisionDag { get; } 4942public BoundUnconvertedSwitchExpression(SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false) 4956public BoundUnconvertedSwitchExpression Update(BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type) 4970public BoundConvertedSwitchExpression(SyntaxNode syntax, TypeSymbol? naturalTypeOpt, bool wasTargetTyped, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol type, bool hasErrors = false) 4990public BoundConvertedSwitchExpression Update(TypeSymbol? naturalTypeOpt, bool wasTargetTyped, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol type) 5018public BoundDecisionDag Update(BoundDecisionDagNode rootNode) 5022var result = new BoundDecisionDag(this.Syntax, rootNode, this.HasErrors); 7947public BoundIsPatternExpression(SyntaxNode syntax, BoundExpression expression, BoundPattern pattern, bool isNegated, BoundDecisionDag reachabilityDecisionDag, LabelSymbol whenTrueLabel, LabelSymbol whenFalseLabel, TypeSymbol? type, bool hasErrors = false) 7968public BoundDecisionDag ReachabilityDecisionDag { get; } 7975public BoundIsPatternExpression Update(BoundExpression expression, BoundPattern pattern, bool isNegated, BoundDecisionDag reachabilityDecisionDag, LabelSymbol whenTrueLabel, LabelSymbol whenFalseLabel, TypeSymbol? type) 9093return VisitDecisionDag((BoundDecisionDag)node, arg); 9434public virtual R VisitDecisionDag(BoundDecisionDag node, A arg) => this.DefaultVisit(node, arg); 9670public virtual BoundNode? VisitDecisionDag(BoundDecisionDag node) => this.DefaultVisit(node); 10283public override BoundNode? VisitDecisionDag(BoundDecisionDag node) 11351BoundDecisionDag reachabilityDecisionDag = node.ReachabilityDecisionDag; 11530BoundDecisionDag reachabilityDecisionDag = node.ReachabilityDecisionDag; 11538BoundDecisionDag reachabilityDecisionDag = node.ReachabilityDecisionDag; 11543public override BoundNode? VisitDecisionDag(BoundDecisionDag node) 12049BoundDecisionDag reachabilityDecisionDag = node.ReachabilityDecisionDag; 13397BoundDecisionDag reachabilityDecisionDag = node.ReachabilityDecisionDag; 13638BoundDecisionDag reachabilityDecisionDag = node.ReachabilityDecisionDag; 13658BoundDecisionDag reachabilityDecisionDag = node.ReachabilityDecisionDag; 14695BoundDecisionDag reachabilityDecisionDag = node.ReachabilityDecisionDag; 16102public override TreeDumperNode VisitDecisionDag(BoundDecisionDag node, object? arg) => new TreeDumperNode("decisionDag", null, new TreeDumperNode[]
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (4)
62private void ComputeLabelSet(BoundDecisionDag decisionDag) 337protected BoundDecisionDag ShareTempsIfPossibleAndEvaluateInput( 338BoundDecisionDag decisionDag, 369protected 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(