Share via


ISourceGenerator Interface

Definition

The base interface required to implement a source generator

public interface ISourceGenerator
type ISourceGenerator = interface
Public Interface ISourceGenerator

Remarks

The lifetime of a generator is controlled by the compiler. State should not be stored directly on the generator, as there is no guarantee that the same instance will be used on a subsequent generation pass.

Methods

Execute(GeneratorExecutionContext)

Called to perform source generation. A generator can use the context to add source files via the AddSource(String, SourceText) method.

Execute(SourceGeneratorContext)

Called to perform source generation. A generator can use the context to add source files via the AddSource(String, SourceText) method.

Initialize(GeneratorInitializationContext)

Called before generation occurs. A generator can use the context to register callbacks required to perform generation.

Initialize(InitializationContext)

Called before generation occurs. A generator can use the context to register callbacks required to perform generation.

Extension Methods

AsIncrementalGenerator(ISourceGenerator)

Converts an ISourceGenerator into an IIncrementalGenerator

GetGeneratorType(ISourceGenerator)

Returns the underlying type of a given generator

Applies to