4 instantiations of BoundDagTypeEvaluation
Microsoft.CodeAnalysis.CSharp (4)
Binder\DecisionDagBuilder.cs (3)
813var typeEvaluation = new BoundDagTypeEvaluation(syntax, outParameterTemp.Type, outParameterTemp); 847var evaluation = new BoundDagTypeEvaluation(syntax, type, input); 1126var evaluation = new BoundDagTypeEvaluation(bin.Syntax, bin.NarrowedType, input);
Generated\BoundNodes.xml.Generated.cs (1)
5494var result = new BoundDagTypeEvaluation(this.Syntax, type, input, this.HasErrors);
52 references to BoundDagTypeEvaluation
Microsoft.CodeAnalysis.CSharp (52)
Binder\DecisionDagBuilder.cs (30)
36/// reads a property; and <see cref="BoundDagTypeEvaluation"/> converts a value from one type to another (which 534while (input.Source is BoundDagTypeEvaluation source && isDerivedType(source.Input.Type, symbol.ContainingType)) 559while (input.Source is BoundDagTypeEvaluation source) 813var typeEvaluation = new BoundDagTypeEvaluation(syntax, outParameterTemp.Type, outParameterTemp); 847var evaluation = new BoundDagTypeEvaluation(syntax, type, input); 1126var evaluation = new BoundDagTypeEvaluation(bin.Syntax, bin.NarrowedType, input); 2392case (BoundDagTypeEvaluation s1, BoundDagTypeEvaluation s2): 2414case (BoundDagTypeEvaluation s1, _): 2431case (_, BoundDagTypeEvaluation s2): 2534Debug.Assert(s1.Input.Source is BoundDagTypeEvaluation); 2535Debug.Assert(s2.Input.Source is BoundDagTypeEvaluation); 2542case (BoundDagTypeEvaluation s1, BoundDagTypeEvaluation s2): 2569case (BoundDagTypeEvaluation s1, BoundDagIndexerEvaluation or BoundDagFieldEvaluation or BoundDagPropertyEvaluation or BoundDagIndexEvaluation or BoundDagSliceEvaluation): // s2Source can be anything with an output, obtainable via MakeResultTemp(). 2581case (BoundDagIndexerEvaluation or BoundDagFieldEvaluation or BoundDagPropertyEvaluation or BoundDagIndexEvaluation or BoundDagSliceEvaluation, BoundDagTypeEvaluation s2): 2612internal static BoundDagEvaluation? SkipAllTypeEvaluations(BoundDagTypeEvaluation typeEval) 2619while (input.Source is BoundDagTypeEvaluation source) 2859case BoundDagTypeEvaluation a: 3595case BoundDagTypeEvaluation typeEval: 3710private static Tests RemoveTypeEvaluation(One tests, DecisionDagBuilder dagBuilder, ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagTypeEvaluation e1) 3712if (tests.Test is BoundDagTypeEvaluation typeEval && IsSameEntity(typeEval.MakeResultTemp(), e1.MakeResultTemp())) 3722else if (typeEval.Input is { Source: not BoundDagTypeEvaluation } typeEvalInput) 3752static Tests? replaceUnionTypeEvaluation(DecisionDagBuilder dagBuilder, BoundDagTypeEvaluation e1, BoundDagTypeEvaluation typeEval) 3763var newTypeEval = typeEval.Update(e1.Input); 3855Debug.Assert(passThrough.Input.Source is BoundDagTypeEvaluation); 3856return new BoundDagPassThroughEvaluation(passThrough.Syntax, ((BoundDagTypeEvaluation)UpdateDagTempReferences((BoundDagTypeEvaluation)passThrough.Input.Source, ref tempMap)).MakeResultTemp()); 3859case BoundDagTypeEvaluation:
Binder\PatternExplainer.cs (2)
380if (evaluations is [BoundDagTypeEvaluation { Type: var evaluationType } te]) 412evaluations[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);
BoundTree\BoundDagTest.cs (1)
64case BoundDagTypeEvaluation a:
FlowAnalysis\NullableWalker_Patterns.cs (3)
456case BoundDagTypeEvaluation e: 585&& t.Input.Source is BoundDagTypeEvaluation { Input: { IsOriginalInput: true } }) 704case BoundDagTypeEvaluation e:
Generated\BoundNodes.xml.Generated.cs (8)
5490public BoundDagTypeEvaluation Update(TypeSymbol type, BoundDagTemp input) 5494var result = new BoundDagTypeEvaluation(this.Syntax, type, input, this.HasErrors); 9384return VisitDagTypeEvaluation((BoundDagTypeEvaluation)node, arg); 9722public virtual R VisitDagTypeEvaluation(BoundDagTypeEvaluation node, A arg) => this.DefaultVisit(node, arg); 9963public virtual BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) => this.DefaultVisit(node); 10631public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) 12021public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) 16714public 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 &&