in src/PublicToInternalGenerator/PublicToInternalGenerator.cs [13:34]
public void Initialize(IncrementalGeneratorInitializationContext context)
{
// System.Diagnostics.Debugger.Launch();
// Create a provider for additional files that end with "Annotations.cs"
var additionalFilesProvider = context.AdditionalTextsProvider
.Where(file => file.Path.EndsWith("Annotations.cs", StringComparison.OrdinalIgnoreCase));
// Transform each additional file into a generated source
var generatedSources = additionalFilesProvider
.Select(ProcessFile)
.Where(result => result != null); // Filter out null results
// Register the source output
context.RegisterSourceOutput(generatedSources, (sourceProductionContext, source) =>
{
if (source != null)
{
sourceProductionContext.AddSource(source.Value.fileName, source.Value.sourceText);
}
});
}