6 instantiations of DecisionDagBuilder
Microsoft.CodeAnalysis.CSharp (6)
Binder\DecisionDagBuilder_CheckOrReachability.cs (3)
75
var builder = new
DecisionDagBuilder
(compilation, defaultLabel: defaultLabel, forLowering: false, BindingDiagnosticBag.Discarded);
165
var builder = new
DecisionDagBuilder
(compilation, defaultLabel: defaultLabel, forLowering: false, BindingDiagnosticBag.Discarded);
240
var builder = new
DecisionDagBuilder
(compilation, defaultLabel: defaultLabel, forLowering: false, BindingDiagnosticBag.Discarded);
Binder\DecisionDagBuilder.cs (3)
90
var builder = new
DecisionDagBuilder
(compilation, defaultLabel, forLowering, diagnostics);
106
var builder = new
DecisionDagBuilder
(compilation, defaultLabel, forLowering, diagnostics);
124
var builder = new
DecisionDagBuilder
(compilation, defaultLabel: whenFalseLabel, forLowering, diagnostics);
63 references to DecisionDagBuilder
Microsoft.CodeAnalysis.CSharp (63)
Binder\Binder_Patterns.cs (3)
101
BoundDecisionDag decisionDag =
DecisionDagBuilder
.CreateDecisionDagForIsPattern(
173
if (!wasReported && diagnostics.AccumulatesDiagnostics &&
DecisionDagBuilder
.EnableRedundantPatternsCheck(this.Compilation))
175
DecisionDagBuilder
.CheckRedundantPatternsForIsPattern(this.Compilation, pattern.Syntax, expression, pattern, hasUnionMatching, diagnostics);
Binder\DecisionDagBuilder_CheckOrReachability.cs (6)
75
var
builder = new DecisionDagBuilder(compilation, defaultLabel: defaultLabel, forLowering: false, BindingDiagnosticBag.Discarded);
165
var
builder = new DecisionDagBuilder(compilation, defaultLabel: defaultLabel, forLowering: false, BindingDiagnosticBag.Discarded);
240
var
builder = new DecisionDagBuilder(compilation, defaultLabel: defaultLabel, forLowering: false, BindingDiagnosticBag.Discarded);
367
public readonly
DecisionDagBuilder
Builder;
375
DecisionDagBuilder
builder, BoundDagTemp rootIdentifier, SyntaxNode syntax, PooledHashSet<SyntaxNode> redundantNodes)
412
DecisionDagBuilder
builder,
Binder\DecisionDagBuilder.cs (33)
90
var
builder = new DecisionDagBuilder(compilation, defaultLabel, forLowering, diagnostics);
106
var
builder = new DecisionDagBuilder(compilation, defaultLabel, forLowering, diagnostics);
124
var
builder = new DecisionDagBuilder(compilation, defaultLabel: whenFalseLabel, forLowering, diagnostics);
1140
Tests makeTestsAndBindingsForBinaryPattern(
DecisionDagBuilder
@this, Tests leftTests, TestInputOutputInfo leftOutputInfo, TestInputOutputInfo inputInfo, BoundBinaryPattern bin, out TestInputOutputInfo outputInfo, ArrayBuilder<BoundPatternBinding> bindings)
3100
internal BoundDagTest ComputeSelectedTest(
DecisionDagBuilder
builder)
3248
DecisionDagBuilder
builder,
3256
public virtual BoundDagTest ComputeSelectedTest(
DecisionDagBuilder
builder) => throw ExceptionUtilities.Unreachable();
3287
protected abstract RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(
DecisionDagBuilder
dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e);
3289
public Tests RemoveEvaluation(
DecisionDagBuilder
dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings, BoundDagEvaluation e)
3294
protected Tests RemoveEvaluationAndUpdateTempReferences(
DecisionDagBuilder
dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e)
3391
DecisionDagBuilder
builder,
3403
protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(
DecisionDagBuilder
builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e)
3415
DecisionDagBuilder
builder,
3427
protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(
DecisionDagBuilder
builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e)
3442
DecisionDagBuilder
builder,
3508
public override BoundDagTest ComputeSelectedTest(
DecisionDagBuilder
builder) => this.Test;
3574
protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(
DecisionDagBuilder
builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e)
3658
static Tests removeEvaluation(One tests,
DecisionDagBuilder
builder, DagState state, ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e, out Tests? condition)
3696
DecisionDagBuilder
builder,
3790
private static Tests RemoveTypeEvaluation(One tests,
DecisionDagBuilder
dagBuilder, ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagTypeEvaluation e1)
3832
static Tests? replaceUnionTypeEvaluation(
DecisionDagBuilder
dagBuilder, BoundDagTypeEvaluation e1, BoundDagTypeEvaluation typeEval)
3867
private static Tests RemoveIndexerEvaluation(One tests,
DecisionDagBuilder
dagBuilder, DagState state, ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagIndexerEvaluation s1, out Tests? condition)
4053
DecisionDagBuilder
builder,
4148
public override BoundDagTest ComputeSelectedTest(
DecisionDagBuilder
builder)
4156
DecisionDagBuilder
dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings,
4209
protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(
DecisionDagBuilder
builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e)
4219
public override BoundDagTest ComputeSelectedTest(
DecisionDagBuilder
builder) => Negated.ComputeSelectedTest(builder);
4222
DecisionDagBuilder
builder,
4249
DecisionDagBuilder
builder,
4330
protected sealed override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(
DecisionDagBuilder
dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e)
4742
public sealed override BoundDagTest ComputeSelectedTest(
DecisionDagBuilder
builder)
4767
protected virtual BoundDagTest? ComputeSelectedTestEasyOut(
DecisionDagBuilder
builder) => null;
4820
protected override BoundDagTest? ComputeSelectedTestEasyOut(
DecisionDagBuilder
builder)
Binder\SwitchBinder_Patterns.cs (3)
45
BoundDecisionDag decisionDag =
DecisionDagBuilder
.CreateDecisionDagForSwitchStatement(
61
if (!wasReported && diagnostics.AccumulatesDiagnostics &&
DecisionDagBuilder
.EnableRedundantPatternsCheck(this.Compilation))
63
DecisionDagBuilder
.CheckRedundantPatternsForSwitchStatement(this.Compilation, syntax: node, boundSwitchGoverningExpression, switchSections, diagnostics);
Binder\SwitchExpressionBinder.cs (3)
42
if (!wasReported && diagnostics.AccumulatesDiagnostics &&
DecisionDagBuilder
.EnableRedundantPatternsCheck(this.Compilation))
44
DecisionDagBuilder
.CheckRedundantPatternsForSwitchExpression(this.Compilation, node, boundInputExpression, switchArms, diagnostics);
72
decisionDag =
DecisionDagBuilder
.CreateDecisionDagForSwitchExpression(this.Compilation, node, boundInputExpression, switchArms, defaultLabel, diagnostics);
BoundTree\BoundDagEvaluation.cs (8)
19
if (
DecisionDagBuilder
.IsEqualEvaluation(this, other))
22
Debug.Assert(
DecisionDagBuilder
.IsEqualEvaluation(other, this));
146
BoundDagEvaluation? nonTypeEvaluation =
DecisionDagBuilder
.SkipAllTypeEvaluations(this);
148
if (
DecisionDagBuilder
.IsUnionTryGetValueEvaluation(nonTypeEvaluation, out _, out BoundDagTemp? unionInstance) ||
149
DecisionDagBuilder
.IsUnionValueEvaluation(nonTypeEvaluation, out unionInstance))
213
var (input, _, index) =
DecisionDagBuilder
.GetCanonicalInput(this);
214
return Hash.Combine(
DecisionDagBuilder
.OriginalInput(input), Hash.Combine((int)Kind, index));
383
return
DecisionDagBuilder
.NotTypeEvaluationInput(Input.Source).GetHashCode();
BoundTree\BoundDagTest.cs (1)
73
if (
DecisionDagBuilder
.IsUnionTryGetValueEvaluation(d, out TypeSymbol? targetType, out _))
BoundTree\BoundIsPatternExpression.cs (1)
18
decisionDag =
DecisionDagBuilder
.CreateDecisionDagForIsPattern(
BoundTree\BoundSwitchExpression.cs (1)
19
decisionDag =
DecisionDagBuilder
.CreateDecisionDagForSwitchExpression(
BoundTree\BoundSwitchStatement.cs (1)
17
decisionDag =
DecisionDagBuilder
.CreateDecisionDagForSwitchStatement(
Utilities\TypeUnionValueSet.cs (2)
98
ConstantValue? matches =
DecisionDagBuilder
.ExpressionOfTypeMatchesPatternTypeForLearningFromSuccessfulTypeTest(conversions, type, t.CaseType, ref useSiteInfo);
270
ConstantValue? matches =
DecisionDagBuilder
.ExpressionOfTypeMatchesPatternTypeForLearningFromSuccessfulTypeTest(_conversions, t1, t2, ref useSiteInfo);
Utilities\ValueSetFactory.cs (1)
74
if (
DecisionDagBuilder
.IsUnionValue(input, out BoundDagTemp? unionInstance))