5 instantiations of BoundDagTypeEvaluation
Microsoft.CodeAnalysis.CSharp (5)
Binder\DecisionDagBuilder.cs (4)
815var typeEvaluation = new BoundDagTypeEvaluation(syntax, outParameterTemp.Type.StrippedType(), outParameterTemp); 822typeEvaluation = new BoundDagTypeEvaluation(syntax, type, typeEvaluationTemp); 858var evaluation = new BoundDagTypeEvaluation(syntax, type, input); 1159var evaluation = new BoundDagTypeEvaluation(bin.Syntax, bin.NarrowedType, input);
Generated\BoundNodes.xml.Generated.cs (1)
5475var 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 542while (input.Source is BoundDagTypeEvaluation source && isDerivedType(source.Input.Type, symbol.ContainingType)) 567while (input.Source is BoundDagTypeEvaluation source) 815var typeEvaluation = new BoundDagTypeEvaluation(syntax, outParameterTemp.Type.StrippedType(), outParameterTemp); 858var evaluation = new BoundDagTypeEvaluation(syntax, type, input); 1159var evaluation = new BoundDagTypeEvaluation(bin.Syntax, bin.NarrowedType, input); 2447case (BoundDagTypeEvaluation s1, BoundDagTypeEvaluation s2): 2469case (BoundDagTypeEvaluation s1, _): 2486case (_, BoundDagTypeEvaluation s2): 2589Debug.Assert(s1.Input.Source is BoundDagTypeEvaluation); 2590Debug.Assert(s2.Input.Source is BoundDagTypeEvaluation); 2597case (BoundDagTypeEvaluation s1, BoundDagTypeEvaluation s2): 2624case (BoundDagTypeEvaluation s1, BoundDagIndexerEvaluation or BoundDagFieldEvaluation or BoundDagPropertyEvaluation or BoundDagIndexEvaluation or BoundDagSliceEvaluation): // s2Source can be anything with an output, obtainable via MakeResultTemp(). 2636case (BoundDagIndexerEvaluation or BoundDagFieldEvaluation or BoundDagPropertyEvaluation or BoundDagIndexEvaluation or BoundDagSliceEvaluation, BoundDagTypeEvaluation s2): 2667internal static BoundDagEvaluation? SkipAllTypeEvaluations(BoundDagTypeEvaluation typeEval) 2674while (input.Source is BoundDagTypeEvaluation source) 2914case BoundDagTypeEvaluation a: 3662case BoundDagTypeEvaluation typeEval: 3790private static Tests RemoveTypeEvaluation(One tests, DecisionDagBuilder dagBuilder, ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagTypeEvaluation e1) 3792if (tests.Test is BoundDagTypeEvaluation typeEval && IsSameEntity(typeEval.MakeResultTemp(), e1.MakeResultTemp())) 3802else if (typeEval.Input is { Source: not BoundDagTypeEvaluation } typeEvalInput) 3832static Tests? replaceUnionTypeEvaluation(DecisionDagBuilder dagBuilder, BoundDagTypeEvaluation e1, BoundDagTypeEvaluation typeEval) 3843var newTypeEval = typeEval.Update(e1.Input); 3935Debug.Assert(passThrough.Input.Source is BoundDagTypeEvaluation); 3936return new BoundDagPassThroughEvaluation(passThrough.Syntax, ((BoundDagTypeEvaluation)UpdateDagTempReferences((BoundDagTypeEvaluation)passThrough.Input.Source, ref tempMap)).MakeResultTemp()); 3939case 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);
BoundTree\BoundDagTest.cs (1)
64case BoundDagTypeEvaluation a:
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)
5471public BoundDagTypeEvaluation Update(TypeSymbol type, BoundDagTemp input) 5475var result = new BoundDagTypeEvaluation(this.Syntax, type, input, this.HasErrors); 9367return VisitDagTypeEvaluation((BoundDagTypeEvaluation)node, arg); 9705public virtual R VisitDagTypeEvaluation(BoundDagTypeEvaluation node, A arg) => this.DefaultVisit(node, arg); 9946public virtual BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) => this.DefaultVisit(node); 10626public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) 12021public override BoundNode? VisitDagTypeEvaluation(BoundDagTypeEvaluation node) 16726public 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 &&