1 write to Input
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
5251
this.
Input
= input;
218 references to Input
Microsoft.CodeAnalysis.CSharp (218)
Binder\DecisionDagBuilder.cs (92)
256
if (e.
Input
.Source is { })
257
usedValues.Add(e.
Input
.Source);
267
if (d.
Input
.Source is { })
268
usedValues.Add(d.
Input
.Source);
477
Input
: { } propertyInput
534
while (input.Source is BoundDagTypeEvaluation source && isDerivedType(source.
Input
.Type, symbol.ContainingType))
536
if (IsAnyUnionValue(source.
Input
, out _))
544
input = source.
Input
;
563
if (IsAnyUnionValue(source.
Input
, out _))
571
input = source.
Input
;
669
Input
: { } tryGetValueInput
728
Input
: { } propertyInput
1254
if (evaluation.
Input
.Source is { Id: -1 } source)
1260
if (test.
Input
.Source is { Id: -1 } testSource)
1415
state.SelectedTest = new BoundDagNonNullTest(t.Syntax, isExplicitTest: true, t.
Input
, t.HasErrors);
1507
markUsedTemp(tempToIndex, ref nextTempIndex, ref usedTemps, eval.
Input
);
1728
whenTrueValues.TryGetValue(test.
Input
, out IValueSet? whenTrueValuesOpt);
1729
whenFalseValues.TryGetValue(test.
Input
, out IValueSet? whenFalseValuesOpt);
1784
var input = test.
Input
;
1821
if (!_forLowering && ValueSetFactory.TypeUnionValueSetFactoryForInput(_compilation, typeTest.
Input
) is { } factory)
1827
(var whenTrueValues, var whenFalseValues, fromTestPassing, var fromTestFailing) = splitValues(values, typeTest.
Input
, fromTestPassing);
1847
if (!_forLowering && ValueSetFactory.TypeUnionValueSetFactoryForInput(_compilation, nonNullTest.
Input
) is { } factory)
1851
(var whenTrueValues, var whenFalseValues, fromTestPassing, var fromTestFailing) = splitValues(values, nonNullTest.
Input
, fromTestPassing);
1868
if (!_forLowering && ValueSetFactory.TypeUnionValueSetFactoryForInput(_compilation, nullTest.
Input
) is { } factory)
1872
(var whenTrueValues, var whenFalseValues, fromTestPassing, var fromTestFailing) = splitValues(values, nullTest.
Input
, fromTestPassing);
1887
BoundDagTemp input = e.
Input
;
1894
input = slice.
Input
;
1902
BoundDagTemp input = e.
Input
;
1909
input = slice.
Input
;
2344
return test is BoundDagExplicitNullTest && IsAnyUnionValue(NotTypeEvaluationInput(test.
Input
), out testUnionInstance);
2350
return test is BoundDagNonNullTest && IsAnyUnionValue(NotTypeEvaluationInput(test.
Input
), out testUnionInstance);
2355
if (test is BoundDagTypeTest typeTest && IsAnyUnionValue(NotTypeEvaluationInput(test.
Input
), out testUnionInstance))
2368
if (test is BoundDagValueTest hasValueTest && IsUnionHasValue(test.
Input
, out testUnionInstance))
2386
if (test is BoundDagValueTest tryGetValueTest && IsUnionTryGetValueReturn(test.
Input
, out targetType, out testUnionInstance, out tryGetValueEvaluation))
2405
if (test.
Input
== other.
Input
)
2415
!test.
Input
.Type.Equals(other.
Input
.Type, TypeCompareKind.AllIgnoreOptions))
2420
return IsSameEntity(test.
Input
, other.
Input
);
2432
s1Input = s1.
Input
;
2436
s2Input = s2.
Input
;
2444
if (IsAnyUnionValue(s1.
Input
, out BoundDagTemp? s1UnionInstance) &&
2445
IsAnyUnionValue(s2.
Input
, out BoundDagTemp? s2UnionInstance))
2463
if (IsUnionValue(s1.
Input
, out _))
2465
s1Input = s1.
Input
;
2469
if (IsUnionTryGetValueValue(s1.
Input
, out _))
2480
if (IsUnionValue(s2.
Input
, out _))
2482
s2Input = s2.
Input
;
2486
if (IsUnionTryGetValueValue(s2.
Input
, out _))
2523
s1Input = OriginalInput(s1.
Input
);
2524
s2Input = OriginalInput(s2.
Input
);
2581
Debug.Assert(s1.
Input
.Source is BoundDagTypeEvaluation);
2582
Debug.Assert(s2.
Input
.Source is BoundDagTypeEvaluation);
2584
BoundDagTemp s1Input = NotTypeEvaluationInput(s1.
Input
.Source);
2585
BoundDagTemp s2Input = NotTypeEvaluationInput(s2.
Input
.Source);
2586
return s1.
Input
.Type.Equals(s2.
Input
.Type, TypeCompareKind.AllIgnoreOptions) && s1Input.Equals(s2Input);
2642
return s1.
Input
.Equals(s2.
Input
);
2669
input = source.
Input
;
2677
return NotTypeEvaluationInput(test.
Input
);
2907
return $"t{tempIdentifier(a)}={a.Kind}({tempName(a.
Input
)} as {a.Type})";
2909
return $"t{tempIdentifier(e)}={e.Kind}({tempName(e.
Input
)}.{e.Field.Name})";
2911
return $"t{tempIdentifier(e)}={e.Kind}({tempName(e.
Input
)}.{e.Property.Name})";
2913
return $"t{tempIdentifier(e)}={e.Kind}({tempName(e.
Input
)}[{e.Index}])";
2915
return $"{e.Kind}({tempName(e.Target)}<--{tempName(e.
Input
)})";
2917
return $"t{tempIdentifier(e)}={e.Kind}({tempName(e.
Input
)})";
2919
return $"?{d.Kind}({tempName(d.
Input
)} is {b.Type})";
2921
return $"?{d.Kind}({tempName(d.
Input
)} == {v.Value})";
2931
return $"?{d.Kind}({tempName(d.
Input
)} {operatorName} {r.Value})";
2933
return $"?{d.Kind}({tempName(d.
Input
)})";
3505
if (test.
Input
.Source is BoundDagPropertyEvaluation { IsLengthOrCount: true } e)
3678
IsSameEntity(eval.
Input
, e1.
Input
))
3680
Debug.Assert(!eval.
Input
.Equals(e1.
Input
));
3769
else if (typeEval.
Input
is { Source: not BoundDagTypeEvaluation } typeEvalInput)
3810
var newTypeEval = typeEval.Update(e1.
Input
);
3902
Debug.Assert(passThrough.
Input
.Source is BoundDagTypeEvaluation);
3903
return new BoundDagPassThroughEvaluation(passThrough.Syntax, ((BoundDagTypeEvaluation)UpdateDagTempReferences((BoundDagTypeEvaluation)passThrough.
Input
.Source, ref tempMap)).MakeResultTemp());
3910
if (!TryGetTempReplacement(tempMap, eval.
Input
, out BoundDagTemp? replacement))
3922
if (!TryGetTempReplacement(tempMap, indexer.
Input
, out BoundDagTemp? inputReplacement))
3938
if (!TryGetTempReplacement(tempMap, slice.
Input
, out BoundDagTemp? inputReplacement))
3954
if (!TryGetTempReplacement(tempMap, assignment.
Input
, out BoundDagTemp? inputReplacement))
3964
if (!TryGetTempReplacement(tempMap, deconstruct.
Input
, out BoundDagTemp? replacement))
3986
if (!TryGetTempReplacement(tempMap, test.
Input
, out BoundDagTemp? replacement))
4645
if (easyOutForLowering != (object)planA && !builder._forLowering && ValueSetFactory.TypeUnionValueSetFactoryForInput(builder._compilation, planA.
Input
) is not null)
4671
return planA.
Input
.Equals(planB1.
Input
) ? planB1 : planA;
4678
return planA.
Input
.Equals(planB2.
Input
) ? planB2 : planA;
Binder\PatternExplainer.cs (4)
301
BoundDagTemp temp = test.
Input
;
302
if (test is BoundDagTypeTest && sense == false && ValueSetFactory.TypeUnionValueSetFactoryForInput(binder.Compilation, test.
Input
) is null)
319
BoundDagTemp temp = e.Evaluation.
Input
;
708
e.
Input
.Type is NamedTypeSymbol { IsUnionType: true } unionType &&
BoundTree\BoundDagEvaluation.cs (9)
25
other.
Input
.Equals(this.
Input
));
246
return new OneOrMany<BoundDagTemp>([
Input
, LengthTemp]);
283
return new OneOrMany<BoundDagTemp>([
Input
, LengthTemp]);
301
this.
Input
.Equals(assignment.
Input
);
382
Debug.Assert(
Input
.Source is BoundDagTypeEvaluation);
383
return DecisionDagBuilder.NotTypeEvaluationInput(
Input
.Source).GetHashCode();
388
return
Input
;
BoundTree\BoundDagTest.cs (19)
26
if (!this.
Input
.Equals(other.
Input
))
48
return Hash.Combine(((int)Kind).GetHashCode(),
Input
.GetHashCode());
56
return new OneOrMany<BoundDagTemp>(
Input
);
65
return $"{a.GetOutputTempDebuggerDisplay()} = ({a.Type}){a.
Input
.GetDebuggerDisplay()}";
67
return $"{e.GetOutputTempDebuggerDisplay()} = {e.
Input
.GetDebuggerDisplay()}.{e.Property.Name}";
69
return $"{e.GetOutputTempDebuggerDisplay()} = {e.
Input
.GetDebuggerDisplay()}.{e.Field.Name}";
100
result += $") {d.GetOutputTempDebuggerDisplay()} = {d.
Input
.GetDebuggerDisplay()}";
103
return $"{i.GetOutputTempDebuggerDisplay()} = {i.
Input
.GetDebuggerDisplay()}[{i.Index}]";
105
return $"{i.GetOutputTempDebuggerDisplay()} = {i.
Input
.GetDebuggerDisplay()}[{i.Index}]";
107
return $"{i.Target.GetDebuggerDisplay()} <-- {i.
Input
.GetDebuggerDisplay()}";
109
return $"PassThrough {i.
Input
.GetDebuggerDisplay()}";
111
return $"{e.GetOutputTempDebuggerDisplay()} = {e.Kind}({e.
Input
.GetDebuggerDisplay()})";
114
return $"{b.
Input
.GetDebuggerDisplay()} is {typeName}";
116
return $"{v.
Input
.GetDebuggerDisplay()} == {v.Value.GetValueToDisplay()}";
118
return $"{nn.
Input
.GetDebuggerDisplay()} != null";
120
return $"{n.
Input
.GetDebuggerDisplay()} == null";
130
return $"{r.
Input
.GetDebuggerDisplay()} {operatorName} {r.Value.GetValueToDisplay()}";
132
return $"{this.Kind}({this.
Input
.GetDebuggerDisplay()})";
BoundTree\BoundDecisionDag.cs (1)
176
if (!choice.
Input
.IsOriginalInput)
FlowAnalysis\NullableWalker_Patterns.cs (8)
440
(int inputSlot, TypeSymbol inputType) = tempMap.TryGetValue(evaluation.
Input
, out var slotAndType) ? slotAndType : throw ExceptionUtilities.Unreachable();
540
bool foundTemp = tempMap.TryGetValue(test.
Input
, out var slotAndType);
587
&& t.
Input
.Source is BoundDagTypeEvaluation {
Input
: { IsOriginalInput: true } })
687
getOrMakeAndRegisterDagTempSlot(evaluation.
Input
);
688
(int inputSlot, TypeSymbol inputType) = tempMap.TryGetValue(evaluation.
Input
, out var slotAndType) ? slotAndType : throw ExceptionUtilities.Unreachable();
710
switch (_conversions.WithNullability(false).ClassifyConversionFromType(e.
Input
.Type, e.Type, isChecked: false, ref discardedUseSiteInfo).Kind)
735
var originalTupleElement = e.
Input
.IsOriginalInput && !originalInputElementSlots.IsDefault
Generated\BoundNodes.xml.Generated.cs (62)
5308
if (!TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything) || input != this.
Input
)
5336
if (isExplicitTest != this.IsExplicitTest || input != this.
Input
)
5362
if (input != this.
Input
)
5391
if (value != this.Value || input != this.
Input
)
5422
if (operatorKind != this.OperatorKind || value != this.Value || input != this.
Input
)
5463
if (!Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(deconstructMethod, this.DeconstructMethod) || input != this.
Input
)
5492
if (!TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything) || input != this.
Input
)
5521
if (!Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(field, this.Field) || input != this.
Input
)
5552
if (!Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(property, this.Property) || isLengthOrCount != this.IsLengthOrCount || input != this.
Input
)
5583
if (!Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(property, this.Property) || index != this.Index || input != this.
Input
)
5630
if (!TypeSymbol.Equals(indexerType, this.IndexerType, TypeCompareKind.ConsiderEverything) || lengthTemp != this.LengthTemp || index != this.Index || indexerAccess != this.IndexerAccess || receiverPlaceholder != this.ReceiverPlaceholder || argumentPlaceholder != this.ArgumentPlaceholder || input != this.
Input
)
5679
if (!TypeSymbol.Equals(sliceType, this.SliceType, TypeCompareKind.ConsiderEverything) || lengthTemp != this.LengthTemp || startIndex != this.StartIndex || endIndex != this.EndIndex || indexerAccess != this.IndexerAccess || receiverPlaceholder != this.ReceiverPlaceholder || argumentPlaceholder != this.ArgumentPlaceholder || input != this.
Input
)
5708
if (target != this.Target || input != this.
Input
)
5734
if (input != this.
Input
)
10601
this.Visit(node.
Input
);
10606
this.Visit(node.
Input
);
10611
this.Visit(node.
Input
);
10616
this.Visit(node.
Input
);
10621
this.Visit(node.
Input
);
10626
this.Visit(node.
Input
);
10631
this.Visit(node.
Input
);
10636
this.Visit(node.
Input
);
10641
this.Visit(node.
Input
);
10646
this.Visit(node.
Input
);
10655
this.Visit(node.
Input
);
10664
this.Visit(node.
Input
);
10670
this.Visit(node.
Input
);
10675
this.Visit(node.
Input
);
11989
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
11995
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
12000
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
12005
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
12010
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
12016
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
12021
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
12028
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
12034
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
12040
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
12049
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
12059
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
12066
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
12071
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
14169
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
14176
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
14183
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
14190
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
14201
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
14212
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
16673
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16680
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16686
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16693
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16701
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16708
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16715
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16722
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16730
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16738
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16750
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16763
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16770
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16776
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (6)
504
var input = ((BoundTestDecisionDagNode)node).Test.
Input
;
535
if (!t1.
Input
.Equals(t2.
Input
))
538
if (t1.
Input
.Type.SpecialType is SpecialType.System_Double or SpecialType.System_Single)
570
if (!(node is BoundTestDecisionDagNode testNode && testNode.Test.
Input
.Equals(input)))
594
vd.
Input
.Equals(input) &&
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (17)
137
BoundExpression input = _tempAllocator.GetTemp(evaluation.
Input
);
322
Debug.Assert(!e.Target.Equals(e.
Input
));
324
BoundExpression right = _tempAllocator.GetTemp(e.
Input
);
368
BoundExpression input = _tempAllocator.GetTemp(test.
Input
);
506
typeEvaluation1.
Input
.Equals(typeDecision.
Input
))
508
BoundExpression input = _tempAllocator.GetTemp(test.
Input
);
519
_factory.Compilation.Conversions.ClassifyBuiltInConversion(test.
Input
.Type, typeEvaluation2.Type, isChecked: false, ref useSiteInfo) is Conversion conv &&
521
typeEvaluation2.
Input
== nonNullTest.
Input
)
523
BoundExpression input = _tempAllocator.GetTemp(test.
Input
);
620
return t.Test.
Input
.IsOriginalInput;
625
return f.
Input
.IsOriginalInput && !f.Field.IsTupleElement();
627
return e.Evaluation.
Input
.IsOriginalInput;
696
eval.
Input
.IsOriginalInput &&
708
Debug.Assert(!evalNode.Evaluation.
Input
.IsOriginalInput);
712
Debug.Assert(!testNode.Test.
Input
.IsOriginalInput);