8 types derived from BoundDagEvaluation
Microsoft.CodeAnalysis.CSharp (8)
Generated\BoundNodes.xml.Generated.cs (8)
5439internal sealed partial class BoundDagDeconstructEvaluation : BoundDagEvaluation 5468internal sealed partial class BoundDagTypeEvaluation : BoundDagEvaluation 5497internal sealed partial class BoundDagFieldEvaluation : BoundDagEvaluation 5526internal sealed partial class BoundDagPropertyEvaluation : BoundDagEvaluation 5557internal sealed partial class BoundDagIndexEvaluation : BoundDagEvaluation 5588internal sealed partial class BoundDagIndexerEvaluation : BoundDagEvaluation 5635internal sealed partial class BoundDagSliceEvaluation : BoundDagEvaluation 5684internal sealed partial class BoundDagAssignmentEvaluation : BoundDagEvaluation
83 references to BoundDagEvaluation
Microsoft.CodeAnalysis.CSharp (83)
Binder\DecisionDagBuilder.cs (43)
214var usedValues = PooledHashSet<BoundDagEvaluation>.GetInstance(); 245case Tests.One(BoundDagEvaluation e): 662BoundDagEvaluation evaluation; 826var tempIdentifierMap = PooledDictionary<BoundDagEvaluation, int>.GetInstance(); 854int tempIdentifier(BoundDagEvaluation e) 985case BoundDagEvaluation e: 1063if (state.SelectedTest is BoundDagEvaluation eval) 1254case BoundDagEvaluation e: 1346case BoundDagEvaluation _: 1417private FrozenArrayBuilder<StateForCase> RemoveEvaluation(DagState state, BoundDagEvaluation e) 1682case (BoundDagEvaluation s1, BoundDagEvaluation s2) when s1.IsEquivalentTo(s2): 1706internal static bool IsEqualEvaluation(BoundDagEvaluation? s1Source, BoundDagEvaluation? s2Source) 1768case (BoundDagEvaluation s1, BoundDagEvaluation s2) when s1.IsEquivalentTo(s2): 1782internal static BoundDagEvaluation? SkipAllTypeEvaluations(BoundDagTypeEvaluation typeEval) 1932PooledDictionary<BoundDagEvaluation, int> tempIdentifierMap = PooledDictionary<BoundDagEvaluation, int>.GetInstance(); 1933int tempIdentifier(BoundDagEvaluation? e) 2014case BoundDagEvaluation e: 2375protected abstract RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e); 2377public Tests RemoveEvaluation(DecisionDagBuilder dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings, BoundDagEvaluation e) 2382protected Tests RemoveEvaluationAndUpdateTempReferences(DecisionDagBuilder dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e) 2491protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e) 2515protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e) 2521/// Note that the test might be a <see cref="BoundDagEvaluation"/>, in which case it is deemed to have 2541if (other is BoundDagEvaluation || 2632protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e) 2691public static Tests RemoveEvaluation(One tests, DecisionDagBuilder builder, DagState state, ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e, out Tests? condition) 2727private static bool IsEquivalentEvaluation(One tests, BoundDagEvaluation e1, [NotNullWhen(true)] out BoundDagEvaluation? underlying) 2729if (tests.Test is BoundDagEvaluation eval && 2752private static Tests RemoveSimpleEvaluationWithResultTemp(One tests, ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e1) 2754if (IsEquivalentEvaluation(tests, e1, out var eval)) 2764private static void AddResultTempReplacement(ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation oldEval, BoundDagEvaluation newEval) 2788if (IsEquivalentEvaluation(tests, e1, out var eval)) 2889case BoundDagEvaluation eval: 2903var updated = eval.Update(replacement); 2973Debug.Assert(test is not BoundDagEvaluation); 3011protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e) 3132protected sealed override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e)
Binder\PatternExplainer.cs (5)
286out Dictionary<BoundDagTemp, ArrayBuilder<BoundDagEvaluation>> evaluations) 289evaluations = new Dictionary<BoundDagTemp, ArrayBuilder<BoundDagEvaluation>>(); 321evaluations.Add(temp, evaluationBuilder = new ArrayBuilder<BoundDagEvaluation>()); 334Dictionary<BoundDagTemp, ArrayBuilder<BoundDagEvaluation>> evaluationMap, 576foreach (var eval in evaluations)
BoundTree\BoundDagEvaluation.cs (18)
16public sealed override bool Equals([NotNullWhen(true)] object? obj) => obj is BoundDagEvaluation other && this.Equals(other); 17public virtual bool Equals(BoundDagEvaluation other) 40public virtual bool IsEquivalentTo(BoundDagEvaluation other) 89public new BoundDagEvaluation Update(BoundDagTemp input) => UpdateEvaluationImpl(input); 90public abstract BoundDagEvaluation UpdateEvaluationImpl(BoundDagTemp input); 138public override BoundDagEvaluation UpdateEvaluationImpl(BoundDagTemp input) => Update(input); 157public override BoundDagEvaluation UpdateEvaluationImpl(BoundDagTemp input) => Update(input); 171public override BoundDagEvaluation UpdateEvaluationImpl(BoundDagTemp input) => Update(input); 181public override bool IsEquivalentTo(BoundDagEvaluation obj) 194public override BoundDagEvaluation UpdateEvaluationImpl(BoundDagTemp input) => Update(input); 209public override bool IsEquivalentTo(BoundDagEvaluation obj) 225public override BoundDagEvaluation UpdateEvaluationImpl(BoundDagTemp input) => Update(input); 245public override bool IsEquivalentTo(BoundDagEvaluation obj) 262public override BoundDagEvaluation UpdateEvaluationImpl(BoundDagTemp input) => Update(input); 282public override bool IsEquivalentTo(BoundDagEvaluation obj) 288public override bool Equals(BoundDagEvaluation other) 301public override BoundDagEvaluation UpdateEvaluationImpl(BoundDagTemp input) => Update(input); 331public override BoundDagEvaluation UpdateEvaluationImpl(BoundDagTemp input) => Update(input);
BoundTree\BoundDagTest.cs (1)
89case BoundDagEvaluation e:
BoundTree\Constructors.cs (1)
644public BoundDagTemp(SyntaxNode syntax, TypeSymbol type, BoundDagEvaluation? source)
FlowAnalysis\NullableWalker_Patterns.cs (2)
437var evaluation = p.Evaluation; 684var evaluation = output.Source;
Generated\BoundNodes.xml.Generated.cs (10)
5103public BoundEvaluationDecisionDagNode(SyntaxNode syntax, BoundDagEvaluation evaluation, BoundDecisionDagNode next, bool hasErrors = false) 5114public BoundDagEvaluation Evaluation { get; } 5120public BoundEvaluationDecisionDagNode Update(BoundDagEvaluation evaluation, BoundDecisionDagNode next) 5254public BoundDagTemp(SyntaxNode syntax, TypeSymbol type, BoundDagEvaluation? source, int index, bool hasErrors = false) 5266public BoundDagEvaluation? Source { get; } 5272public BoundDagTemp Update(TypeSymbol type, BoundDagEvaluation? source, int index) 11809BoundDagEvaluation evaluation = (BoundDagEvaluation)this.Visit(node.Evaluation); 11834BoundDagEvaluation? source = (BoundDagEvaluation?)this.Visit(node.Source);
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (2)
135protected BoundExpression LowerEvaluation(BoundDagEvaluation evaluation) 475BoundDagEvaluation evaluation,
Lowering\LocalRewriter\LocalRewriter_IsPatternOperator.cs (1)
196case BoundDagEvaluation eval: