1 instantiation of IncrementalGeneratorRunStep
Microsoft.CodeAnalysis (1)
SourceGeneration\Nodes\NodeStateTable.cs (1)
389new IncrementalGeneratorRunStep(
75 references to IncrementalGeneratorRunStep
Microsoft.CodeAnalysis (65)
SourceGeneration\GeneratorState.cs (12)
22ImmutableDictionary<string, ImmutableArray<IncrementalGeneratorRunStep>>.Empty, 23ImmutableDictionary<string, ImmutableArray<IncrementalGeneratorRunStep>>.Empty, 37ImmutableDictionary<string, ImmutableArray<IncrementalGeneratorRunStep>>.Empty, 38ImmutableDictionary<string, ImmutableArray<IncrementalGeneratorRunStep>>.Empty, 51ImmutableDictionary<string, ImmutableArray<IncrementalGeneratorRunStep>> executedSteps, 52ImmutableDictionary<string, ImmutableArray<IncrementalGeneratorRunStep>> outputSteps, 72ImmutableDictionary<string, ImmutableArray<IncrementalGeneratorRunStep>> executedSteps, 73ImmutableDictionary<string, ImmutableArray<IncrementalGeneratorRunStep>> outputSteps, 96ImmutableDictionary<string, ImmutableArray<IncrementalGeneratorRunStep>>.Empty, 97ImmutableDictionary<string, ImmutableArray<IncrementalGeneratorRunStep>>.Empty, 119internal ImmutableDictionary<string, ImmutableArray<IncrementalGeneratorRunStep>> ExecutedSteps { get; } 121internal ImmutableDictionary<string, ImmutableArray<IncrementalGeneratorRunStep>> OutputSteps { get; }
SourceGeneration\IncrementalGeneratorRunStep.cs (2)
16internal IncrementalGeneratorRunStep(string? stepName, ImmutableArray<(IncrementalGeneratorRunStep Source, int OutputIndex)> inputs, ImmutableArray<(object Value, IncrementalStepRunReason OutputState)> outputs, TimeSpan elapsedTime) 27public ImmutableArray<(IncrementalGeneratorRunStep Source, int OutputIndex)> Inputs { get; }
SourceGeneration\Nodes\BatchNode.cs (2)
31private (ImmutableArray<TInput>, ImmutableArray<(IncrementalGeneratorRunStep InputStep, int OutputIndex)>) GetValuesAndInputs( 37var sourceInputsBuilder = newTable.TrackIncrementalSteps ? ArrayBuilder<(IncrementalGeneratorRunStep InputStep, int OutputIndex)>.GetInstance() : null;
SourceGeneration\Nodes\CombineNode.cs (2)
56(TInput2 input2, IncrementalGeneratorRunStep? input2Step) = input2Table.Single(); 87(_, IncrementalGeneratorRunStep? input2Step) = input2Table.Single();
SourceGeneration\Nodes\GeneratorRunStateTable.cs (18)
15private GeneratorRunStateTable(ImmutableDictionary<string, ImmutableArray<IncrementalGeneratorRunStep>> executedSteps, ImmutableDictionary<string, ImmutableArray<IncrementalGeneratorRunStep>> outputSteps) 21public ImmutableDictionary<string, ImmutableArray<IncrementalGeneratorRunStep>> ExecutedSteps { get; } 23public ImmutableDictionary<string, ImmutableArray<IncrementalGeneratorRunStep>> OutputSteps { get; } 27private readonly Dictionary<string, HashSet<IncrementalGeneratorRunStep>>? _namedSteps; 28private readonly Dictionary<string, HashSet<IncrementalGeneratorRunStep>>? _outputSteps; 34_namedSteps = new Dictionary<string, HashSet<IncrementalGeneratorRunStep>>(); 35_outputSteps = new Dictionary<string, HashSet<IncrementalGeneratorRunStep>>(); 43foreach (var step in table.Steps) 57private static ImmutableDictionary<string, ImmutableArray<IncrementalGeneratorRunStep>> StepCollectionToImmutable(Dictionary<string, HashSet<IncrementalGeneratorRunStep>>? builder) 61return ImmutableDictionary<string, ImmutableArray<IncrementalGeneratorRunStep>>.Empty; 64ImmutableDictionary<string, ImmutableArray<IncrementalGeneratorRunStep>>.Builder resultBuilder = ImmutableDictionary.CreateBuilder<string, ImmutableArray<IncrementalGeneratorRunStep>>(); 74private void RecordStepTree(IncrementalGeneratorRunStep step, bool addToOutputSteps) 93static void addToNamedStepCollection(Dictionary<string, HashSet<IncrementalGeneratorRunStep>> stepCollectionBuilder, IncrementalGeneratorRunStep step) 98stepsByName = new HashSet<IncrementalGeneratorRunStep>();
SourceGeneration\Nodes\InputNode.cs (1)
58var noInputStepsStepInfo = builder.TrackIncrementalSteps ? ImmutableArray<(IncrementalGeneratorRunStep, int)>.Empty : default;
SourceGeneration\Nodes\NodeStateTable.cs (22)
52ImmutableArray<IncrementalGeneratorRunStep> Steps { get; } 55internal readonly record struct NodeStateEntry<T>(T Item, EntryState State, int OutputIndex, IncrementalGeneratorRunStep? Step); 63internal static NodeStateTable<T> Empty { get; } = new NodeStateTable<T>(ImmutableArray<TableEntry>.Empty, ImmutableArray<IncrementalGeneratorRunStep>.Empty, hasTrackedSteps: true); 67private NodeStateTable(ImmutableArray<TableEntry> states, ImmutableArray<IncrementalGeneratorRunStep> steps, bool hasTrackedSteps) 88public ImmutableArray<IncrementalGeneratorRunStep> Steps { get; } 98IncrementalGeneratorRunStep? step = HasTrackedSteps ? Steps[i] : null; 125return new NodeStateTable<T>(compacted.ToImmutableAndFree(), ImmutableArray<IncrementalGeneratorRunStep>.Empty, hasTrackedSteps: false); 130public (T item, IncrementalGeneratorRunStep? step) Single() 160private readonly ArrayBuilder<IncrementalGeneratorRunStep>? _steps; 187_steps = ArrayBuilder<IncrementalGeneratorRunStep>.GetInstance(); 193public bool TryRemoveEntries(TimeSpan elapsedTime, ImmutableArray<(IncrementalGeneratorRunStep InputStep, int OutputIndex)> stepInputs) 208public bool TryRemoveEntries(TimeSpan elapsedTime, ImmutableArray<(IncrementalGeneratorRunStep InputStep, int OutputIndex)> stepInputs, out OneOrMany<T> entries) 220public bool TryUseCachedEntries(TimeSpan elapsedTime, ImmutableArray<(IncrementalGeneratorRunStep InputStep, int OutputIndex)> stepInputs) 236internal bool TryUseCachedEntries(TimeSpan elapsedTime, ImmutableArray<(IncrementalGeneratorRunStep InputStep, int OutputIndex)> stepInputs, out TableEntry entry) 248public bool TryModifyEntry(T value, IEqualityComparer<T> comparer, TimeSpan elapsedTime, ImmutableArray<(IncrementalGeneratorRunStep InputStep, int OutputIndex)> stepInputs, EntryState overallInputState) 263public bool TryModifyEntries(ImmutableArray<T> outputs, IEqualityComparer<T> comparer, TimeSpan elapsedTime, ImmutableArray<(IncrementalGeneratorRunStep InputStep, int OutputIndex)> stepInputs, EntryState overallInputState) 357public void AddEntry(T value, EntryState state, TimeSpan elapsedTime, ImmutableArray<(IncrementalGeneratorRunStep InputStep, int OutputIndex)> stepInputs, EntryState overallInputState) 363public TableEntry AddEntries(ImmutableArray<T> values, EntryState state, TimeSpan elapsedTime, ImmutableArray<(IncrementalGeneratorRunStep InputStep, int OutputIndex)> stepInputs, EntryState overallInputState) 371private void RecordStepInfoForLastEntry(TimeSpan elapsedTime, ImmutableArray<(IncrementalGeneratorRunStep InputStep, int OutputIndex)> stepInputs, EntryState overallInputState) 397public IReadOnlyList<IncrementalGeneratorRunStep> Steps => (IReadOnlyList<IncrementalGeneratorRunStep>?)_steps ?? ImmutableArray<IncrementalGeneratorRunStep>.Empty;
SourceGeneration\Nodes\PredicateSyntaxStrategy.cs (1)
68var noInputStepsStepInfo = _filterTable.TrackIncrementalSteps ? ImmutableArray<(IncrementalGeneratorRunStep, int)>.Empty : default;
SourceGeneration\Nodes\SyntaxReceiverStrategy.cs (1)
63_nodeStateTable.AddEntry(_receiver, EntryState.Modified, lastElapsedTime, TrackIncrementalSteps ? System.Collections.Immutable.ImmutableArray<(IncrementalGeneratorRunStep, int)>.Empty : default, EntryState.Modified);
SourceGeneration\RunResults.cs (4)
84ImmutableDictionary<string, ImmutableArray<IncrementalGeneratorRunStep>> namedSteps, 85ImmutableDictionary<string, ImmutableArray<IncrementalGeneratorRunStep>> outputSteps, 140public ImmutableDictionary<string, ImmutableArray<IncrementalGeneratorRunStep>> TrackedSteps { get; } 145public ImmutableDictionary<string, ImmutableArray<IncrementalGeneratorRunStep>> TrackedOutputSteps { get; }
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (10)
SourceGeneration\StateTableTests.cs (10)
309var emptyInputSteps = ImmutableArray<(IncrementalGeneratorRunStep InputStep, int OutputIndex)>.Empty; 443var step = Assert.Single(table.Steps); 490var step = Assert.Single(table.Steps); 907List<IncrementalGeneratorRunStep> steps = new(); 917var addOneStep = table.Steps[0]; 919var doubleStep = addOneStep.Inputs[0].Source; 921var filterNodeStep = doubleStep.Inputs[0].Source; 923var transformNodeStep = filterNodeStep.Inputs[0].Source; 945var step = Assert.Single(table.Steps); 974var step = Assert.Single(table.Steps);