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
;
676
Input
: { } tryGetValueInput
734
Input
: { } propertyInput
1229
if (evaluation.
Input
.Source is { Id: -1 } source)
1235
if (test.
Input
.Source is { Id: -1 } testSource)
1390
state.SelectedTest = new BoundDagNonNullTest(t.Syntax, isExplicitTest: true, t.
Input
, t.HasErrors);
1482
markUsedTemp(tempToIndex, ref nextTempIndex, ref usedTemps, eval.
Input
);
1703
whenTrueValues.TryGetValue(test.
Input
, out IValueSet? whenTrueValuesOpt);
1704
whenFalseValues.TryGetValue(test.
Input
, out IValueSet? whenFalseValuesOpt);
1759
var input = test.
Input
;
1796
if (!_forLowering && ValueSetFactory.TypeUnionValueSetFactoryForInput(typeTest.
Input
) is { } factory)
1802
(var whenTrueValues, var whenFalseValues, fromTestPassing, var fromTestFailing) = splitValues(values, typeTest.
Input
, fromTestPassing);
1822
if (!_forLowering && ValueSetFactory.TypeUnionValueSetFactoryForInput(nonNullTest.
Input
) is { } factory)
1826
(var whenTrueValues, var whenFalseValues, fromTestPassing, var fromTestFailing) = splitValues(values, nonNullTest.
Input
, fromTestPassing);
1843
if (!_forLowering && ValueSetFactory.TypeUnionValueSetFactoryForInput(nullTest.
Input
) is { } factory)
1847
(var whenTrueValues, var whenFalseValues, fromTestPassing, var fromTestFailing) = splitValues(values, nullTest.
Input
, fromTestPassing);
1862
BoundDagTemp input = e.
Input
;
1869
input = slice.
Input
;
1877
BoundDagTemp input = e.
Input
;
1884
input = slice.
Input
;
2297
return test is BoundDagExplicitNullTest && IsAnyUnionValue(NotTypeEvaluationInput(test.
Input
), out testUnionInstance);
2303
return test is BoundDagNonNullTest && IsAnyUnionValue(NotTypeEvaluationInput(test.
Input
), out testUnionInstance);
2308
if (test is BoundDagTypeTest typeTest && IsAnyUnionValue(NotTypeEvaluationInput(test.
Input
), out testUnionInstance))
2321
if (test is BoundDagValueTest hasValueTest && IsUnionHasValue(test.
Input
, out testUnionInstance))
2339
if (test is BoundDagValueTest tryGetValueTest && IsUnionTryGetValueReturn(test.
Input
, out targetType, out testUnionInstance, out tryGetValueEvaluation))
2358
if (test.
Input
== other.
Input
)
2368
!test.
Input
.Type.Equals(other.
Input
.Type, TypeCompareKind.AllIgnoreOptions))
2373
return IsSameEntity(test.
Input
, other.
Input
);
2385
s1Input = s1.
Input
;
2389
s2Input = s2.
Input
;
2397
if (IsAnyUnionValue(s1.
Input
, out BoundDagTemp? s1UnionInstance) &&
2398
IsAnyUnionValue(s2.
Input
, out BoundDagTemp? s2UnionInstance))
2416
if (IsUnionValue(s1.
Input
, out _))
2418
s1Input = s1.
Input
;
2422
if (IsUnionTryGetValueValue(s1.
Input
, out _))
2433
if (IsUnionValue(s2.
Input
, out _))
2435
s2Input = s2.
Input
;
2439
if (IsUnionTryGetValueValue(s2.
Input
, out _))
2476
s1Input = OriginalInput(s1.
Input
);
2477
s2Input = OriginalInput(s2.
Input
);
2534
Debug.Assert(s1.
Input
.Source is BoundDagTypeEvaluation);
2535
Debug.Assert(s2.
Input
.Source is BoundDagTypeEvaluation);
2537
BoundDagTemp s1Input = NotTypeEvaluationInput(s1.
Input
.Source);
2538
BoundDagTemp s2Input = NotTypeEvaluationInput(s2.
Input
.Source);
2539
return s1.
Input
.Type.Equals(s2.
Input
.Type, TypeCompareKind.AllIgnoreOptions) && s1Input.Equals(s2Input);
2595
return s1.
Input
.Equals(s2.
Input
);
2622
input = source.
Input
;
2630
return NotTypeEvaluationInput(test.
Input
);
2860
return $"t{tempIdentifier(a)}={a.Kind}({tempName(a.
Input
)} as {a.Type})";
2862
return $"t{tempIdentifier(e)}={e.Kind}({tempName(e.
Input
)}.{e.Field.Name})";
2864
return $"t{tempIdentifier(e)}={e.Kind}({tempName(e.
Input
)}.{e.Property.Name})";
2866
return $"t{tempIdentifier(e)}={e.Kind}({tempName(e.
Input
)}[{e.Index}])";
2868
return $"{e.Kind}({tempName(e.Target)}<--{tempName(e.
Input
)})";
2870
return $"t{tempIdentifier(e)}={e.Kind}({tempName(e.
Input
)})";
2872
return $"?{d.Kind}({tempName(d.
Input
)} is {b.Type})";
2874
return $"?{d.Kind}({tempName(d.
Input
)} == {v.Value})";
2884
return $"?{d.Kind}({tempName(d.
Input
)} {operatorName} {r.Value})";
2886
return $"?{d.Kind}({tempName(d.
Input
)})";
3458
if (test.
Input
.Source is BoundDagPropertyEvaluation { IsLengthOrCount: true } e)
3631
IsSameEntity(eval.
Input
, e1.
Input
))
3633
Debug.Assert(!eval.
Input
.Equals(e1.
Input
));
3722
else if (typeEval.
Input
is { Source: not BoundDagTypeEvaluation } typeEvalInput)
3763
var newTypeEval = typeEval.Update(e1.
Input
);
3855
Debug.Assert(passThrough.
Input
.Source is BoundDagTypeEvaluation);
3856
return new BoundDagPassThroughEvaluation(passThrough.Syntax, ((BoundDagTypeEvaluation)UpdateDagTempReferences((BoundDagTypeEvaluation)passThrough.
Input
.Source, ref tempMap)).MakeResultTemp());
3863
if (!TryGetTempReplacement(tempMap, eval.
Input
, out BoundDagTemp? replacement))
3875
if (!TryGetTempReplacement(tempMap, indexer.
Input
, out BoundDagTemp? inputReplacement))
3891
if (!TryGetTempReplacement(tempMap, slice.
Input
, out BoundDagTemp? inputReplacement))
3907
if (!TryGetTempReplacement(tempMap, assignment.
Input
, out BoundDagTemp? inputReplacement))
3917
if (!TryGetTempReplacement(tempMap, deconstruct.
Input
, out BoundDagTemp? replacement))
3939
if (!TryGetTempReplacement(tempMap, test.
Input
, out BoundDagTemp? replacement))
4594
if (easyOutForLowering != (object)planA && !forLowering && ValueSetFactory.TypeUnionValueSetFactoryForInput(planA.
Input
) is not null)
4620
return planA.
Input
.Equals(planB1.
Input
) ? planB1 : planA;
4627
return planA.
Input
.Equals(planB2.
Input
) ? planB2 : planA;
Binder\PatternExplainer.cs (4)
300
BoundDagTemp temp = test.
Input
;
301
if (test is BoundDagTypeTest && sense == false && ValueSetFactory.TypeUnionValueSetFactoryForInput(test.
Input
) is null)
318
BoundDagTemp temp = e.Evaluation.
Input
;
700
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)
438
(int inputSlot, TypeSymbol inputType) = tempMap.TryGetValue(evaluation.
Input
, out var slotAndType) ? slotAndType : throw ExceptionUtilities.Unreachable();
538
bool foundTemp = tempMap.TryGetValue(test.
Input
, out var slotAndType);
585
&& t.
Input
.Source is BoundDagTypeEvaluation {
Input
: { IsOriginalInput: true } })
685
getOrMakeAndRegisterDagTempSlot(evaluation.
Input
);
686
(int inputSlot, TypeSymbol inputType) = tempMap.TryGetValue(evaluation.
Input
, out var slotAndType) ? slotAndType : throw ExceptionUtilities.Unreachable();
708
switch (_conversions.WithNullability(false).ClassifyConversionFromType(e.
Input
.Type, e.Type, isChecked: false, ref discardedUseSiteInfo).Kind)
733
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
)
10603
this.Visit(node.
Input
);
10608
this.Visit(node.
Input
);
10613
this.Visit(node.
Input
);
10618
this.Visit(node.
Input
);
10623
this.Visit(node.
Input
);
10628
this.Visit(node.
Input
);
10633
this.Visit(node.
Input
);
10638
this.Visit(node.
Input
);
10643
this.Visit(node.
Input
);
10648
this.Visit(node.
Input
);
10657
this.Visit(node.
Input
);
10666
this.Visit(node.
Input
);
10672
this.Visit(node.
Input
);
10677
this.Visit(node.
Input
);
11991
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
11997
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
12002
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
12007
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
12012
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
12018
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
12023
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
12030
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
12036
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
12042
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
12051
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
12061
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
12068
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
12073
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
14171
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
14178
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
14185
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
14192
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
14203
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
14214
BoundDagTemp input = (BoundDagTemp)this.Visit(node.
Input
);
16675
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16682
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16688
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16695
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16703
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16710
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16717
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16724
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16732
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16740
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16752
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16765
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16772
new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.
Input
, null) }),
16778
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);