9 types derived from BoundDagEvaluation
Microsoft.CodeAnalysis.CSharp (9)
Generated\BoundNodes.xml.Generated.cs (9)
5444
internal sealed partial class BoundDagDeconstructEvaluation :
BoundDagEvaluation
5473
internal sealed partial class BoundDagTypeEvaluation :
BoundDagEvaluation
5502
internal sealed partial class BoundDagFieldEvaluation :
BoundDagEvaluation
5531
internal sealed partial class BoundDagPropertyEvaluation :
BoundDagEvaluation
5562
internal sealed partial class BoundDagIndexEvaluation :
BoundDagEvaluation
5593
internal sealed partial class BoundDagIndexerEvaluation :
BoundDagEvaluation
5640
internal sealed partial class BoundDagSliceEvaluation :
BoundDagEvaluation
5689
internal sealed partial class BoundDagAssignmentEvaluation :
BoundDagEvaluation
5718
internal sealed partial class BoundDagPassThroughEvaluation :
BoundDagEvaluation
90 references to BoundDagEvaluation
Microsoft.CodeAnalysis.CSharp (90)
Binder\DecisionDagBuilder.cs (48)
222
var usedValues = PooledHashSet<
BoundDagEvaluation
>.GetInstance();
253
case Tests.One(
BoundDagEvaluation
e):
417
BoundDagTemp temp = MakeUnionValue(input.DagTemp, unionValue, out
BoundDagEvaluation
valueEvaluation);
425
private BoundDagTemp MakeUnionValue(BoundDagTemp input, BoundPropertySubpatternMember unionValue, out
BoundDagEvaluation
valueEvaluation)
464
internal static bool IsUnionValueEvaluation(
BoundDagEvaluation
? source, [NotNullWhen(true)] out BoundDagTemp? unionInstance)
657
internal static bool IsUnionTryGetValueEvaluation([NotNullWhen(true)]
BoundDagEvaluation
? evaluation, [NotNullWhen(true)] out TypeSymbol? targetType, [NotNullWhen(true)] out BoundDagTemp? unionInstance)
754
BoundDagEvaluation
hasValueEvaluation = new BoundDagPropertyEvaluation(unionValue.Syntax, hasValue, isLengthOrCount: false, OriginalInput(inputInfo.DagTemp, hasValue));
1045
BoundDagEvaluation
evaluation;
1216
var tempIdentifierMap = PooledDictionary<
BoundDagEvaluation
, int>.GetInstance();
1244
int tempIdentifier(
BoundDagEvaluation
e)
1375
case
BoundDagEvaluation
e:
1453
if (state.SelectedTest is
BoundDagEvaluation
eval)
1644
case
BoundDagEvaluation
e:
1736
case
BoundDagEvaluation
_:
1889
private FrozenArrayBuilder<StateForCase> RemoveEvaluation(DagState state,
BoundDagEvaluation
e)
2475
case (
BoundDagEvaluation
s1,
BoundDagEvaluation
s2) when s1.IsEquivalentTo(s2):
2499
internal static bool IsEqualEvaluation(
BoundDagEvaluation
? s1Source,
BoundDagEvaluation
? s2Source)
2593
case (
BoundDagEvaluation
s1,
BoundDagEvaluation
s2) when s1.IsEquivalentTo(s2):
2612
internal static
BoundDagEvaluation
? SkipAllTypeEvaluations(BoundDagTypeEvaluation typeEval)
2773
PooledDictionary<
BoundDagEvaluation
, int> tempIdentifierMap = PooledDictionary<
BoundDagEvaluation
, int>.GetInstance();
2774
int tempIdentifier(
BoundDagEvaluation
? e)
2869
case
BoundDagEvaluation
e:
3230
protected abstract RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e);
3232
public Tests RemoveEvaluation(DecisionDagBuilder dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings,
BoundDagEvaluation
e)
3237
protected Tests RemoveEvaluationAndUpdateTempReferences(DecisionDagBuilder dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e)
3346
protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e)
3370
protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e)
3376
/// Note that the test might be a <see cref="
BoundDagEvaluation
"/>, in which case it is deemed to have
3396
if (other is
BoundDagEvaluation
)
3517
protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e)
3591
public static Tests RemoveEvaluation(One tests, DecisionDagBuilder builder, DagState state, ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e, out Tests? condition)
3627
private static bool IsEquivalentEvaluation(One tests,
BoundDagEvaluation
e1, [NotNullWhen(true)] out
BoundDagEvaluation
? underlying)
3629
if (tests.Test is
BoundDagEvaluation
eval &&
3652
private static Tests RemoveSimpleEvaluationWithResultTemp(One tests, ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e1)
3654
if (IsEquivalentEvaluation(tests, e1, out
var
eval))
3664
private static void AddResultTempReplacement(ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
oldEval,
BoundDagEvaluation
newEval)
3688
if (IsEquivalentEvaluation(tests, e1, out
var
eval))
3849
case
BoundDagEvaluation
eval:
3868
var
updated = eval.Update(replacement);
3938
Debug.Assert(test is not
BoundDagEvaluation
);
3976
protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e)
4097
protected sealed override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e)
Binder\PatternExplainer.cs (5)
286
out Dictionary<BoundDagTemp, ArrayBuilder<
BoundDagEvaluation
>> evaluations)
289
evaluations = new Dictionary<BoundDagTemp, ArrayBuilder<
BoundDagEvaluation
>>();
321
evaluations.Add(temp, evaluationBuilder = new ArrayBuilder<
BoundDagEvaluation
>());
334
Dictionary<BoundDagTemp, ArrayBuilder<
BoundDagEvaluation
>> evaluationMap,
650
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)
437
var
evaluation = p.Evaluation;
684
var
evaluation = output.Source;
Generated\BoundNodes.xml.Generated.cs (10)
5108
public BoundEvaluationDecisionDagNode(SyntaxNode syntax,
BoundDagEvaluation
evaluation, BoundDecisionDagNode next, bool hasErrors = false)
5119
public
BoundDagEvaluation
Evaluation { get; }
5125
public BoundEvaluationDecisionDagNode Update(
BoundDagEvaluation
evaluation, BoundDecisionDagNode next)
5259
public BoundDagTemp(SyntaxNode syntax, TypeSymbol type,
BoundDagEvaluation
? source, int index, bool hasErrors = false)
5271
public
BoundDagEvaluation
? Source { get; }
5277
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.PatternLocalRewriter.cs (2)
135
protected BoundExpression LowerEvaluation(
BoundDagEvaluation
evaluation)
495
BoundDagEvaluation
evaluation,
Lowering\LocalRewriter\LocalRewriter_IsPatternOperator.cs (1)
196
case
BoundDagEvaluation
eval: