3 instantiations of NodeStateTable
Microsoft.CodeAnalysis (3)
SourceGeneration\Nodes\NodeStateTable.cs (3)
63internal static NodeStateTable<T> Empty { get; } = new NodeStateTable<T>(ImmutableArray<TableEntry>.Empty, ImmutableArray<IncrementalGeneratorRunStep>.Empty, hasTrackedSteps: true); 125return new NodeStateTable<T>(compacted.ToImmutableAndFree(), ImmutableArray<IncrementalGeneratorRunStep>.Empty, hasTrackedSteps: false); 446return new NodeStateTable<T>(
125 references to NodeStateTable
Microsoft.CodeAnalysis (54)
SourceGeneration\Nodes\BatchNode.cs (6)
32NodeStateTable<TInput> sourceTable, 33NodeStateTable<ImmutableArray<TInput>>? previousTable, 34NodeStateTable<ImmutableArray<TInput>>.Builder newTable) 109public NodeStateTable<ImmutableArray<TInput>> UpdateStateTable(DriverStateTable.Builder builder, NodeStateTable<ImmutableArray<TInput>>? previousTable, CancellationToken cancellationToken) 112var sourceTable = builder.GetLatestStateTableForNode(_sourceNode);
SourceGeneration\Nodes\CombineNode.cs (8)
29public NodeStateTable<(TInput1, TInput2)> UpdateStateTable(DriverStateTable.Builder graphState, NodeStateTable<(TInput1, TInput2)>? previousTable, CancellationToken cancellationToken) 32var input1Table = graphState.GetLatestStateTableForNode(_input1); 33var input2Table = graphState.GetLatestStateTableForNode(_input2); 83private NodeStateTable<(TInput1, TInput2)> RecordStepsForCachedTable(DriverStateTable.Builder graphState, NodeStateTable<(TInput1, TInput2)> previousTable, NodeStateTable<TInput1> input1Table, NodeStateTable<TInput2> input2Table)
SourceGeneration\Nodes\DriverStateTable.cs (7)
48public NodeStateTable<T> GetLatestStateTableForNode<T>(IIncrementalGeneratorNode<T> source) 53return (NodeStateTable<T>)table; 57NodeStateTable<T>? previousTable = _previousTable._tables.GetStateTable<T>(source); 60var newTable = source.UpdateStateTable(this, previousTable, _cancellationToken); 65public NodeStateTable<T>.Builder CreateTableBuilder<T>( 66NodeStateTable<T>? previousTable, string? stepName, IEqualityComparer<T>? equalityComparer, int? tableCapacity = null) 68previousTable ??= NodeStateTable<T>.Empty;
SourceGeneration\Nodes\IIncrementalGeneratorNode.cs (2)
16NodeStateTable<T> UpdateStateTable(DriverStateTable.Builder graphState, NodeStateTable<T>? previousTable, CancellationToken cancellationToken);
SourceGeneration\Nodes\InputNode.cs (2)
41public NodeStateTable<T> UpdateStateTable(DriverStateTable.Builder graphState, NodeStateTable<T>? previousTable, CancellationToken cancellationToken)
SourceGeneration\Nodes\NodeStateTable.cs (9)
63internal static NodeStateTable<T> Empty { get; } = new NodeStateTable<T>(ImmutableArray<TableEntry>.Empty, ImmutableArray<IncrementalGeneratorRunStep>.Empty, hasTrackedSteps: true); 106public NodeStateTable<T> AsCached() 139public NodeStateTable<T> CreateCachedTableWithUpdatedSteps<TInput>(NodeStateTable<TInput> inputTable, string? stepName, IEqualityComparer<T> equalityComparer) 142NodeStateTable<T>.Builder builder = ToBuilder(stepName, stepTrackingEnabled: true, equalityComparer); 156private readonly NodeStateTable<T> _previous; 170NodeStateTable<T> previous, 414public NodeStateTable<T> ToImmutableAndFree() 421return NodeStateTable<T>.Empty;
SourceGeneration\Nodes\PredicateSyntaxStrategy.cs (3)
41private readonly NodeStateTable<SyntaxNode>.Builder _filterTable; 43private readonly NodeStateTable<T>.Builder _transformTable; 83if (state != EntryState.Cached || !_filterTable.TryUseCachedEntries(TimeSpan.Zero, noInputStepsStepInfo, out NodeStateTable<SyntaxNode>.TableEntry entry))
SourceGeneration\Nodes\SourceOutputNode.cs (4)
38public NodeStateTable<TOutput> UpdateStateTable(DriverStateTable.Builder graphState, NodeStateTable<TOutput>? previousTable, CancellationToken cancellationToken) 41var sourceTable = graphState.GetLatestStateTableForNode(_source); 98var table = context.TableBuilder.GetLatestStateTableForNode(this);
SourceGeneration\Nodes\StateTableStore.cs (4)
27public NodeStateTable<T> GetStateTableOrEmpty<T>(object input) 29return GetStateTable<T>(input) ?? NodeStateTable<T>.Empty; 32public NodeStateTable<T>? GetStateTable<T>(object input) 36return (NodeStateTable<T>)output;
SourceGeneration\Nodes\SyntaxInputNode.cs (3)
31public NodeStateTable<T> UpdateStateTable(DriverStateTable.Builder graphState, NodeStateTable<T>? previousTable, CancellationToken cancellationToken) 33return (NodeStateTable<T>)graphState.SyntaxStore.GetSyntaxInputTable(this, graphState.GetLatestStateTableForNode(SharedInputNodes.SyntaxTrees));
SourceGeneration\Nodes\SyntaxReceiverStrategy.cs (1)
35private readonly NodeStateTable<ISyntaxContextReceiver?>.Builder _nodeStateTable;
SourceGeneration\Nodes\TransformNode.cs (3)
42public NodeStateTable<TOutput> UpdateStateTable(DriverStateTable.Builder builder, NodeStateTable<TOutput>? previousTable, CancellationToken cancellationToken) 45var sourceTable = builder.GetLatestStateTableForNode(_sourceNode);
SourceGeneration\SyntaxStore.cs (2)
49public IStateTable GetSyntaxInputTable(SyntaxInputNode syntaxInputNode, NodeStateTable<SyntaxTree> syntaxTreeTable) 84NodeStateTable<SyntaxTree> syntaxTreeState = syntaxTreeTable;
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (67)
SourceGeneration\StateTableTests.cs (67)
23var builder = NodeStateTable<int>.Empty.ToBuilder(stepName: null, false); 27var table = builder.ToImmutableAndFree(); 36var builder = NodeStateTable<int>.Empty.ToBuilder(stepName: null, false); 40var table = builder.ToImmutableAndFree(); 51var builder = NodeStateTable<object>.Empty.ToBuilder(stepName: null, false); 53var table = builder.ToImmutableAndFree(); 64var builder = NodeStateTable<object?>.Empty.ToBuilder(stepName: null, false); 68var table = builder.ToImmutableAndFree(); 77var builder = NodeStateTable<int>.Empty.ToBuilder(stepName: null, false); 82var previousTable = builder.ToImmutableAndFree(); 89var newTable = builder.ToImmutableAndFree(); 108var builder = NodeStateTable<int>.Empty.ToBuilder(stepName: null, false); 112var table = builder.ToImmutableAndFree(); 117var compactedTable = table.AsCached(); 125var builder = NodeStateTable<int>.Empty.ToBuilder(stepName: null, false); 129var table = builder.ToImmutableAndFree(); 134var compactedTable = table.AsCached(); 139var compactedTable2 = compactedTable.AsCached(); 146var builder = NodeStateTable<int>.Empty.ToBuilder(stepName: null, false); 148var table = builder.ToImmutableAndFree(); 156var builder = NodeStateTable<int>.Empty.ToBuilder(stepName: null, false); 158var table = builder.ToImmutableAndFree(); 178var builder = NodeStateTable<int>.Empty.ToBuilder(stepName: null, false); 182var previousTable = builder.ToImmutableAndFree(); 192var newTable = builder.ToImmutableAndFree(); 201var builder = NodeStateTable<int>.Empty.ToBuilder(stepName: null, false); 206var previousTable = builder.ToImmutableAndFree(); 217var newTable = builder.ToImmutableAndFree(); 226var builder = NodeStateTable<int>.Empty.ToBuilder(stepName: null, false); 230var previousTable = builder.ToImmutableAndFree(); 239var newTable = builder.ToImmutableAndFree(); 264NodeStateTable<int>? passedIn = null; 274Assert.Same(NodeStateTable<int>.Empty, passedIn); 280var nodeBuilder = NodeStateTable<int>.Empty.ToBuilder(stepName: null, false); 282var newTable = nodeBuilder.ToImmutableAndFree(); 284NodeStateTable<int>? passedIn = null; 295Assert.Same(NodeStateTable<int>.Empty, passedIn); 308var nodeBuilder = NodeStateTable<int>.Empty.ToBuilder(stepName: null, true); 314var newTable = nodeBuilder.ToImmutableAndFree(); 319NodeStateTable<int>? passedIn = null; 329Assert.Same(NodeStateTable<int>.Empty, passedIn); 377var table = dstBuilder.GetLatestStateTableForNode(batchNode); 423var table = dstBuilder.GetLatestStateTableForNode(batchNode); 441var table = dstBuilder.GetLatestStateTableForNode(batchNode); 488var table = dstBuilder.GetLatestStateTableForNode(batchNode); 534var table = dstBuilder.GetLatestStateTableForNode(batchNode); 554var table = dstBuilder.GetLatestStateTableForNode(batchNode); 597var table = dstBuilder.GetLatestStateTableForNode(transformNode); 632var table = dstBuilder.GetLatestStateTableForNode(transformNode); 670var table = dstBuilder.GetLatestStateTableForNode(transformNode); 709var table = dstBuilder.GetLatestStateTableForNode(transformNode); 747var table = dstBuilder.GetLatestStateTableForNode(inputNode); 801var table = dstBuilder.GetLatestStateTableForNode(transformNode); 836var table = dstBuilder.GetLatestStateTableForNode(combineNode); 889var table = dstBuilder.GetLatestStateTableForNode(inputNode); 915var table = dstBuilder.GetLatestStateTableForNode(addOneNode); 943var table = dstBuilder.GetLatestStateTableForNode(transformNode); 972var table = dstBuilder.GetLatestStateTableForNode(transformNode); 986private void AssertTableEntries<T>(NodeStateTable<T> table, IList<(T Item, EntryState State, int OutputIndex)> expected) 998private void AssertTableEntries<T>(NodeStateTable<ImmutableArray<T>> table, IList<(ImmutableArray<T> Item, EntryState State, int OutputIndex)> expected) 1032private readonly Func<DriverStateTable.Builder, NodeStateTable<T>, NodeStateTable<T>> _callback; 1034public CallbackNode(Func<DriverStateTable.Builder, NodeStateTable<T>, NodeStateTable<T>> callback) 1039public NodeStateTable<T> UpdateStateTable(DriverStateTable.Builder graphState, NodeStateTable<T>? previousTable, CancellationToken cancellationToken) 1041previousTable ??= NodeStateTable<T>.Empty;
Microsoft.CodeAnalysis.ExternalAccess.RazorCompiler (4)
HostOutputNode.cs (4)
31public NodeStateTable<TOutput> UpdateStateTable(DriverStateTable.Builder graphState, NodeStateTable<TOutput>? previousTable, CancellationToken cancellationToken) 34var sourceTable = graphState.GetLatestStateTableForNode(_source); 69var table = context.TableBuilder!.GetLatestStateTableForNode(this);