119 references to EntryState
Microsoft.CodeAnalysis (119)
SourceGeneration\Nodes\BatchNode.cs (8)
48if (entry.State != EntryState.Removed) 76if (entry.State == EntryState.Removed) 100if (entry.State == EntryState.Removed) 135tableBuilder.AddEntry(sourceValues, EntryState.Added, stopwatch.Elapsed, sourceInputs, EntryState.Added); 139if (!tableBuilder.TryModifyEntry(sourceValues, stopwatch.Elapsed, sourceInputs, EntryState.Modified)) 141tableBuilder.AddEntry(sourceValues, EntryState.Added, stopwatch.Elapsed, sourceInputs, EntryState.Added);
SourceGeneration\Nodes\CombineNode.cs (6)
67var state = (entry1.State, isInput2Cached) switch 69(EntryState.Cached, true) => EntryState.Cached, 70(EntryState.Cached, false) => EntryState.Modified, 75if (state != EntryState.Modified || _comparer is null || !tableBuilder.TryModifyEntry(entry, stopwatch.Elapsed, stepInputs, state))
SourceGeneration\Nodes\HostOutputNode.cs (5)
50if (entry.State == EntryState.Removed) 54else if (entry.State != EntryState.Cached || !nodeTable.TryUseCachedEntries(TimeSpan.Zero, inputs)) 60nodeTable.AddEntry(output.ToImmutableAndFree(), EntryState.Added, stopwatch.Elapsed, inputs, EntryState.Added); 76if (state != EntryState.Removed)
SourceGeneration\Nodes\InputNode.cs (5)
86var modified = tableBuilder.TryModifyEntry(inputItems[itemIndex], elapsedTime, noInputStepsStepInfo, EntryState.Modified); 102tableBuilder.AddEntry(newItem, EntryState.Added, elapsedTime, noInputStepsStepInfo, EntryState.Added); 133tableBuilder.AddEntry(input, EntryState.Added, TimeSpan.Zero, stepInputs: default, EntryState.Added);
SourceGeneration\Nodes\ISyntaxStrategy.cs (1)
20void VisitTree(Lazy<SyntaxNode> root, EntryState state, Lazy<SemanticModel>? model, CancellationToken cancellationToken);
SourceGeneration\Nodes\NodeStateTable.cs (68)
56internal readonly record struct NodeStateEntry<T>(T Item, EntryState State, int OutputIndex, IncrementalGeneratorRunStep? Step); 210EntryState.Added => 'A', 211EntryState.Removed => 'R', 212EntryState.Modified => 'M', 213EntryState.Cached => 'C', 281RecordStepInfoForLastEntry(elapsedTime, stepInputs, EntryState.Removed); 308RecordStepInfoForLastEntry(elapsedTime, stepInputs, EntryState.Cached); 324public bool TryModifyEntry(T value, TimeSpan elapsedTime, ImmutableArray<(IncrementalGeneratorRunStep InputStep, int OutputIndex)> stepInputs, EntryState overallInputState) 345public bool TryModifyEntries(ImmutableArray<T> outputs, TimeSpan elapsedTime, ImmutableArray<(IncrementalGeneratorRunStep InputStep, int OutputIndex)> stepInputs, EntryState overallInputState) 365RecordStepInfoForLastEntry(elapsedTime, stepInputs, EntryState.Cached); 385var previousState = previousEntry.GetState(i); 418builder!.Add(previousEntry.GetItem(i), EntryState.Removed); 426builder!.Add(outputs[i], EntryState.Added); 437public bool TryModifyEntries(ImmutableArray<T> outputs, TimeSpan elapsedTime, ImmutableArray<(IncrementalGeneratorRunStep InputStep, int OutputIndex)> stepInputs, EntryState overallInputState, out TableEntry entry) 449public void AddEntry(T value, EntryState state, TimeSpan elapsedTime, ImmutableArray<(IncrementalGeneratorRunStep InputStep, int OutputIndex)> stepInputs, EntryState overallInputState) 452_insertedCount += state == EntryState.Added ? 1 : 0; 456public TableEntry AddEntries(ImmutableArray<T> values, EntryState state, TimeSpan elapsedTime, ImmutableArray<(IncrementalGeneratorRunStep InputStep, int OutputIndex)> stepInputs, EntryState overallInputState) 460_insertedCount += state == EntryState.Added ? 1 : 0; 476private void RecordStepInfoForLastEntry(TimeSpan elapsedTime, ImmutableArray<(IncrementalGeneratorRunStep InputStep, int OutputIndex)> stepInputs, EntryState overallInputState) 504private static IncrementalStepRunReason AsStepState(EntryState inputState, EntryState outputState) 508(EntryState.Added, EntryState.Added) => IncrementalStepRunReason.New, 509(EntryState.Modified, EntryState.Modified) => IncrementalStepRunReason.Modified, 510(EntryState.Modified, EntryState.Cached) => IncrementalStepRunReason.Unchanged, 511(EntryState.Cached, EntryState.Cached) => IncrementalStepRunReason.Cached, 512(EntryState.Removed, EntryState.Removed) => IncrementalStepRunReason.Removed, 513(EntryState.Modified, EntryState.Removed) => IncrementalStepRunReason.Removed, 514(EntryState.Modified, EntryState.Added) => IncrementalStepRunReason.New, 558private (T chosen, EntryState state, bool chosePrevious) GetModifiedItemAndState(T previous, T replacement) 563? (previous, EntryState.Cached, chosePrevious: true) 564: (replacement, EntryState.Modified, chosePrevious: false); 570private static readonly ImmutableArray<EntryState> s_allAddedEntries = ImmutableArray.Create(EntryState.Added); 571private static readonly ImmutableArray<EntryState> s_allCachedEntries = ImmutableArray.Create(EntryState.Cached); 572private static readonly ImmutableArray<EntryState> s_allModifiedEntries = ImmutableArray.Create(EntryState.Modified); 577private static readonly ImmutableArray<EntryState> s_allRemovedEntries = ImmutableArray.Create(EntryState.Removed); 582private static readonly ImmutableArray<EntryState> s_allRemovedDueToInputRemoval = ImmutableArray.Create(EntryState.Removed); 591private readonly ImmutableArray<EntryState> _states; 593public TableEntry(OneOrMany<T> items, EntryState state) 594: this(items, GetSingleArray(state), anyRemoved: state == EntryState.Removed) { } 596private TableEntry(OneOrMany<T> items, ImmutableArray<EntryState> states, bool anyRemoved) 623public bool IsCached => this._states == s_allCachedEntries || this._states.All(s => s == EntryState.Cached); 631public EntryState GetState(int index) => _states.Length == 1 ? _states[0] : _states[index]; 645if (this.GetState(i) != EntryState.Removed) 657private static ImmutableArray<EntryState> GetSingleArray(EntryState state) => state switch 659EntryState.Added => s_allAddedEntries, 660EntryState.Cached => s_allCachedEntries, 661EntryState.Modified => s_allModifiedEntries, 662EntryState.Removed => s_allRemovedEntries, 723private ArrayBuilder<EntryState>? _states; 724private EntryState? _currentState; 735public void Add(T item, EntryState state) 738_anyRemoved |= state == EntryState.Removed; 751_states = ArrayBuilder<EntryState>.GetInstance(_requestedCapacity);
SourceGeneration\Nodes\PredicateSyntaxStrategy.cs (11)
63EntryState state, 69if (state == EntryState.Removed) 83if (state != EntryState.Cached || !_filterTable.TryUseCachedEntries(TimeSpan.Zero, noInputStepsStepInfo, out NodeStateTable<SyntaxNode>.TableEntry entry)) 88if (state != EntryState.Modified || !_filterTable.TryModifyEntries(nodes, stopwatch.Elapsed, noInputStepsStepInfo, state, out entry)) 97if (entry.GetState(i) == EntryState.Removed) 109var transformInputState = state == EntryState.Cached ? EntryState.Modified : state; 111if (transformInputState == EntryState.Added || !_transformTable.TryModifyEntry(transformed, stopwatch.Elapsed, noInputStepsStepInfo, transformInputState)) 113_transformTable.AddEntry(transformed, EntryState.Added, stopwatch.Elapsed, noInputStepsStepInfo, EntryState.Added);
SourceGeneration\Nodes\SourceOutputNode.cs (6)
58if (entry.State == EntryState.Removed) 62else if (entry.State != EntryState.Cached || !tableBuilder.TryUseCachedEntries(TimeSpan.Zero, inputs)) 74if (entry.State != EntryState.Modified || !tableBuilder.TryModifyEntry(sourcesAndDiagnostics, stopwatch.Elapsed, inputs, entry.State)) 76tableBuilder.AddEntry(sourcesAndDiagnostics, EntryState.Added, stopwatch.Elapsed, inputs, EntryState.Added); 107if (state != EntryState.Removed)
SourceGeneration\Nodes\SyntaxReceiverStrategy.cs (4)
63_nodeStateTable.AddEntry(_receiver, EntryState.Modified, lastElapsedTime, TrackIncrementalSteps ? System.Collections.Immutable.ImmutableArray<(IncrementalGeneratorRunStep, int)>.Empty : default, EntryState.Modified); 69EntryState state, 73if (_walker is not null && state != EntryState.Removed)
SourceGeneration\Nodes\TransformNode.cs (4)
72if (entry.State == EntryState.Removed) 76else if (entry.State != EntryState.Cached || !tableBuilder.TryUseCachedEntries(TimeSpan.Zero, inputs)) 90if (entry.State != EntryState.Modified || !tableBuilder.TryModifyEntries(newOutputs, stopwatch.Elapsed, inputs, entry.State)) 92tableBuilder.AddEntries(newOutputs, EntryState.Added, stopwatch.Elapsed, inputs, entry.State);
SourceGeneration\SyntaxStore.cs (1)
90var model = state != EntryState.Removed ? new Lazy<SemanticModel>(() => _compilation.GetSemanticModel(tree)) : null;