10 instantiations of BoundDagTemp
Microsoft.CodeAnalysis.CSharp (10)
BoundTree\BoundDagEvaluation.cs (7)
135return new BoundDagTemp(Syntax, Type, this); 154return new BoundDagTemp(Syntax, Field.Type, this); 168return new BoundDagTemp(Syntax, Property.Type, this); 191return new BoundDagTemp(Syntax, Property.Type, this); 222return new BoundDagTemp(Syntax, IndexerType, this); 259return new BoundDagTemp(Syntax, SliceType, this); 320builder.Add(new BoundDagTemp(Syntax, parameter.Type, this, i));
BoundTree\BoundDagTemp.cs (1)
21public static BoundDagTemp ForOriginalInput(SyntaxNode syntax, TypeSymbol type) => new BoundDagTemp(syntax, type, source: null, 0);
BoundTree\Constructors.cs (1)
649public static BoundDagTemp ForOriginalInput(BoundExpression expr) => new BoundDagTemp(expr.Syntax, expr.Type!, source: null);
Generated\BoundNodes.xml.Generated.cs (1)
5276var result = new BoundDagTemp(this.Syntax, type, source, index, this.HasErrors);
390 references to BoundDagTemp
Microsoft.CodeAnalysis.CSharp (390)
Binder\DecisionDagBuilder.cs (156)
133var rootIdentifier = BoundDagTemp.ForOriginalInput(inputExpression); 146var rootIdentifier = BoundDagTemp.ForOriginalInput(switchGoverningExpression); 171var rootIdentifier = BoundDagTemp.ForOriginalInput(switchExpressionInput); 186BoundDagTemp input, 196BoundDagTemp input, 217BoundDagTemp temp = binding.TempContainingValue; 315BoundDagTemp input, 328BoundDagTemp input, 330out BoundDagTemp output, 365BoundDagTemp input, 367out BoundDagTemp output, 382var valueAsITuple = valueAsITupleEvaluation.MakeResultTemp(); 387var lengthTemp = lengthEvaluation.MakeResultTemp(); 390var getItemPropertyInput = OriginalInput(valueAsITuple, getItemProperty); 395var indexTemp = indexEvaluation.MakeResultTemp(); 408private BoundDagTemp OriginalInput(BoundDagTemp input, Symbol symbol) 424internal static BoundDagTemp OriginalInput(BoundDagTemp input) 437BoundDagTemp input, 439out BoundDagTemp output, 465BoundDagTemp input, 467out BoundDagTemp output) 476BoundDagTemp input, 493private BoundDagTemp MakeConvertToType( 494BoundDagTemp input, 528BoundDagTemp input, 530out BoundDagTemp output) 562BoundDagTemp input, 564out BoundDagTemp output, 581ArrayBuilder<BoundDagTemp> outParamTemps = evaluation.MakeOutParameterTemps(); 610var element = evaluation.MakeResultTemp(); 629BoundDagTemp currentInput = input; 650bool tryMakeTestsForSubpatternMember([NotNullWhen(true)] BoundPropertySubpatternMember? member, ref BoundDagTemp input, bool isLengthOrCount) 688private Tests MakeTestsAndBindingsForNegatedPattern(BoundDagTemp input, BoundNegatedPattern neg, ArrayBuilder<BoundPatternBinding> bindings) 695BoundDagTemp input, 697out BoundDagTemp output, 723static Tests makeTestsAndBindingsForBinaryPattern(DecisionDagBuilder @this, Tests leftTests, BoundDagTemp leftOutput, BoundDagTemp input, BoundBinaryPattern bin, out BoundDagTemp output, ArrayBuilder<BoundPatternBinding> bindings) 749builder.Add(@this.MakeTestsAndBindings(leftOutput, bin.Right, out var rightOutput, bindings)); 758BoundDagTemp input, 760out BoundDagTemp output) 883DagState uniquifyState(FrozenArrayBuilder<StateForCase> cases, ImmutableDictionary<BoundDagTemp, IValueSet> remainingValues) 896var newRemainingValues = ImmutableDictionary.CreateBuilder<BoundDagTemp, IValueSet>(); 942ImmutableDictionary<BoundDagTemp, IValueSet>.Empty); 1019var tempToIndex = PooledDictionary<BoundDagTemp, int>.GetInstance(); 1096OneOrMany<BoundDagTemp> outputs = eval.AllOutputs(); 1099foreach (var temp in outputs) 1152static void markTempsUsedInBindings(PooledDictionary<BoundDagTemp, int> tempToIndex, ref int nextTempIndex, ref BitVector usedTemps, StateForCase stateForCase) 1160static void markUsedTemp(PooledDictionary<BoundDagTemp, int> tempToIndex, ref int nextTempIndex, ref BitVector usedTemps, BoundDagTemp temp) 1172static void markAllInputsUsed(PooledDictionary<BoundDagTemp, int> tempToIndex, ref int nextTempIndex, ref BitVector usedTemps, BoundDagTest test) 1174foreach (var temp in test.AllInputs()) 1299out ImmutableDictionary<BoundDagTemp, IValueSet> whenTrueValues, 1301out ImmutableDictionary<BoundDagTemp, IValueSet> whenFalseValues, 1336ImmutableDictionary<BoundDagTemp, IValueSet> whenTrueValues, 1337ImmutableDictionary<BoundDagTemp, IValueSet> whenFalseValues, 1341ImmutableDictionary<BoundDagTemp, IValueSet> values, 1360ImmutableDictionary<BoundDagTemp, IValueSet> whenTrueValues, 1361ImmutableDictionary<BoundDagTemp, IValueSet> whenFalseValues, 1366var input = test.Input; 1386private static (BoundDagTemp? lengthTemp, int offset) TryGetTopLevelLengthTemp(BoundDagPropertyEvaluation e) 1390BoundDagTemp input = e.Input; 1391BoundDagTemp? lengthTemp = null; 1402internal static (BoundDagTemp input, BoundDagTemp lengthTemp, int index) GetCanonicalInput(BoundDagIndexerEvaluation e) 1405BoundDagTemp input = e.Input; 1406BoundDagTemp lengthTemp = e.LengthTemp; 1642private static bool IsSameEntity(BoundDagTemp input1, BoundDagTemp input2) 1644BoundDagTemp s1Input = OriginalInput(input1); 1645BoundDagTemp s2Input = OriginalInput(input2); 1665(s1Input, BoundDagTemp s1LengthTemp, int s1Index) = GetCanonicalInput(s1); 1666(s2Input, BoundDagTemp s2LengthTemp, int s2Index) = GetCanonicalInput(s2); 1722(BoundDagTemp s1Input, BoundDagTemp s1LengthTemp, int s1Index) = GetCanonicalInput(s1); 1723(BoundDagTemp s2Input, BoundDagTemp s2LengthTemp, int s2Index) = GetCanonicalInput(s2); 1938string tempName(BoundDagTemp t) 2120/// A <see cref="BoundDagTemp"/> absent from this dictionary means that all values of the type are possible. 2122public ImmutableDictionary<BoundDagTemp, IValueSet> RemainingValues { get; private set; } = null!; 2151public static DagState GetInstance(FrozenArrayBuilder<StateForCase> cases, ImmutableDictionary<BoundDagTemp, IValueSet> remainingValues) 2195internal void UpdateRemainingValues(ImmutableDictionary<BoundDagTemp, IValueSet> newRemainingValues) 2352public readonly ImmutableDictionary<BoundDagTemp, BoundDagTemp> FinalTempMap; 2362ImmutableDictionary<BoundDagTemp, BoundDagTemp> finalTempMap, 2375protected abstract RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e); 2379return RemoveEvaluationAndUpdateTempReferences(dagBuilder, state, bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp>.Empty, e); 2382protected Tests RemoveEvaluationAndUpdateTempReferences(DecisionDagBuilder dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e) 2428private static void AddBindingsPatchingAssignments(ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> oldTempMap, ImmutableDictionary<BoundDagTemp, BoundDagTemp> newTempMap, ArrayBuilder<Tests> assignments) 2437if (TryGetTempReplacement(newTempMap, b.TempContainingValue, out BoundDagTemp? useValueFrom)) 2439if (!TryGetTempReplacement(oldTempMap, b.TempContainingValue, out BoundDagTemp? oldReplacement) || 2449private static bool TryGetTempReplacement(ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagTemp oldTemp, [NotNullWhen(true)] out BoundDagTemp? newTemp) 2454while (tempMap.TryGetValue(newTemp, out BoundDagTemp? nextTemp)) 2491protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e) 2515protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e) 2589if (TryGetTopLevelLengthTemp(e) is (BoundDagTemp lengthTemp, int offset)) 2632protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e) 2691public static Tests RemoveEvaluation(One tests, DecisionDagBuilder builder, DagState state, ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e, out Tests? condition) 2752private static Tests RemoveSimpleEvaluationWithResultTemp(One tests, ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e1) 2764private static void AddResultTempReplacement(ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation oldEval, BoundDagEvaluation newEval) 2769private static void AddTempReplacement(ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagTemp oldTemp, BoundDagTemp newTemp) 2771var current = newTemp; 2786private static Tests RemoveDeconstructEvaluation(One tests, ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagDeconstructEvaluation e1) 2798private static void AddOutParameterTempsReplacement(ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagDeconstructEvaluation oldDeconstruct, BoundDagDeconstructEvaluation newDeconstruct) 2800ArrayBuilder<BoundDagTemp> newOutParamTemps = newDeconstruct.MakeOutParameterTemps(); 2801ArrayBuilder<BoundDagTemp> oldOutParamTemps = oldDeconstruct.MakeOutParameterTemps(); 2810private static Tests RemoveTypeEvaluation(One tests, ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagTypeEvaluation e1) 2827private static Tests RemoveIndexerEvaluation(One tests, DecisionDagBuilder dagBuilder, DagState state, ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagIndexerEvaluation s1, out Tests? condition) 2837(BoundDagTemp s1Input, BoundDagTemp s1LengthTemp, int s1Index) = GetCanonicalInput(s1); 2838(BoundDagTemp s2Input, BoundDagTemp s2LengthTemp, int s2Index) = GetCanonicalInput(s2); 2885private static BoundDagTest UpdateDagTempReferences(BoundDagTest test, ref ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap) 2898if (!TryGetTempReplacement(tempMap, eval.Input, out BoundDagTemp? replacement)) 2910if (!TryGetTempReplacement(tempMap, indexer.Input, out BoundDagTemp? inputReplacement)) 2915if (!TryGetTempReplacement(tempMap, indexer.LengthTemp, out BoundDagTemp? lengthReplacement)) 2926if (!TryGetTempReplacement(tempMap, slice.Input, out BoundDagTemp? inputReplacement)) 2931if (!TryGetTempReplacement(tempMap, slice.LengthTemp, out BoundDagTemp? lengthReplacement)) 2942if (!TryGetTempReplacement(tempMap, assignment.Input, out BoundDagTemp? inputReplacement)) 2952if (!TryGetTempReplacement(tempMap, deconstruct.Input, out BoundDagTemp? replacement)) 2974if (!TryGetTempReplacement(tempMap, test.Input, out BoundDagTemp? replacement)) 3011protected override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder builder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e) 3132protected sealed override RemoveEvaluationAndUpdateTempReferencesResult RemoveEvaluationAndUpdateTempReferencesCore(DecisionDagBuilder dagBuilder, DagState state, ImmutableArray<BoundPatternBinding> bindings, ImmutableDictionary<BoundDagTemp, BoundDagTemp> tempMap, BoundDagEvaluation e) 3138ImmutableDictionary<BoundDagTemp, BoundDagTemp> TempMapToRestore
Binder\DecisionDagBuilder_CheckOrReachability.cs (9)
74BoundDagTemp rootIdentifier = BoundDagTemp.ForOriginalInput(inputExpression); 120BoundDagTemp rootIdentifier = BoundDagTemp.ForOriginalInput(inputExpression); 170BoundDagTemp rootIdentifier = BoundDagTemp.ForOriginalInput(inputExpression); 296public readonly BoundDagTemp RootIdentifier; 303DecisionDagBuilder builder, BoundDagTemp rootIdentifier, SyntaxNode syntax, PooledHashSet<SyntaxNode> redundantNodes) 340BoundDagTemp rootIdentifier,
Binder\DecisionDagBuilder_ListPatterns.cs (5)
14private Tests MakeTestsAndBindingsForListPattern(BoundDagTemp input, BoundListPattern list, out BoundDagTemp output, ArrayBuilder<BoundPatternBinding> bindings) 44var lengthTemp = lengthEvaluation.MakeResultTemp(); 68var sliceTemp = sliceEvaluation.MakeResultTemp(); 83var indexTemp = indexEvaluation.MakeResultTemp();
Binder\PatternExplainer.cs (23)
220BoundDagTemp rootIdentifier, 250static string samplePatternFromOtherPaths(BoundDagTemp rootIdentifier, BoundDecisionDagNode rootNode, 285out Dictionary<BoundDagTemp, ArrayBuilder<(BoundDagTest, bool)>> constraints, 286out Dictionary<BoundDagTemp, ArrayBuilder<BoundDagEvaluation>> evaluations) 288constraints = new Dictionary<BoundDagTemp, ArrayBuilder<(BoundDagTest, bool)>>(); 289evaluations = new Dictionary<BoundDagTemp, ArrayBuilder<BoundDagEvaluation>>(); 300BoundDagTemp temp = test.Input; 318BoundDagTemp temp = e.Evaluation.Input; 332BoundDagTemp input, 333Dictionary<BoundDagTemp, ArrayBuilder<(BoundDagTest test, bool sense)>> constraintMap, 334Dictionary<BoundDagTemp, ArrayBuilder<BoundDagEvaluation>> evaluationMap, 351static ImmutableArray<T> getArray<T>(Dictionary<BoundDagTemp, ArrayBuilder<T>> map, BoundDagTemp temp) 384var typedTemp = te.MakeResultTemp(); 399var typedTemp = te.MakeResultTemp(); 443var lengthTemp = lengthOrCount.MakeResultTemp(); 471var indexerTemp = e.MakeResultTemp(); 490var sliceTemp = slice.MakeResultTemp(); 519var elementTemp = e.MakeResultTemp(); 585ArrayBuilder<BoundDagTemp> outParamTemps = e.MakeOutParameterTemps(); 587foreach (var elementTemp in outParamTemps) 615var subInput = e.MakeResultTemp(); 622var subInput = e.MakeResultTemp();
Binder\SwitchExpressionBinder.cs (1)
106BoundDagTemp.ForOriginalInput(boundInputExpression), nodes, n, nullPaths: false, out bool requiresFalseWhenClause, out bool unnamedEnumValue);
BoundTree\BoundDagEvaluation.cs (43)
86public sealed override BoundDagTest UpdateTestImpl(BoundDagTemp input) => Update(input); 88public abstract BoundDagTemp MakeResultTemp(); 89public new BoundDagEvaluation Update(BoundDagTemp input) => UpdateEvaluationImpl(input); 90public abstract BoundDagEvaluation UpdateEvaluationImpl(BoundDagTemp input); 92public virtual OneOrMany<BoundDagTemp> AllOutputs() 94return new OneOrMany<BoundDagTemp>(MakeResultTemp()); 133public override BoundDagTemp MakeResultTemp() 138public override BoundDagEvaluation UpdateEvaluationImpl(BoundDagTemp input) => Update(input); 139public new BoundDagTypeEvaluation Update(BoundDagTemp input) 152public override BoundDagTemp MakeResultTemp() 157public override BoundDagEvaluation UpdateEvaluationImpl(BoundDagTemp input) => Update(input); 158public new BoundDagFieldEvaluation Update(BoundDagTemp input) 166public override BoundDagTemp MakeResultTemp() 171public override BoundDagEvaluation UpdateEvaluationImpl(BoundDagTemp input) => Update(input); 172public new BoundDagPropertyEvaluation Update(BoundDagTemp input) 188public override BoundDagTemp MakeResultTemp() 194public override BoundDagEvaluation UpdateEvaluationImpl(BoundDagTemp input) => Update(input); 195public new BoundDagIndexEvaluation Update(BoundDagTemp input) 220public override BoundDagTemp MakeResultTemp() 225public override BoundDagEvaluation UpdateEvaluationImpl(BoundDagTemp input) => Update(input); 226public new BoundDagIndexerEvaluation Update(BoundDagTemp input) 231public BoundDagIndexerEvaluation Update(BoundDagTemp lengthTemp, BoundDagTemp input) 236public override OneOrMany<BoundDagTemp> AllInputs() 238return new OneOrMany<BoundDagTemp>([Input, LengthTemp]); 257public override BoundDagTemp MakeResultTemp() 262public override BoundDagEvaluation UpdateEvaluationImpl(BoundDagTemp input) => Update(input); 263public new BoundDagSliceEvaluation Update(BoundDagTemp input) 268public BoundDagSliceEvaluation Update(BoundDagTemp lengthTemp, BoundDagTemp input) 273public override OneOrMany<BoundDagTemp> AllInputs() 275return new OneOrMany<BoundDagTemp>([Input, LengthTemp]); 296public override BoundDagTemp MakeResultTemp() 301public override BoundDagEvaluation UpdateEvaluationImpl(BoundDagTemp input) => Update(input); 302public new BoundDagAssignmentEvaluation Update(BoundDagTemp input) 310public ArrayBuilder<BoundDagTemp> MakeOutParameterTemps() 315var builder = ArrayBuilder<BoundDagTemp>.GetInstance(count); 326public override BoundDagTemp MakeResultTemp() 331public override BoundDagEvaluation UpdateEvaluationImpl(BoundDagTemp input) => Update(input); 332public new BoundDagDeconstructEvaluation Update(BoundDagTemp input) 337public override OneOrMany<BoundDagTemp> AllOutputs() 344return new OneOrMany<BoundDagTemp>(one); 347return new OneOrMany<BoundDagTemp>(builder.ToImmutableAndFree());
BoundTree\BoundDagRelationalTest.cs (2)
11public override BoundDagTest UpdateTestImpl(BoundDagTemp input) => Update(input); 12public new BoundDagRelationalTest Update(BoundDagTemp input)
BoundTree\BoundDagTemp.cs (4)
21public static BoundDagTemp ForOriginalInput(SyntaxNode syntax, TypeSymbol type) => new BoundDagTemp(syntax, type, source: null, 0); 23public override bool Equals(object? obj) => obj is BoundDagTemp other && this.Equals(other); 25public bool Equals(BoundDagTemp other) 40public bool IsEquivalentTo(BoundDagTemp other)
BoundTree\BoundDagTest.cs (11)
50public BoundDagTest Update(BoundDagTemp input) => UpdateTestImpl(input); 51public abstract BoundDagTest UpdateTestImpl(BoundDagTemp input); 53public virtual OneOrMany<BoundDagTemp> AllInputs() 55return new OneOrMany<BoundDagTemp>(Input); 119public override BoundDagTest UpdateTestImpl(BoundDagTemp input) => Update(input); 120public new BoundDagValueTest Update(BoundDagTemp input) 128public override BoundDagTest UpdateTestImpl(BoundDagTemp input) => Update(input); 133public override BoundDagTest UpdateTestImpl(BoundDagTemp input) => Update(input); 134public new BoundDagNonNullTest Update(BoundDagTemp input) 142public override BoundDagTest UpdateTestImpl(BoundDagTemp input) => Update(input); 143public new BoundDagTypeTest Update(BoundDagTemp input)
BoundTree\BoundPatternBinding.cs (2)
15public readonly BoundDagTemp TempContainingValue; 16public BoundPatternBinding(BoundExpression variableAccess, BoundDagTemp tempContainingValue)
BoundTree\Constructors.cs (1)
649public static BoundDagTemp ForOriginalInput(BoundExpression expr) => new BoundDagTemp(expr.Syntax, expr.Type!, source: null);
FlowAnalysis\NullableWalker_Patterns.cs (16)
385var rootTemp = BoundDagTemp.ForOriginalInput(expression); 409var tempMap = PooledDictionary<BoundDagTemp, (int slot, TypeSymbol type)>.GetInstance(); 448ArrayBuilder<BoundDagTemp> outParamTemps = e.MakeOutParameterTemps(); 449foreach (var output in outParamTemps) 458var output = e.MakeResultTemp(); 467var output = e.MakeResultTemp(); 478var output = e.MakeResultTemp(); 492var output = e.MakeResultTemp(); 501var output = e.MakeResultTemp(); 511var output = e.MakeResultTemp(); 622var tempSource = binding.TempContainingValue; 677int getOrMakeAndRegisterDagTempSlot(BoundDagTemp output) 849void addToTempMap(BoundDagTemp output, int slot, TypeSymbol type) 940int makeDagTempSlot(TypeWithAnnotations type, BoundDagTemp temp) 1003BoundDagTemp.ForOriginalInput(node.Expression), nodes, leaf, nullPaths: true, out bool requiresFalseWhenClause, out _);
Generated\BoundNodes.xml.Generated.cs (94)
5240protected BoundDagTest(BoundKind kind, SyntaxNode syntax, BoundDagTemp input, bool hasErrors = false) 5249public BoundDagTemp Input { get; } 5272public BoundDagTemp Update(TypeSymbol type, BoundDagEvaluation? source, int index) 5276var result = new BoundDagTemp(this.Syntax, type, source, index, this.HasErrors); 5286public BoundDagTypeTest(SyntaxNode syntax, TypeSymbol type, BoundDagTemp input, bool hasErrors = false) 5301public BoundDagTypeTest Update(TypeSymbol type, BoundDagTemp input) 5315public BoundDagNonNullTest(SyntaxNode syntax, bool isExplicitTest, BoundDagTemp input, bool hasErrors = false) 5329public BoundDagNonNullTest Update(bool isExplicitTest, BoundDagTemp input) 5343public BoundDagExplicitNullTest(SyntaxNode syntax, BoundDagTemp input, bool hasErrors = false) 5355public new BoundDagExplicitNullTest Update(BoundDagTemp input) 5369public BoundDagValueTest(SyntaxNode syntax, ConstantValue value, BoundDagTemp input, bool hasErrors = false) 5384public BoundDagValueTest Update(ConstantValue value, BoundDagTemp input) 5398public BoundDagRelationalTest(SyntaxNode syntax, BinaryOperatorKind operatorKind, ConstantValue value, BoundDagTemp input, bool hasErrors = false) 5415public BoundDagRelationalTest Update(BinaryOperatorKind operatorKind, ConstantValue value, BoundDagTemp input) 5429protected BoundDagEvaluation(BoundKind kind, SyntaxNode syntax, BoundDagTemp input, bool hasErrors = false) 5441public BoundDagDeconstructEvaluation(SyntaxNode syntax, MethodSymbol deconstructMethod, BoundDagTemp input, bool hasErrors = false) 5456public BoundDagDeconstructEvaluation Update(MethodSymbol deconstructMethod, BoundDagTemp input) 5470public BoundDagTypeEvaluation(SyntaxNode syntax, TypeSymbol type, BoundDagTemp input, bool hasErrors = false) 5485public BoundDagTypeEvaluation Update(TypeSymbol type, BoundDagTemp input) 5499public BoundDagFieldEvaluation(SyntaxNode syntax, FieldSymbol field, BoundDagTemp input, bool hasErrors = false) 5514public BoundDagFieldEvaluation Update(FieldSymbol field, BoundDagTemp input) 5528public BoundDagPropertyEvaluation(SyntaxNode syntax, PropertySymbol property, bool isLengthOrCount, BoundDagTemp input, bool hasErrors = false) 5545public BoundDagPropertyEvaluation Update(PropertySymbol property, bool isLengthOrCount, BoundDagTemp input) 5559public BoundDagIndexEvaluation(SyntaxNode syntax, PropertySymbol property, int index, BoundDagTemp input, bool hasErrors = false) 5576public BoundDagIndexEvaluation Update(PropertySymbol property, int index, BoundDagTemp input) 5590public BoundDagIndexerEvaluation(SyntaxNode syntax, TypeSymbol indexerType, BoundDagTemp lengthTemp, int index, BoundExpression indexerAccess, BoundListPatternReceiverPlaceholder receiverPlaceholder, BoundListPatternIndexPlaceholder argumentPlaceholder, BoundDagTemp input, bool hasErrors = false) 5614public BoundDagTemp LengthTemp { get; } 5623public BoundDagIndexerEvaluation Update(TypeSymbol indexerType, BoundDagTemp lengthTemp, int index, BoundExpression indexerAccess, BoundListPatternReceiverPlaceholder receiverPlaceholder, BoundListPatternIndexPlaceholder argumentPlaceholder, BoundDagTemp input) 5637public BoundDagSliceEvaluation(SyntaxNode syntax, TypeSymbol sliceType, BoundDagTemp lengthTemp, int startIndex, int endIndex, BoundExpression indexerAccess, BoundSlicePatternReceiverPlaceholder receiverPlaceholder, BoundSlicePatternRangePlaceholder argumentPlaceholder, BoundDagTemp input, bool hasErrors = false) 5662public BoundDagTemp LengthTemp { get; } 5672public BoundDagSliceEvaluation Update(TypeSymbol sliceType, BoundDagTemp lengthTemp, int startIndex, int endIndex, BoundExpression indexerAccess, BoundSlicePatternReceiverPlaceholder receiverPlaceholder, BoundSlicePatternRangePlaceholder argumentPlaceholder, BoundDagTemp input) 5686public BoundDagAssignmentEvaluation(SyntaxNode syntax, BoundDagTemp target, BoundDagTemp input, bool hasErrors = false) 5696public BoundDagTemp Target { get; } 5701public BoundDagAssignmentEvaluation Update(BoundDagTemp target, BoundDagTemp input) 9248return VisitDagTemp((BoundDagTemp)node, arg); 9587public virtual R VisitDagTemp(BoundDagTemp node, A arg) => this.DefaultVisit(node, arg); 9825public virtual BoundNode? VisitDagTemp(BoundDagTemp node) => this.DefaultVisit(node); 10462public override BoundNode? VisitDagTemp(BoundDagTemp node) 11832public override BoundNode? VisitDagTemp(BoundDagTemp node) 11840BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 11846BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 11851BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 11856BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 11861BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 11867BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 11872BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 11879BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 11885BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 11891BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 11896BoundDagTemp lengthTemp = (BoundDagTemp)this.Visit(node.LengthTemp); 11900BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 11906BoundDagTemp lengthTemp = (BoundDagTemp)this.Visit(node.LengthTemp); 11910BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 11916BoundDagTemp target = (BoundDagTemp)this.Visit(node.Target); 11917BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 13999BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 14006BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 14013BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 14020BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 14027BoundDagTemp lengthTemp = (BoundDagTemp)this.Visit(node.LengthTemp); 14031BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 14038BoundDagTemp lengthTemp = (BoundDagTemp)this.Visit(node.LengthTemp); 14042BoundDagTemp input = (BoundDagTemp)this.Visit(node.Input); 16463public override TreeDumperNode VisitDagTemp(BoundDagTemp node, object? arg) => new TreeDumperNode("dagTemp", null, new TreeDumperNode[]
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (4)
360BoundExpression inputTemp = _tempAllocator.GetTemp(BoundDagTemp.ForOriginalInput(loweredSwitchGoverningExpression)); 504var input = ((BoundTestDecisionDagNode)node).Test.Input; 552BoundDagTemp input) 561BoundDagTemp input,
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (18)
56private readonly PooledDictionary<BoundDagTemp, BoundExpression> _map = PooledDictionary<BoundDagTemp, BoundExpression>.GetInstance(); 94public BoundExpression GetTemp(BoundDagTemp dagTemp) 115public bool TrySetTemp(BoundDagTemp dagTemp, BoundExpression translation) 143var outputTemp = f.MakeResultTemp(); 153var outputTemp = p.MakeResultTemp(); 185ArrayBuilder<BoundDagTemp> outParamTemps = d.MakeOutParameterTemps(); 186foreach (var outputTemp in outParamTemps) 210var outputTemp = t.MakeResultTemp(); 248var outputTemp = e.MakeResultTemp(); 273var outputTemp = e.MakeResultTemp(); 299var outputTemp = e.MakeResultTemp(); 533var inputDagTemp = BoundDagTemp.ForOriginalInput(loweredInput); 634var originalInput = BoundDagTemp.ForOriginalInput(loweredInput.Syntax, loweredInput.Type); 642var temp = fieldFetchEvaluation.MakeResultTemp(); 655void storeToTemp(BoundDagTemp temp, BoundExpression expr)
Utilities\ValueSetFactory.cs (1)
64public static IValueSetFactory? ForInput(BoundDagTemp input)