5 instantiations of BoundDagTypeEvaluation
Microsoft.CodeAnalysis.CSharp (5)
Binder\DecisionDagBuilder.cs (4)
807var typeEvaluation = new BoundDagTypeEvaluation(syntax, outParameterTemp.Type.StrippedType(), outParameterTemp); 814typeEvaluation = new BoundDagTypeEvaluation(syntax, type, typeEvaluationTemp); 850var evaluation = new BoundDagTypeEvaluation(syntax, type, input); 1131var 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) 807var typeEvaluation = new BoundDagTypeEvaluation(syntax, outParameterTemp.Type.StrippedType(), outParameterTemp); 850var evaluation = new BoundDagTypeEvaluation(syntax, type, input); 1131var evaluation = new BoundDagTypeEvaluation(bin.Syntax, bin.NarrowedType, input); 2419case (BoundDagTypeEvaluation s1, BoundDagTypeEvaluation s2): 2441case (BoundDagTypeEvaluation s1, _): 2458case (_, BoundDagTypeEvaluation s2): 2561Debug.Assert(s1.Input.Source is BoundDagTypeEvaluation); 2562Debug.Assert(s2.Input.Source is BoundDagTypeEvaluation); 2569case (BoundDagTypeEvaluation s1, BoundDagTypeEvaluation s2): 2596case (BoundDagTypeEvaluation s1, BoundDagIndexerEvaluation or BoundDagFieldEvaluation or BoundDagPropertyEvaluation or BoundDagIndexEvaluation or BoundDagSliceEvaluation): // s2Source can be anything with an output, obtainable via MakeResultTemp(). 2608case (BoundDagIndexerEvaluation or BoundDagFieldEvaluation or BoundDagPropertyEvaluation or BoundDagIndexEvaluation or BoundDagSliceEvaluation, BoundDagTypeEvaluation s2): 2639internal static BoundDagEvaluation? SkipAllTypeEvaluations(BoundDagTypeEvaluation typeEval) 2646while (input.Source is BoundDagTypeEvaluation source) 2886case BoundDagTypeEvaluation a: 3622case BoundDagTypeEvaluation typeEval: 3737private static Tests RemoveTypeEvaluation(One tests, DecisionDagBuilder dagBuilder, ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagTypeEvaluation e1) 3739if (tests.Test is BoundDagTypeEvaluation typeEval && IsSameEntity(typeEval.MakeResultTemp(), e1.MakeResultTemp())) 3749else if (typeEval.Input is { Source: not BoundDagTypeEvaluation } typeEvalInput) 3779static Tests? replaceUnionTypeEvaluation(DecisionDagBuilder dagBuilder, BoundDagTypeEvaluation e1, BoundDagTypeEvaluation typeEval) 3790var newTypeEval = typeEval.Update(e1.Input); 3882Debug.Assert(passThrough.Input.Source is BoundDagTypeEvaluation); 3883return new BoundDagPassThroughEvaluation(passThrough.Syntax, ((BoundDagTypeEvaluation)UpdateDagTempReferences((BoundDagTypeEvaluation)passThrough.Input.Source, ref tempMap)).MakeResultTemp()); 3886case BoundDagTypeEvaluation:
Binder\PatternExplainer.cs (2)
382if (evaluations is [BoundDagTypeEvaluation { Type: var evaluationType } te]) 414evaluations[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)
458case BoundDagTypeEvaluation e: 587&& t.Input.Source is BoundDagTypeEvaluation { Input: { IsOriginalInput: true } }) 706case 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 &&