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