1 write to Input
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
5231this.Input = input;
218 references to Input
Microsoft.CodeAnalysis.CSharp (218)
Binder\DecisionDagBuilder.cs (92)
256if (e.Input.Source is { }) 257usedValues.Add(e.Input.Source); 267if (d.Input.Source is { }) 268usedValues.Add(d.Input.Source); 477Input: { } propertyInput 534while (input.Source is BoundDagTypeEvaluation source && isDerivedType(source.Input.Type, symbol.ContainingType)) 536if (IsAnyUnionValue(source.Input, out _)) 544input = source.Input; 563if (IsAnyUnionValue(source.Input, out _)) 571input = source.Input; 669Input: { } tryGetValueInput 728Input: { } propertyInput 1254if (evaluation.Input.Source is { Id: -1 } source) 1260if (test.Input.Source is { Id: -1 } testSource) 1415state.SelectedTest = new BoundDagNonNullTest(t.Syntax, isExplicitTest: true, t.Input, t.HasErrors); 1507markUsedTemp(tempToIndex, ref nextTempIndex, ref usedTemps, eval.Input); 1728whenTrueValues.TryGetValue(test.Input, out IValueSet? whenTrueValuesOpt); 1729whenFalseValues.TryGetValue(test.Input, out IValueSet? whenFalseValuesOpt); 1784var input = test.Input; 1821if (!_forLowering && ValueSetFactory.TypeUnionValueSetFactoryForInput(_compilation, typeTest.Input) is { } factory) 1827(var whenTrueValues, var whenFalseValues, fromTestPassing, var fromTestFailing) = splitValues(values, typeTest.Input, fromTestPassing); 1847if (!_forLowering && ValueSetFactory.TypeUnionValueSetFactoryForInput(_compilation, nonNullTest.Input) is { } factory) 1851(var whenTrueValues, var whenFalseValues, fromTestPassing, var fromTestFailing) = splitValues(values, nonNullTest.Input, fromTestPassing); 1868if (!_forLowering && ValueSetFactory.TypeUnionValueSetFactoryForInput(_compilation, nullTest.Input) is { } factory) 1872(var whenTrueValues, var whenFalseValues, fromTestPassing, var fromTestFailing) = splitValues(values, nullTest.Input, fromTestPassing); 1887BoundDagTemp input = e.Input; 1894input = slice.Input; 1902BoundDagTemp input = e.Input; 1909input = slice.Input; 2344return test is BoundDagExplicitNullTest && IsAnyUnionValue(NotTypeEvaluationInput(test.Input), out testUnionInstance); 2350return test is BoundDagNonNullTest && IsAnyUnionValue(NotTypeEvaluationInput(test.Input), out testUnionInstance); 2355if (test is BoundDagTypeTest typeTest && IsAnyUnionValue(NotTypeEvaluationInput(test.Input), out testUnionInstance)) 2368if (test is BoundDagValueTest hasValueTest && IsUnionHasValue(test.Input, out testUnionInstance)) 2386if (test is BoundDagValueTest tryGetValueTest && IsUnionTryGetValueReturn(test.Input, out targetType, out testUnionInstance, out tryGetValueEvaluation)) 2405if (test.Input == other.Input) 2415!test.Input.Type.Equals(other.Input.Type, TypeCompareKind.AllIgnoreOptions)) 2420return IsSameEntity(test.Input, other.Input); 2432s1Input = s1.Input; 2436s2Input = s2.Input; 2444if (IsAnyUnionValue(s1.Input, out BoundDagTemp? s1UnionInstance) && 2445IsAnyUnionValue(s2.Input, out BoundDagTemp? s2UnionInstance)) 2463if (IsUnionValue(s1.Input, out _)) 2465s1Input = s1.Input; 2469if (IsUnionTryGetValueValue(s1.Input, out _)) 2480if (IsUnionValue(s2.Input, out _)) 2482s2Input = s2.Input; 2486if (IsUnionTryGetValueValue(s2.Input, out _)) 2523s1Input = OriginalInput(s1.Input); 2524s2Input = OriginalInput(s2.Input); 2581Debug.Assert(s1.Input.Source is BoundDagTypeEvaluation); 2582Debug.Assert(s2.Input.Source is BoundDagTypeEvaluation); 2584BoundDagTemp s1Input = NotTypeEvaluationInput(s1.Input.Source); 2585BoundDagTemp s2Input = NotTypeEvaluationInput(s2.Input.Source); 2586return s1.Input.Type.Equals(s2.Input.Type, TypeCompareKind.AllIgnoreOptions) && s1Input.Equals(s2Input); 2642return s1.Input.Equals(s2.Input); 2669input = source.Input; 2677return NotTypeEvaluationInput(test.Input); 2907return $"t{tempIdentifier(a)}={a.Kind}({tempName(a.Input)} as {a.Type})"; 2909return $"t{tempIdentifier(e)}={e.Kind}({tempName(e.Input)}.{e.Field.Name})"; 2911return $"t{tempIdentifier(e)}={e.Kind}({tempName(e.Input)}.{e.Property.Name})"; 2913return $"t{tempIdentifier(e)}={e.Kind}({tempName(e.Input)}[{e.Index}])"; 2915return $"{e.Kind}({tempName(e.Target)}<--{tempName(e.Input)})"; 2917return $"t{tempIdentifier(e)}={e.Kind}({tempName(e.Input)})"; 2919return $"?{d.Kind}({tempName(d.Input)} is {b.Type})"; 2921return $"?{d.Kind}({tempName(d.Input)} == {v.Value})"; 2931return $"?{d.Kind}({tempName(d.Input)} {operatorName} {r.Value})"; 2933return $"?{d.Kind}({tempName(d.Input)})"; 3505if (test.Input.Source is BoundDagPropertyEvaluation { IsLengthOrCount: true } e) 3678IsSameEntity(eval.Input, e1.Input)) 3680Debug.Assert(!eval.Input.Equals(e1.Input)); 3769else if (typeEval.Input is { Source: not BoundDagTypeEvaluation } typeEvalInput) 3810var newTypeEval = typeEval.Update(e1.Input); 3902Debug.Assert(passThrough.Input.Source is BoundDagTypeEvaluation); 3903return new BoundDagPassThroughEvaluation(passThrough.Syntax, ((BoundDagTypeEvaluation)UpdateDagTempReferences((BoundDagTypeEvaluation)passThrough.Input.Source, ref tempMap)).MakeResultTemp()); 3910if (!TryGetTempReplacement(tempMap, eval.Input, out BoundDagTemp? replacement)) 3922if (!TryGetTempReplacement(tempMap, indexer.Input, out BoundDagTemp? inputReplacement)) 3938if (!TryGetTempReplacement(tempMap, slice.Input, out BoundDagTemp? inputReplacement)) 3954if (!TryGetTempReplacement(tempMap, assignment.Input, out BoundDagTemp? inputReplacement)) 3964if (!TryGetTempReplacement(tempMap, deconstruct.Input, out BoundDagTemp? replacement)) 3986if (!TryGetTempReplacement(tempMap, test.Input, out BoundDagTemp? replacement)) 4645if (easyOutForLowering != (object)planA && !builder._forLowering && ValueSetFactory.TypeUnionValueSetFactoryForInput(builder._compilation, planA.Input) is not null) 4671return planA.Input.Equals(planB1.Input) ? planB1 : planA; 4678return planA.Input.Equals(planB2.Input) ? planB2 : planA;
Binder\PatternExplainer.cs (4)
326BoundDagTemp temp = test.Input; 327if (test is BoundDagTypeTest && sense == false && ValueSetFactory.TypeUnionValueSetFactoryForInput(binder.Compilation, test.Input) is null) 344BoundDagTemp temp = e.Evaluation.Input; 733e.Input.Type is NamedTypeSymbol { IsUnionType: true } unionType &&
BoundTree\BoundDagEvaluation.cs (9)
25other.Input.Equals(this.Input)); 246return new OneOrMany<BoundDagTemp>([Input, LengthTemp]); 283return new OneOrMany<BoundDagTemp>([Input, LengthTemp]); 301this.Input.Equals(assignment.Input); 382Debug.Assert(Input.Source is BoundDagTypeEvaluation); 383return DecisionDagBuilder.NotTypeEvaluationInput(Input.Source).GetHashCode(); 388return Input;
BoundTree\BoundDagTest.cs (19)
26if (!this.Input.Equals(other.Input)) 48return Hash.Combine(((int)Kind).GetHashCode(), Input.GetHashCode()); 56return new OneOrMany<BoundDagTemp>(Input); 65return $"{a.GetOutputTempDebuggerDisplay()} = ({a.Type}){a.Input.GetDebuggerDisplay()}"; 67return $"{e.GetOutputTempDebuggerDisplay()} = {e.Input.GetDebuggerDisplay()}.{e.Property.Name}"; 69return $"{e.GetOutputTempDebuggerDisplay()} = {e.Input.GetDebuggerDisplay()}.{e.Field.Name}"; 100result += $") {d.GetOutputTempDebuggerDisplay()} = {d.Input.GetDebuggerDisplay()}"; 103return $"{i.GetOutputTempDebuggerDisplay()} = {i.Input.GetDebuggerDisplay()}[{i.Index}]"; 105return $"{i.GetOutputTempDebuggerDisplay()} = {i.Input.GetDebuggerDisplay()}[{i.Index}]"; 107return $"{i.Target.GetDebuggerDisplay()} <-- {i.Input.GetDebuggerDisplay()}"; 109return $"PassThrough {i.Input.GetDebuggerDisplay()}"; 111return $"{e.GetOutputTempDebuggerDisplay()} = {e.Kind}({e.Input.GetDebuggerDisplay()})"; 114return $"{b.Input.GetDebuggerDisplay()} is {typeName}"; 116return $"{v.Input.GetDebuggerDisplay()} == {v.Value.GetValueToDisplay()}"; 118return $"{nn.Input.GetDebuggerDisplay()} != null"; 120return $"{n.Input.GetDebuggerDisplay()} == null"; 130return $"{r.Input.GetDebuggerDisplay()} {operatorName} {r.Value.GetValueToDisplay()}"; 132return $"{this.Kind}({this.Input.GetDebuggerDisplay()})";
BoundTree\BoundDecisionDag.cs (1)
176if (!choice.Input.IsOriginalInput)
FlowAnalysis\NullableWalker_Patterns.cs (8)
442(int inputSlot, TypeSymbol inputType) = tempMap.TryGetValue(evaluation.Input, out var slotAndType) ? slotAndType : throw ExceptionUtilities.Unreachable(); 542bool foundTemp = tempMap.TryGetValue(test.Input, out var slotAndType); 589&& t.Input.Source is BoundDagTypeEvaluation { Input: { IsOriginalInput: true } }) 689getOrMakeAndRegisterDagTempSlot(evaluation.Input); 690(int inputSlot, TypeSymbol inputType) = tempMap.TryGetValue(evaluation.Input, out var slotAndType) ? slotAndType : throw ExceptionUtilities.Unreachable(); 712switch (_conversions.WithNullability(false).ClassifyConversionFromType(e.Input.Type, e.Type, isChecked: false, ref discardedUseSiteInfo).Kind) 737var originalTupleElement = e.Input.IsOriginalInput && !originalInputElementSlots.IsDefault
Generated\BoundNodes.xml.Generated.cs (62)
5288if (!TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything) || input != this.Input) 5316if (isExplicitTest != this.IsExplicitTest || input != this.Input) 5342if (input != this.Input) 5371if (value != this.Value || input != this.Input) 5402if (operatorKind != this.OperatorKind || value != this.Value || input != this.Input) 5443if (!Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(deconstructMethod, this.DeconstructMethod) || input != this.Input) 5472if (!TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything) || input != this.Input) 5501if (!Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(field, this.Field) || input != this.Input) 5532if (!Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(property, this.Property) || isLengthOrCount != this.IsLengthOrCount || input != this.Input) 5563if (!Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(property, this.Property) || index != this.Index || input != this.Input) 5610if (!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) 5659if (!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) 5688if (target != this.Target || input != this.Input) 5714if (input != this.Input) 10593this.Visit(node.Input); 10598this.Visit(node.Input); 10603this.Visit(node.Input); 10608this.Visit(node.Input); 10613this.Visit(node.Input); 10618this.Visit(node.Input); 10623this.Visit(node.Input); 10628this.Visit(node.Input); 10633this.Visit(node.Input); 10638this.Visit(node.Input); 10647this.Visit(node.Input); 10656this.Visit(node.Input); 10662this.Visit(node.Input); 10667this.Visit(node.Input); 11984BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 11990BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 11995BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 12000BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 12005BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 12011BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 12016BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 12023BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 12029BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 12035BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 12044BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 12054BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 12061BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 12066BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 14169BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 14176BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 14183BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 14190BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 14201BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 14212BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 16676new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.Input, null) }), 16683new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.Input, null) }), 16689new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.Input, null) }), 16696new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.Input, null) }), 16704new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.Input, null) }), 16711new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.Input, null) }), 16718new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.Input, null) }), 16725new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.Input, null) }), 16733new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.Input, null) }), 16741new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.Input, null) }), 16753new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.Input, null) }), 16766new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.Input, null) }), 16773new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.Input, null) }), 16779new TreeDumperNode("input", null, new TreeDumperNode[] { Visit(node.Input, null) }),
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (6)
504var input = ((BoundTestDecisionDagNode)node).Test.Input; 535if (!t1.Input.Equals(t2.Input)) 538if (t1.Input.Type.SpecialType is SpecialType.System_Double or SpecialType.System_Single) 570if (!(node is BoundTestDecisionDagNode testNode && testNode.Test.Input.Equals(input))) 594vd.Input.Equals(input) &&
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (17)
137BoundExpression input = _tempAllocator.GetTemp(evaluation.Input); 322Debug.Assert(!e.Target.Equals(e.Input)); 324BoundExpression right = _tempAllocator.GetTemp(e.Input); 368BoundExpression input = _tempAllocator.GetTemp(test.Input); 506typeEvaluation1.Input.Equals(typeDecision.Input)) 508BoundExpression input = _tempAllocator.GetTemp(test.Input); 519_factory.Compilation.Conversions.ClassifyBuiltInConversion(test.Input.Type, typeEvaluation2.Type, isChecked: false, ref useSiteInfo) is Conversion conv && 521typeEvaluation2.Input == nonNullTest.Input) 523BoundExpression input = _tempAllocator.GetTemp(test.Input); 620return t.Test.Input.IsOriginalInput; 625return f.Input.IsOriginalInput && !f.Field.IsTupleElement(); 627return e.Evaluation.Input.IsOriginalInput; 696eval.Input.IsOriginalInput && 708Debug.Assert(!evalNode.Evaluation.Input.IsOriginalInput); 712Debug.Assert(!testNode.Test.Input.IsOriginalInput);