6 instantiations of DecisionDagBuilder
Microsoft.CodeAnalysis.CSharp (6)
Binder\DecisionDagBuilder.cs (3)
90var builder = new DecisionDagBuilder(compilation, defaultLabel, forLowering, diagnostics); 106var builder = new DecisionDagBuilder(compilation, defaultLabel, forLowering, diagnostics); 124var builder = new DecisionDagBuilder(compilation, defaultLabel: whenFalseLabel, forLowering, diagnostics);
Binder\DecisionDagBuilder_CheckOrReachability.cs (3)
74var builder = new DecisionDagBuilder(compilation, defaultLabel: defaultLabel, forLowering: false, BindingDiagnosticBag.Discarded); 120var builder = new DecisionDagBuilder(compilation, defaultLabel: defaultLabel, forLowering: false, BindingDiagnosticBag.Discarded); 171var builder = new DecisionDagBuilder(compilation, defaultLabel: defaultLabel, forLowering: false, BindingDiagnosticBag.Discarded);
59 references to DecisionDagBuilder
Microsoft.CodeAnalysis.CSharp (59)
Binder\Binder_Patterns.cs (3)
485BoundDecisionDag decisionDag = DecisionDagBuilder.CreateDecisionDagForIsPattern( 557if (!wasReported && diagnostics.AccumulatesDiagnostics && DecisionDagBuilder.EnableRedundantPatternsCheck(this.Compilation)) 559DecisionDagBuilder.CheckRedundantPatternsForIsPattern(this.Compilation, pattern.Syntax, expression, pattern, hasUnionMatching, diagnostics);
Binder\DecisionDagBuilder.cs (29)
90var builder = new DecisionDagBuilder(compilation, defaultLabel, forLowering, diagnostics); 106var builder = new DecisionDagBuilder(compilation, defaultLabel, forLowering, diagnostics); 124var builder = new DecisionDagBuilder(compilation, defaultLabel: whenFalseLabel, forLowering, diagnostics); 1132Tests makeTestsAndBindingsForBinaryPattern(DecisionDagBuilder @this, Tests leftTests, TestInputOutputInfo leftOutputInfo, TestInputOutputInfo inputInfo, BoundBinaryPattern bin, out TestInputOutputInfo outputInfo, ArrayBuilder<BoundPatternBinding> bindings) 3092internal BoundDagTest ComputeSelectedTest(DecisionDagBuilder builder) 3238DecisionDagBuilder builder, 3246public virtual BoundDagTest ComputeSelectedTest(DecisionDagBuilder builder) => throw ExceptionUtilities.Unreachable(); 3277protected abstract RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e); 3279public Tests RemoveEvaluation(DecisionDagBuilder dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings, BoundDagEvaluation e) 3284protected Tests RemoveEvaluationAndUpdateTempReferences(DecisionDagBuilder dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e) 3381DecisionDagBuilder builder, 3393protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e) 3405DecisionDagBuilder builder, 3417protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e) 3432DecisionDagBuilder builder, 3498public override BoundDagTest ComputeSelectedTest(DecisionDagBuilder builder) => this.Test; 3564protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e) 3638public static Tests RemoveEvaluation(One tests, DecisionDagBuilder builder, DagState state, ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e, out Tests? condition) 3757private static Tests RemoveTypeEvaluation(One tests, DecisionDagBuilder dagBuilder, ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagTypeEvaluation e1) 3799static Tests? replaceUnionTypeEvaluation(DecisionDagBuilder dagBuilder, BoundDagTypeEvaluation e1, BoundDagTypeEvaluation typeEval) 3834private static Tests RemoveIndexerEvaluation(One tests, DecisionDagBuilder dagBuilder, DagState state, ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagIndexerEvaluation s1, out Tests? condition) 4023protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e) 4033public override BoundDagTest ComputeSelectedTest(DecisionDagBuilder builder) => Negated.ComputeSelectedTest(builder); 4036DecisionDagBuilder builder, 4063DecisionDagBuilder builder, 4144protected sealed override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e) 4556public sealed override BoundDagTest ComputeSelectedTest(DecisionDagBuilder builder) 4581protected virtual BoundDagTest? ComputeSelectedTestEasyOut(DecisionDagBuilder builder) => null; 4634protected override BoundDagTest? ComputeSelectedTestEasyOut(DecisionDagBuilder builder)
Binder\DecisionDagBuilder_CheckOrReachability.cs (6)
74var builder = new DecisionDagBuilder(compilation, defaultLabel: defaultLabel, forLowering: false, BindingDiagnosticBag.Discarded); 120var builder = new DecisionDagBuilder(compilation, defaultLabel: defaultLabel, forLowering: false, BindingDiagnosticBag.Discarded); 171var builder = new DecisionDagBuilder(compilation, defaultLabel: defaultLabel, forLowering: false, BindingDiagnosticBag.Discarded); 297public readonly DecisionDagBuilder Builder; 305DecisionDagBuilder builder, BoundDagTemp rootIdentifier, SyntaxNode syntax, PooledHashSet<SyntaxNode> redundantNodes) 342DecisionDagBuilder builder,
Binder\SwitchBinder_Patterns.cs (3)
45BoundDecisionDag decisionDag = DecisionDagBuilder.CreateDecisionDagForSwitchStatement( 61if (!wasReported && diagnostics.AccumulatesDiagnostics && DecisionDagBuilder.EnableRedundantPatternsCheck(this.Compilation)) 63DecisionDagBuilder.CheckRedundantPatternsForSwitchStatement(this.Compilation, syntax: node, boundSwitchGoverningExpression, switchSections, diagnostics);
Binder\SwitchExpressionBinder.cs (3)
42if (!wasReported && diagnostics.AccumulatesDiagnostics && DecisionDagBuilder.EnableRedundantPatternsCheck(this.Compilation)) 44DecisionDagBuilder.CheckRedundantPatternsForSwitchExpression(this.Compilation, node, boundInputExpression, switchArms, diagnostics); 72decisionDag = DecisionDagBuilder.CreateDecisionDagForSwitchExpression(this.Compilation, node, boundInputExpression, switchArms, defaultLabel, diagnostics);
BoundTree\BoundDagEvaluation.cs (8)
19if (DecisionDagBuilder.IsEqualEvaluation(this, other)) 22Debug.Assert(DecisionDagBuilder.IsEqualEvaluation(other, this)); 146BoundDagEvaluation? nonTypeEvaluation = DecisionDagBuilder.SkipAllTypeEvaluations(this); 148if (DecisionDagBuilder.IsUnionTryGetValueEvaluation(nonTypeEvaluation, out _, out BoundDagTemp? unionInstance) || 149DecisionDagBuilder.IsUnionValueEvaluation(nonTypeEvaluation, out unionInstance)) 213var (input, _, index) = DecisionDagBuilder.GetCanonicalInput(this); 214return Hash.Combine(DecisionDagBuilder.OriginalInput(input), Hash.Combine((int)Kind, index)); 383return DecisionDagBuilder.NotTypeEvaluationInput(Input.Source).GetHashCode();
BoundTree\BoundDagTest.cs (1)
73if (DecisionDagBuilder.IsUnionTryGetValueEvaluation(d, out TypeSymbol? targetType, out _))
BoundTree\BoundIsPatternExpression.cs (1)
18decisionDag = DecisionDagBuilder.CreateDecisionDagForIsPattern(
BoundTree\BoundSwitchExpression.cs (1)
19decisionDag = DecisionDagBuilder.CreateDecisionDagForSwitchExpression(
BoundTree\BoundSwitchStatement.cs (1)
17decisionDag = DecisionDagBuilder.CreateDecisionDagForSwitchStatement(
Utilities\TypeUnionValueSet.cs (2)
97ConstantValue? matches = DecisionDagBuilder.ExpressionOfTypeMatchesPatternTypeForLearningFromSuccessfulTypeTest(conversions, type, t.CaseType, ref useSiteInfo); 247ConstantValue? matches = DecisionDagBuilder.ExpressionOfTypeMatchesPatternTypeForLearningFromSuccessfulTypeTest(_conversions, t1, t2, ref useSiteInfo);
Utilities\ValueSetFactory.cs (1)
74if (DecisionDagBuilder.IsUnionValue(input, out BoundDagTemp? unionInstance))