3 instantiations of NodeStateTable
Microsoft.CodeAnalysis (3)
SourceGeneration\Nodes\NodeStateTable.cs (3)
64
internal static NodeStateTable<T> Empty { get; } = new
NodeStateTable
<T>(ImmutableArray<TableEntry>.Empty, ImmutableArray<IncrementalGeneratorRunStep>.Empty, hasTrackedSteps: true, isCached: false);
173
return new
NodeStateTable
<T>(compacted.ToImmutableAndFree(), ImmutableArray<IncrementalGeneratorRunStep>.Empty, hasTrackedSteps: false, isCached: true);
551
return new
NodeStateTable
<T>(
155 references to NodeStateTable
Microsoft.CodeAnalysis (77)
SourceGeneration\Nodes\BatchNode.cs (7)
34
NodeStateTable
<TInput> sourceTable,
35
NodeStateTable
<ImmutableArray<TInput>>? previousTable,
36
NodeStateTable
<ImmutableArray<TInput>>.Builder newTable)
111
public
NodeStateTable
<ImmutableArray<TInput>> UpdateStateTable(DriverStateTable.Builder builder,
NodeStateTable
<ImmutableArray<TInput>>? previousTable, CancellationToken cancellationToken)
114
var
sourceTable = builder.GetLatestStateTableForNode(_sourceNode);
145
var
newTable = tableBuilder.ToImmutableAndFree();
SourceGeneration\Nodes\CombineNode.cs (9)
31
public
NodeStateTable
<(TInput1, TInput2)> UpdateStateTable(DriverStateTable.Builder graphState,
NodeStateTable
<(TInput1, TInput2)>? previousTable, CancellationToken cancellationToken)
34
var
input1Table = graphState.GetLatestStateTableForNode(_input1);
35
var
input2Table = graphState.GetLatestStateTableForNode(_input2);
83
var
newTable = tableBuilder.ToImmutableAndFree();
88
private
NodeStateTable
<(TInput1, TInput2)> RecordStepsForCachedTable(DriverStateTable.Builder graphState,
NodeStateTable
<(TInput1, TInput2)> previousTable,
NodeStateTable
<TInput1> input1Table,
NodeStateTable
<TInput2> input2Table)
SourceGeneration\Nodes\DriverStateTable.cs (7)
48
public
NodeStateTable
<T> GetLatestStateTableForNode<T>(IIncrementalGeneratorNode<T> source)
53
return (
NodeStateTable
<T>)table;
57
NodeStateTable
<T>? previousTable = _previousTable._tables.GetStateTable<T>(source);
60
var
newTable = source.UpdateStateTable(this, previousTable, _cancellationToken);
65
public
NodeStateTable
<T>.Builder CreateTableBuilder<T>(
66
NodeStateTable
<T>? previousTable, string? stepName, IEqualityComparer<T>? equalityComparer, int? tableCapacity = null)
68
previousTable ??=
NodeStateTable
<T>.Empty;
SourceGeneration\Nodes\HostOutputNode.cs (4)
33
public
NodeStateTable
<OutputType> UpdateStateTable(DriverStateTable.Builder graphState,
NodeStateTable
<OutputType>? previousTable, CancellationToken cancellationToken)
36
var
sourceTable = graphState.GetLatestStateTableForNode(_source);
71
var
table = context.TableBuilder!.GetLatestStateTableForNode(this);
SourceGeneration\Nodes\IIncrementalGeneratorNode.cs (2)
16
NodeStateTable
<T> UpdateStateTable(DriverStateTable.Builder graphState,
NodeStateTable
<T>? previousTable, CancellationToken cancellationToken);
SourceGeneration\Nodes\InputNode.cs (7)
44
public
NodeStateTable
<T> UpdateStateTable(DriverStateTable.Builder graphState,
NodeStateTable
<T>? previousTable, CancellationToken cancellationToken)
105
var
newTable = tableBuilder.ToImmutableAndFree();
122
private void LogTables(
NodeStateTable
<T>? previousTable,
NodeStateTable
<T> newTable, ImmutableArray<T> inputs)
130
var tableBuilder =
NodeStateTable
<T>.Empty.ToBuilder(_name, stepTrackingEnabled: false, tableCapacity: inputs.Length);
135
var
inputTable = tableBuilder.ToImmutableAndFree();
SourceGeneration\Nodes\NodeExtensions.cs (8)
9
public static void LogTables<TSelf, TInput>(this IIncrementalGeneratorNode<TSelf> self, string? name, string? tableType,
NodeStateTable
<TSelf>? previousTable,
NodeStateTable
<TSelf> newTable,
NodeStateTable
<TInput> inputTable)
12
public static void LogTables<TSelf, TInput1, TInput2>(this IIncrementalGeneratorNode<TSelf> self, string? name, string? tableType,
NodeStateTable
<TSelf>? previousTable,
NodeStateTable
<TSelf> newTable,
NodeStateTable
<TInput1> inputNode1,
NodeStateTable
<TInput2>? inputNode2)
17
var
newTableOpt = newTable != previousTable ? newTable : null;
SourceGeneration\Nodes\NodeStateTable.cs (11)
64
internal static
NodeStateTable
<T> Empty { get; } = new NodeStateTable<T>(ImmutableArray<TableEntry>.Empty, ImmutableArray<IncrementalGeneratorRunStep>.Empty, hasTrackedSteps: true, isCached: false);
96
private readonly
NodeStateTable
<T> _stateTable;
103
public Enumerator(
NodeStateTable
<T> stateTable)
150
public
NodeStateTable
<T> AsCached()
187
public
NodeStateTable
<T> CreateCachedTableWithUpdatedSteps<TInput>(
NodeStateTable
<TInput> inputTable, string? stepName, IEqualityComparer<T>? equalityComparer)
190
NodeStateTable
<T>.Builder builder = ToBuilder(stepName, stepTrackingEnabled: true, equalityComparer);
230
private readonly
NodeStateTable
<T> _previous;
246
NodeStateTable
<T> previous,
519
public
NodeStateTable
<T> ToImmutableAndFree()
526
return
NodeStateTable
<T>.Empty;
SourceGeneration\Nodes\PredicateSyntaxStrategy.cs (3)
41
private readonly
NodeStateTable
<SyntaxNode>.Builder _filterTable;
43
private readonly
NodeStateTable
<T>.Builder _transformTable;
83
if (state != EntryState.Cached || !_filterTable.TryUseCachedEntries(TimeSpan.Zero, noInputStepsStepInfo, out
NodeStateTable
<SyntaxNode>.TableEntry entry))
SourceGeneration\Nodes\SourceOutputNode.cs (5)
40
public
NodeStateTable
<TOutput> UpdateStateTable(DriverStateTable.Builder graphState,
NodeStateTable
<TOutput>? previousTable, CancellationToken cancellationToken)
43
var
sourceTable = graphState.GetLatestStateTableForNode(_source);
87
var
newTable = tableBuilder.ToImmutableAndFree();
102
var
table = context.TableBuilder.GetLatestStateTableForNode(this);
SourceGeneration\Nodes\StateTableStore.cs (4)
23
public
NodeStateTable
<T> GetStateTableOrEmpty<T>(object input)
25
return GetStateTable<T>(input) ??
NodeStateTable
<T>.Empty;
28
public
NodeStateTable
<T>? GetStateTable<T>(object input)
32
return (
NodeStateTable
<T>)output;
SourceGeneration\Nodes\SyntaxInputNode.cs (3)
31
public
NodeStateTable
<T> UpdateStateTable(DriverStateTable.Builder graphState,
NodeStateTable
<T>? previousTable, CancellationToken cancellationToken)
33
return (
NodeStateTable
<T>)graphState.SyntaxStore.GetSyntaxInputTable(this, graphState.GetLatestStateTableForNode(SharedInputNodes.SyntaxTrees));
SourceGeneration\Nodes\SyntaxReceiverStrategy.cs (1)
35
private readonly
NodeStateTable
<ISyntaxContextReceiver?>.Builder _nodeStateTable;
SourceGeneration\Nodes\TransformNode.cs (4)
46
public
NodeStateTable
<TOutput> UpdateStateTable(DriverStateTable.Builder builder,
NodeStateTable
<TOutput>? previousTable, CancellationToken cancellationToken)
49
var
sourceTable = builder.GetLatestStateTableForNode(_sourceNode);
99
var
newTable = tableBuilder.ToImmutableAndFree();
SourceGeneration\SyntaxStore.cs (2)
49
public IStateTable GetSyntaxInputTable(SyntaxInputNode syntaxInputNode,
NodeStateTable
<SyntaxTree> syntaxTreeTable)
84
NodeStateTable
<SyntaxTree> syntaxTreeState = syntaxTreeTable;
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (78)
SourceGeneration\StateTableTests.cs (78)
24
var builder =
NodeStateTable
<int>.Empty.ToBuilder(stepName: null, false);
28
var
table = builder.ToImmutableAndFree();
37
var builder =
NodeStateTable
<int>.Empty.ToBuilder(stepName: null, false);
41
var
table = builder.ToImmutableAndFree();
52
var builder =
NodeStateTable
<object>.Empty.ToBuilder(stepName: null, false);
54
var
table = builder.ToImmutableAndFree();
65
var builder =
NodeStateTable
<object?>.Empty.ToBuilder(stepName: null, false);
69
var
table = builder.ToImmutableAndFree();
78
var builder =
NodeStateTable
<int>.Empty.ToBuilder(stepName: null, false);
83
var
previousTable = builder.ToImmutableAndFree();
90
var
newTable = builder.ToImmutableAndFree();
109
var builder =
NodeStateTable
<int>.Empty.ToBuilder(stepName: null, false);
113
var
table = builder.ToImmutableAndFree();
118
var
compactedTable = table.AsCached();
126
var builder =
NodeStateTable
<int>.Empty.ToBuilder(stepName: null, false);
130
var
table = builder.ToImmutableAndFree();
135
var
compactedTable = table.AsCached();
140
var
compactedTable2 = compactedTable.AsCached();
147
var builder =
NodeStateTable
<int>.Empty.ToBuilder(stepName: null, false);
149
var
table = builder.ToImmutableAndFree();
157
var builder =
NodeStateTable
<int>.Empty.ToBuilder(stepName: null, false);
159
var
table = builder.ToImmutableAndFree();
179
var builder =
NodeStateTable
<int>.Empty.ToBuilder(stepName: null, false);
183
var
previousTable = builder.ToImmutableAndFree();
193
var
newTable = builder.ToImmutableAndFree();
202
var builder =
NodeStateTable
<int>.Empty.ToBuilder(stepName: null, false);
207
var
previousTable = builder.ToImmutableAndFree();
218
var
newTable = builder.ToImmutableAndFree();
227
var builder =
NodeStateTable
<int>.Empty.ToBuilder(stepName: null, false);
231
var
previousTable = builder.ToImmutableAndFree();
240
var
newTable = builder.ToImmutableAndFree();
265
NodeStateTable
<int>? passedIn = null;
275
Assert.Same(
NodeStateTable
<int>.Empty, passedIn);
281
var nodeBuilder =
NodeStateTable
<int>.Empty.ToBuilder(stepName: null, false);
283
var
newTable = nodeBuilder.ToImmutableAndFree();
285
NodeStateTable
<int>? passedIn = null;
296
Assert.Same(
NodeStateTable
<int>.Empty, passedIn);
309
var nodeBuilder =
NodeStateTable
<int>.Empty.ToBuilder(stepName: null, true);
315
var
newTable = nodeBuilder.ToImmutableAndFree();
320
NodeStateTable
<int>? passedIn = null;
330
Assert.Same(
NodeStateTable
<int>.Empty, passedIn);
378
var
table = dstBuilder.GetLatestStateTableForNode(batchNode);
424
var
table = dstBuilder.GetLatestStateTableForNode(batchNode);
442
var
table = dstBuilder.GetLatestStateTableForNode(batchNode);
489
var
table = dstBuilder.GetLatestStateTableForNode(batchNode);
535
var
table = dstBuilder.GetLatestStateTableForNode(batchNode);
555
var
table = dstBuilder.GetLatestStateTableForNode(batchNode);
597
var builder =
NodeStateTable
<string>.Empty.ToBuilder(null, false);
605
var
table1 = dstBuilder.GetLatestStateTableForNode(inputNode);
611
var
table2 = dstBuilder.GetLatestStateTableForNode(batchNode);
637
var
table = dstBuilder.GetLatestStateTableForNode(transformNode);
672
var
table = dstBuilder.GetLatestStateTableForNode(transformNode);
710
var
table = dstBuilder.GetLatestStateTableForNode(transformNode);
749
var
table = dstBuilder.GetLatestStateTableForNode(transformNode);
787
var
table = dstBuilder.GetLatestStateTableForNode(inputNode);
841
var
table = dstBuilder.GetLatestStateTableForNode(transformNode);
876
var
table = dstBuilder.GetLatestStateTableForNode(combineNode);
929
var
table = dstBuilder.GetLatestStateTableForNode(inputNode);
955
var
table = dstBuilder.GetLatestStateTableForNode(addOneNode);
983
var
table = dstBuilder.GetLatestStateTableForNode(transformNode);
1012
var
table = dstBuilder.GetLatestStateTableForNode(transformNode);
1034
var
table = dstBuilder.GetLatestStateTableForNode(transformNode);
1075
var
table = dstBuilder.GetLatestStateTableForNode(transformNode);
1127
var
table = dstBuilder.GetLatestStateTableForNode(select2);
1162
var
table = dstBuilder.GetLatestStateTableForNode(select2);
1197
var
table = dstBuilder.GetLatestStateTableForNode(select2);
1232
var
table = dstBuilder.GetLatestStateTableForNode(select2);
1268
var
table = dstBuilder.GetLatestStateTableForNode(select2);
1303
var
table = dstBuilder.GetLatestStateTableForNode(select2);
1319
private void AssertTableEntries<T>(
NodeStateTable
<T> table, IList<(T Item, EntryState State, int OutputIndex)> expected)
1331
private void AssertTableEntries<T>(
NodeStateTable
<ImmutableArray<T>> table, IList<(ImmutableArray<T> Item, EntryState State, int OutputIndex)> expected)
1364
private readonly Func<DriverStateTable.Builder,
NodeStateTable
<T>,
NodeStateTable
<T>> _callback;
1366
public CallbackNode(Func<DriverStateTable.Builder,
NodeStateTable
<T>,
NodeStateTable
<T>> callback)
1371
public
NodeStateTable
<T> UpdateStateTable(DriverStateTable.Builder graphState,
NodeStateTable
<T>? previousTable, CancellationToken cancellationToken)
1373
previousTable ??=
NodeStateTable
<T>.Empty;