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