5 instantiations of BoundDagTypeEvaluation
Microsoft.CodeAnalysis.CSharp (5)
Binder\DecisionDagBuilder.cs (4)
816var typeEvaluation = new BoundDagTypeEvaluation(syntax, outParameterTemp.Type.StrippedType(), outParameterTemp); 823typeEvaluation = new BoundDagTypeEvaluation(syntax, type, typeEvaluationTemp); 859var evaluation = new BoundDagTypeEvaluation(syntax, type, input); 1160var evaluation = new BoundDagTypeEvaluation(bin.Syntax, bin.NarrowedType, input);
Generated\BoundNodes.xml.Generated.cs (1)
5477var result = new BoundDagTypeEvaluation(this.Syntax, type, input, this.HasErrors);
50 references to BoundDagTypeEvaluation
Microsoft.CodeAnalysis.CSharp (50)
Binder\DecisionDagBuilder.cs (29)
37/// reads a property; and <see cref="BoundDagTypeEvaluation"/> converts a value from one type to another (which 543while (input.Source is BoundDagTypeEvaluation source && isDerivedType(source.Input.Type, symbol.ContainingType)) 568while (input.Source is BoundDagTypeEvaluation source) 816var typeEvaluation = new BoundDagTypeEvaluation(syntax, outParameterTemp.Type.StrippedType(), outParameterTemp); 859var evaluation = new BoundDagTypeEvaluation(syntax, type, input); 1160var evaluation = new BoundDagTypeEvaluation(bin.Syntax, bin.NarrowedType, input); 2448case (BoundDagTypeEvaluation s1, BoundDagTypeEvaluation s2): 2470case (BoundDagTypeEvaluation s1, _): 2487case (_, BoundDagTypeEvaluation s2): 2590Debug.Assert(s1.Input.Source is BoundDagTypeEvaluation); 2591Debug.Assert(s2.Input.Source is BoundDagTypeEvaluation); 2598case (BoundDagTypeEvaluation s1, BoundDagTypeEvaluation s2): 2625case (BoundDagTypeEvaluation s1, BoundDagIndexerEvaluation or BoundDagFieldEvaluation or BoundDagPropertyEvaluation or BoundDagIndexEvaluation or BoundDagSliceEvaluation): // s2Source can be anything with an output, obtainable via MakeResultTemp(). 2637case (BoundDagIndexerEvaluation or BoundDagFieldEvaluation or BoundDagPropertyEvaluation or BoundDagIndexEvaluation or BoundDagSliceEvaluation, BoundDagTypeEvaluation s2): 2668internal static BoundDagEvaluation? SkipAllTypeEvaluations(BoundDagTypeEvaluation typeEval) 2675while (input.Source is BoundDagTypeEvaluation source) 3663case BoundDagTypeEvaluation typeEval: 3791private static Tests RemoveTypeEvaluation(One tests, DecisionDagBuilder dagBuilder, ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagTypeEvaluation e1) 3793if (tests.Test is BoundDagTypeEvaluation typeEval && IsSameEntity(typeEval.MakeResultTemp(), e1.MakeResultTemp())) 3803else if (typeEval.Input is { Source: not BoundDagTypeEvaluation } typeEvalInput) 3833static Tests? replaceUnionTypeEvaluation(DecisionDagBuilder dagBuilder, BoundDagTypeEvaluation e1, BoundDagTypeEvaluation typeEval) 3844var newTypeEval = typeEval.Update(e1.Input); 3936Debug.Assert(passThrough.Input.Source is BoundDagTypeEvaluation); 3937return new BoundDagPassThroughEvaluation(passThrough.Syntax, ((BoundDagTypeEvaluation)UpdateDagTempReferences((BoundDagTypeEvaluation)passThrough.Input.Source, ref tempMap)).MakeResultTemp()); 3940case BoundDagTypeEvaluation:
Binder\PatternExplainer.cs (2)
407if (evaluations is [BoundDagTypeEvaluation { Type: var evaluationType } te]) 439evaluations[0] is BoundDagTypeEvaluation { Type: var evaluationType } te &&
BoundTree\BoundDagEvaluation.cs (5)
23Debug.Assert(other is BoundDagIndexerEvaluation or BoundDagTypeEvaluation or BoundDagPassThroughEvaluation || 24this is BoundDagIndexerEvaluation or BoundDagTypeEvaluation or BoundDagPassThroughEvaluation || 55BoundDagTypeEvaluation e => e.Type, 139public new BoundDagTypeEvaluation Update(BoundDagTemp input) 382Debug.Assert(Input.Source is BoundDagTypeEvaluation);
FlowAnalysis\NullableWalker_Patterns.cs (3)
460case BoundDagTypeEvaluation e: 589&& t.Input.Source is BoundDagTypeEvaluation { Input: { IsOriginalInput: true } }) 708case BoundDagTypeEvaluation e:
Generated\BoundNodes.xml.Generated.cs (8)
5473public BoundDagTypeEvaluation Update(TypeSymbol type, BoundDagTemp input) 5477var result = new BoundDagTypeEvaluation(this.Syntax, type, input, this.HasErrors); 9365return VisitDagTypeEvaluation((BoundDagTypeEvaluation)node, arg); 9703public virtual R VisitDagTypeEvaluation(BoundDagTypeEvaluation node, A arg) => this.DefaultVisit(node, arg); 9944public virtual BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) => this.DefaultVisit(node); 10624public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) 12017public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) 16719public override TreeDumperNode VisitDagTypeEvaluation(BoundDagTypeEvaluation node, object? arg) => new TreeDumperNode("dagTypeEvaluation", null, new TreeDumperNode[]
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (3)
212case BoundDagTypeEvaluation t: 503evaluation is BoundDagTypeEvaluation typeEvaluation1 && 518evaluation is BoundDagTypeEvaluation typeEvaluation2 &&