9 types derived from BoundDagEvaluation
Microsoft.CodeAnalysis.CSharp (9)
Generated\BoundNodes.xml.Generated.cs (9)
5425
internal sealed partial class BoundDagDeconstructEvaluation :
BoundDagEvaluation
5454
internal sealed partial class BoundDagTypeEvaluation :
BoundDagEvaluation
5483
internal sealed partial class BoundDagFieldEvaluation :
BoundDagEvaluation
5512
internal sealed partial class BoundDagPropertyEvaluation :
BoundDagEvaluation
5543
internal sealed partial class BoundDagIndexEvaluation :
BoundDagEvaluation
5574
internal sealed partial class BoundDagIndexerEvaluation :
BoundDagEvaluation
5621
internal sealed partial class BoundDagSliceEvaluation :
BoundDagEvaluation
5670
internal sealed partial class BoundDagAssignmentEvaluation :
BoundDagEvaluation
5699
internal sealed partial class BoundDagPassThroughEvaluation :
BoundDagEvaluation
94 references to BoundDagEvaluation
Microsoft.CodeAnalysis.CSharp (94)
Binder\DecisionDagBuilder.cs (52)
224
var usedValues = PooledHashSet<
BoundDagEvaluation
>.GetInstance();
255
case Tests.One(
BoundDagEvaluation
e):
425
BoundDagTemp temp = MakeUnionValue(input.DagTemp, unionValue, out
BoundDagEvaluation
valueEvaluation);
433
private BoundDagTemp MakeUnionValue(BoundDagTemp input, BoundPropertySubpatternMember unionValue, out
BoundDagEvaluation
valueEvaluation)
472
internal static bool IsUnionValueEvaluation(
BoundDagEvaluation
? source, [NotNullWhen(true)] out BoundDagTemp? unionInstance)
665
internal static bool IsUnionTryGetValueEvaluation([NotNullWhen(true)]
BoundDagEvaluation
? evaluation, [NotNullWhen(true)] out TypeSymbol? targetType, [NotNullWhen(true)] out BoundDagTemp? unionInstance)
756
BoundDagEvaluation
hasValueEvaluation = new BoundDagPropertyEvaluation(unionValue.Syntax, hasValue, isLengthOrCount: false, inputInfo.DagTemp);
1077
BoundDagEvaluation
evaluation;
1249
var tempIdentifierMap = PooledDictionary<
BoundDagEvaluation
, int>.GetInstance();
1277
int tempIdentifier(
BoundDagEvaluation
e)
1408
case
BoundDagEvaluation
e:
1486
if (state.SelectedTest is
BoundDagEvaluation
eval)
1677
case
BoundDagEvaluation
e:
1769
case
BoundDagEvaluation
_:
1922
private FrozenArrayBuilder<StateForCase> RemoveEvaluation(DagState state,
BoundDagEvaluation
e)
2530
case (
BoundDagEvaluation
s1,
BoundDagEvaluation
s2) when s1.IsEquivalentTo(s2):
2554
internal static bool IsEqualEvaluation(
BoundDagEvaluation
? s1Source,
BoundDagEvaluation
? s2Source)
2648
case (
BoundDagEvaluation
s1,
BoundDagEvaluation
s2) when s1.IsEquivalentTo(s2):
2667
internal static
BoundDagEvaluation
? SkipAllTypeEvaluations(BoundDagTypeEvaluation typeEval)
2828
PooledDictionary<
BoundDagEvaluation
, int> tempIdentifierMap = PooledDictionary<
BoundDagEvaluation
, int>.GetInstance();
2829
int tempIdentifier(
BoundDagEvaluation
? e)
2924
case
BoundDagEvaluation
e:
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)
3403
protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e)
3427
protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e)
3433
/// Note that the test might be a <see cref="
BoundDagEvaluation
"/>, in which case it is deemed to have
3453
if (other is
BoundDagEvaluation
)
3574
protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e)
3612
if (tempsUpdatedResult.Test is
BoundDagEvaluation
)
3658
static Tests removeEvaluation(One tests, DecisionDagBuilder builder, DagState state, ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e, out Tests? condition)
3699
BoundDagEvaluation
e)
3707
private static bool IsEquivalentEvaluation(One tests,
BoundDagEvaluation
e1, [NotNullWhen(true)] out
BoundDagEvaluation
? underlying)
3709
if (tests.Test is
BoundDagEvaluation
eval &&
3732
private static Tests RemoveSimpleEvaluationWithResultTemp(One tests, ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e1)
3734
if (IsEquivalentEvaluation(tests, e1, out
var
eval))
3744
private static void AddResultTempReplacement(ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
oldEval,
BoundDagEvaluation
newEval)
3768
if (IsEquivalentEvaluation(tests, e1, out
var
eval))
3929
case
BoundDagEvaluation
eval:
3948
var
updated = eval.Update(replacement);
4018
Debug.Assert(test is not
BoundDagEvaluation
);
4062
if (test is
BoundDagEvaluation
)
4157
ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e)
4209
protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e)
4330
protected sealed override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e)
Binder\PatternExplainer.cs (5)
312
out Dictionary<BoundDagTemp, ArrayBuilder<
BoundDagEvaluation
>> evaluations)
315
evaluations = new Dictionary<BoundDagTemp, ArrayBuilder<
BoundDagEvaluation
>>();
347
evaluations.Add(temp, evaluationBuilder = new ArrayBuilder<
BoundDagEvaluation
>());
361
Dictionary<BoundDagTemp, ArrayBuilder<
BoundDagEvaluation
>> evaluationMap,
677
foreach (
var
eval in evaluations)
BoundTree\BoundDagEvaluation.cs (20)
16
public sealed override bool Equals([NotNullWhen(true)] object? obj) => obj is
BoundDagEvaluation
other && this.Equals(other);
17
public virtual bool Equals(
BoundDagEvaluation
other)
40
public virtual bool IsEquivalentTo(
BoundDagEvaluation
other)
89
public new
BoundDagEvaluation
Update(BoundDagTemp input) => UpdateEvaluationImpl(input);
90
public abstract
BoundDagEvaluation
UpdateEvaluationImpl(BoundDagTemp input);
138
public override
BoundDagEvaluation
UpdateEvaluationImpl(BoundDagTemp input) => Update(input);
146
BoundDagEvaluation
? nonTypeEvaluation = DecisionDagBuilder.SkipAllTypeEvaluations(this);
165
public override
BoundDagEvaluation
UpdateEvaluationImpl(BoundDagTemp input) => Update(input);
179
public override
BoundDagEvaluation
UpdateEvaluationImpl(BoundDagTemp input) => Update(input);
189
public override bool IsEquivalentTo(
BoundDagEvaluation
obj)
202
public override
BoundDagEvaluation
UpdateEvaluationImpl(BoundDagTemp input) => Update(input);
217
public override bool IsEquivalentTo(
BoundDagEvaluation
obj)
233
public override
BoundDagEvaluation
UpdateEvaluationImpl(BoundDagTemp input) => Update(input);
253
public override bool IsEquivalentTo(
BoundDagEvaluation
obj)
270
public override
BoundDagEvaluation
UpdateEvaluationImpl(BoundDagTemp input) => Update(input);
290
public override bool IsEquivalentTo(
BoundDagEvaluation
obj)
296
public override bool Equals(
BoundDagEvaluation
other)
309
public override
BoundDagEvaluation
UpdateEvaluationImpl(BoundDagTemp input) => Update(input);
354
public override
BoundDagEvaluation
UpdateEvaluationImpl(BoundDagTemp input) => Update(input);
391
public override
BoundDagEvaluation
UpdateEvaluationImpl(BoundDagTemp input) => Update(input);
BoundTree\BoundDagTest.cs (1)
110
case
BoundDagEvaluation
e:
BoundTree\Constructors.cs (1)
644
public BoundDagTemp(SyntaxNode syntax, TypeSymbol type,
BoundDagEvaluation
? source)
FlowAnalysis\NullableWalker_Patterns.cs (2)
441
var
evaluation = p.Evaluation;
688
var
evaluation = output.Source;
Generated\BoundNodes.xml.Generated.cs (10)
5089
public BoundEvaluationDecisionDagNode(SyntaxNode syntax,
BoundDagEvaluation
evaluation, BoundDecisionDagNode next, bool hasErrors = false)
5100
public
BoundDagEvaluation
Evaluation { get; }
5106
public BoundEvaluationDecisionDagNode Update(
BoundDagEvaluation
evaluation, BoundDecisionDagNode next)
5240
public BoundDagTemp(SyntaxNode syntax, TypeSymbol type,
BoundDagEvaluation
? source, int index, bool hasErrors = false)
5252
public
BoundDagEvaluation
? Source { get; }
5258
public BoundDagTemp Update(TypeSymbol type,
BoundDagEvaluation
? source, int index)
11960
BoundDagEvaluation
evaluation = (
BoundDagEvaluation
)this.Visit(node.Evaluation);
11985
BoundDagEvaluation
? source = (
BoundDagEvaluation
?)this.Visit(node.Source);
Lowering\LocalRewriter\LocalRewriter_IsPatternOperator.cs (1)
196
case
BoundDagEvaluation
eval:
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (2)
135
protected BoundExpression LowerEvaluation(
BoundDagEvaluation
evaluation)
495
BoundDagEvaluation
evaluation,