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)
748
BoundDagEvaluation
hasValueEvaluation = new BoundDagPropertyEvaluation(unionValue.Syntax, hasValue, isLengthOrCount: false, inputInfo.DagTemp);
1069
BoundDagEvaluation
evaluation;
1241
var tempIdentifierMap = PooledDictionary<
BoundDagEvaluation
, int>.GetInstance();
1269
int tempIdentifier(
BoundDagEvaluation
e)
1400
case
BoundDagEvaluation
e:
1478
if (state.SelectedTest is
BoundDagEvaluation
eval)
1669
case
BoundDagEvaluation
e:
1761
case
BoundDagEvaluation
_:
1914
private FrozenArrayBuilder<StateForCase> RemoveEvaluation(DagState state,
BoundDagEvaluation
e)
2522
case (
BoundDagEvaluation
s1,
BoundDagEvaluation
s2) when s1.IsEquivalentTo(s2):
2546
internal static bool IsEqualEvaluation(
BoundDagEvaluation
? s1Source,
BoundDagEvaluation
? s2Source)
2640
case (
BoundDagEvaluation
s1,
BoundDagEvaluation
s2) when s1.IsEquivalentTo(s2):
2659
internal static
BoundDagEvaluation
? SkipAllTypeEvaluations(BoundDagTypeEvaluation typeEval)
2820
PooledDictionary<
BoundDagEvaluation
, int> tempIdentifierMap = PooledDictionary<
BoundDagEvaluation
, int>.GetInstance();
2821
int tempIdentifier(
BoundDagEvaluation
? e)
2916
case
BoundDagEvaluation
e:
3277
protected abstract RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e);
3279
public Tests RemoveEvaluation(DecisionDagBuilder dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings,
BoundDagEvaluation
e)
3284
protected Tests RemoveEvaluationAndUpdateTempReferences(DecisionDagBuilder dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e)
3393
protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e)
3417
protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e)
3423
/// Note that the test might be a <see cref="
BoundDagEvaluation
"/>, in which case it is deemed to have
3443
if (other is
BoundDagEvaluation
)
3564
protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e)
3638
public static Tests RemoveEvaluation(One tests, DecisionDagBuilder builder, DagState state, ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e, out Tests? condition)
3674
private static bool IsEquivalentEvaluation(One tests,
BoundDagEvaluation
e1, [NotNullWhen(true)] out
BoundDagEvaluation
? underlying)
3676
if (tests.Test is
BoundDagEvaluation
eval &&
3699
private static Tests RemoveSimpleEvaluationWithResultTemp(One tests, ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e1)
3701
if (IsEquivalentEvaluation(tests, e1, out
var
eval))
3711
private static void AddResultTempReplacement(ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
oldEval,
BoundDagEvaluation
newEval)
3735
if (IsEquivalentEvaluation(tests, e1, out
var
eval))
3896
case
BoundDagEvaluation
eval:
3915
var
updated = eval.Update(replacement);
3985
Debug.Assert(test is not
BoundDagEvaluation
);
4023
protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e)
4144
protected sealed override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap,
BoundDagEvaluation
e)
Binder\PatternExplainer.cs (5)
287
out Dictionary<BoundDagTemp, ArrayBuilder<
BoundDagEvaluation
>> evaluations)
290
evaluations = new Dictionary<BoundDagTemp, ArrayBuilder<
BoundDagEvaluation
>>();
322
evaluations.Add(temp, evaluationBuilder = new ArrayBuilder<
BoundDagEvaluation
>());
336
Dictionary<BoundDagTemp, ArrayBuilder<
BoundDagEvaluation
>> evaluationMap,
652
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)
439
var
evaluation = p.Evaluation;
686
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)
11958
BoundDagEvaluation
evaluation = (
BoundDagEvaluation
)this.Visit(node.Evaluation);
11983
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: