Partilhar via


GeneratorDriver Class

Definition

Responsible for orchestrating a source generation pass

public abstract class GeneratorDriver
type GeneratorDriver = class
Public MustInherit Class GeneratorDriver
Inheritance
GeneratorDriver
Derived

Remarks

GeneratorDriver is an immutable class that can be manipulated by returning a mutated copy of itself. In the compiler we only ever create a single instance and ignore the mutated copy. The IDE may perform multiple edits, or generation passes of the same driver, re-using the state as needed.

Methods

AddAdditionalTexts(ImmutableArray<AdditionalText>)
AddGenerators(ImmutableArray<ISourceGenerator>)
GetRunResult()
GetTimingInfo()
RemoveAdditionalTexts(ImmutableArray<AdditionalText>)
RemoveGenerators(ImmutableArray<ISourceGenerator>)
ReplaceAdditionalText(AdditionalText, AdditionalText)
ReplaceAdditionalTexts(ImmutableArray<AdditionalText>)
ReplaceGenerators(ImmutableArray<ISourceGenerator>)
RunFullGeneration(Compilation, Compilation, ImmutableArray<Diagnostic>, CancellationToken)
RunGenerators(Compilation, CancellationToken)
RunGenerators(Compilation, Func<GeneratorFilterContext,Boolean>, CancellationToken)

Run generators and produce an updated GeneratorDriver containing the results.

RunGenerators(Compilation)

Run generators and produce an updated GeneratorDriver containing the results.

RunGeneratorsAndUpdateCompilation(Compilation, Compilation, ImmutableArray<Diagnostic>, CancellationToken)
TryApplyEdits(Compilation, Compilation, Boolean, CancellationToken)
WithUpdatedAnalyzerConfigOptions(AnalyzerConfigOptionsProvider)
WithUpdatedParseOptions(ParseOptions)

Applies to