Files
Just.Railway/Railway.SourceGenerator/ExtensionsMethodGenerator.cs
JustFixMe dd81fecdd6
All checks were successful
.NET Test / test (push) Successful in 1m56s
.NET Publish / publish (push) Successful in 1m6s
added Extend extension methods generation
2024-04-08 22:46:34 +04:00

31 lines
889 B
C#

using System.Collections.Generic;
using Microsoft.CodeAnalysis;
namespace Just.Railway.SourceGen;
[Generator]
public class ExtensionsMethodGenerator : IIncrementalGenerator
{
private readonly IEnumerable<IGeneratorExecutor> _executors = new IGeneratorExecutor[]
{
new ResultCombineExecutor(),
new ResultMatchExecutor(),
new ResultMapExecutor(),
new ResultBindExecutor(),
new ResultTapExecutor(),
new ResultExtendExecutor(),
new ResultTryRecoverExecutor(),
new ResultAppendExecutor(),
new TryExtensionsExecutor(),
new EnsureExtensionsExecutor(),
};
public void Initialize(IncrementalGeneratorInitializationContext context)
{
foreach (var executor in _executors)
{
context.RegisterSourceOutput(context.CompilationProvider, executor.Execute);
}
}
}