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)
5025var 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)
3773public BoundSwitchStatement(SyntaxNode syntax, BoundExpression expression, ImmutableArray<LocalSymbol> innerLocals, ImmutableArray<MethodSymbol> innerLocalFunctions, ImmutableArray<BoundSwitchSection> switchSections, BoundDecisionDag reachabilityDecisionDag, BoundSwitchLabel? defaultLabel, LabelSymbol breakLabel, bool hasErrors = false) 3797public BoundDecisionDag ReachabilityDecisionDag { get; } 3804public BoundSwitchStatement Update(BoundExpression expression, ImmutableArray<LocalSymbol> innerLocals, ImmutableArray<MethodSymbol> innerLocalFunctions, ImmutableArray<BoundSwitchSection> switchSections, BoundDecisionDag reachabilityDecisionDag, BoundSwitchLabel? defaultLabel, LabelSymbol breakLabel) 4882protected BoundSwitchExpression(BoundKind kind, SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false) 4899public BoundDecisionDag ReachabilityDecisionDag { get; } 4945public BoundUnconvertedSwitchExpression(SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false) 4959public BoundUnconvertedSwitchExpression Update(BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type) 4973public BoundConvertedSwitchExpression(SyntaxNode syntax, TypeSymbol? naturalTypeOpt, bool wasTargetTyped, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol type, bool hasErrors = false) 4993public BoundConvertedSwitchExpression Update(TypeSymbol? naturalTypeOpt, bool wasTargetTyped, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol type) 5021public BoundDecisionDag Update(BoundDecisionDagNode rootNode) 5025var result = new BoundDecisionDag(this.Syntax, rootNode, this.HasErrors); 7950public BoundIsPatternExpression(SyntaxNode syntax, BoundExpression expression, BoundPattern pattern, bool isNegated, BoundDecisionDag reachabilityDecisionDag, LabelSymbol whenTrueLabel, LabelSymbol whenFalseLabel, TypeSymbol? type, bool hasErrors = false) 7971public BoundDecisionDag ReachabilityDecisionDag { get; } 7978public BoundIsPatternExpression Update(BoundExpression expression, BoundPattern pattern, bool isNegated, BoundDecisionDag reachabilityDecisionDag, LabelSymbol whenTrueLabel, LabelSymbol whenFalseLabel, TypeSymbol? type) 9132return VisitDecisionDag((BoundDecisionDag)node, arg); 9473public virtual R VisitDecisionDag(BoundDecisionDag node, A arg) => this.DefaultVisit(node, arg); 9709public virtual BoundNode? VisitDecisionDag(BoundDecisionDag node) => this.DefaultVisit(node); 10322public override BoundNode? VisitDecisionDag(BoundDecisionDag node) 11447BoundDecisionDag reachabilityDecisionDag = node.ReachabilityDecisionDag; 11659BoundDecisionDag reachabilityDecisionDag = node.ReachabilityDecisionDag; 11668BoundDecisionDag reachabilityDecisionDag = node.ReachabilityDecisionDag; 11673public override BoundNode? VisitDecisionDag(BoundDecisionDag node) 12223BoundDecisionDag reachabilityDecisionDag = node.ReachabilityDecisionDag; 13583BoundDecisionDag reachabilityDecisionDag = node.ReachabilityDecisionDag; 13824BoundDecisionDag reachabilityDecisionDag = node.ReachabilityDecisionDag; 13844BoundDecisionDag reachabilityDecisionDag = node.ReachabilityDecisionDag; 14881BoundDecisionDag reachabilityDecisionDag = node.ReachabilityDecisionDag; 16289public 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)
507protected BoundDecisionDag ShareTempsAndEvaluateInput( 509BoundDecisionDag decisionDag, 611private BoundDecisionDag RewriteTupleInput( 612BoundDecisionDag decisionDag, 634var rewrittenDag = decisionDag.Rewrite(makeReplacement); 683return 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(