Files
Just.Railway/Railway.SourceGenerator/ExtensionsMethodGenerator.cs
T
just 0e7986996f
.NET Test / .NET tests (push) Successful in 2m0s
extensions rework pt1
2026-07-13 22:20:47 +04:00

44 lines
1.3 KiB
C#

using System.Collections.Generic;
using Just.Railway.SourceGen.Executors;
using Just.Railway.SourceGen.Executors.ResultExtensions.MainExtensions;
using Just.Railway.SourceGen.Executors.ResultExtensions.ValueTaskExtensions;
using Microsoft.CodeAnalysis;
namespace Just.Railway.SourceGen;
[Generator]
public class ExtensionsMethodGenerator : IIncrementalGenerator
{
private readonly IEnumerable<IGeneratorExecutor> _executors =
[
new ResultCombineExecutor(),
new ResultMatchExecutor(),
new ResultMapExecutor(),
new ResultBindExecutor(),
new ResultTapExecutor(),
new ResultExtendExecutor(),
new ResultTryRecoverExecutor(),
new ResultAppendExecutor(),
new ResultValueTaskMatchExecutor(),
new ResultValueTaskMapExecutor(),
new ResultValueTaskBindExecutor(),
new ResultValueTaskTapExecutor(),
new ResultValueTaskExtendExecutor(),
new ResultValueTaskTryRecoverExecutor(),
new ResultValueTaskAppendExecutor(),
new TryExtensionsExecutor(),
new EnsureExtensionsExecutor(),
];
public void Initialize(IncrementalGeneratorInitializationContext context)
{
foreach (var executor in _executors)
{
context.RegisterPostInitializationOutput(executor.Execute);
}
}
}