17 public void Initialize(IncrementalGeneratorInitializationContext context)
21 IncrementalValuesProvider<ApiModel> pipeline =
23 static (syntaxNode, _) =>
24 syntaxNode is ClassDeclarationSyntax,
25 static (context, _) =>
27 INamedTypeSymbol api =
28 (INamedTypeSymbol)context.TargetSymbol;
37 context.RegisterSourceOutput(pipeline,
38 static (context, model) =>
42 if (model.Diagnostics.Length != 0)
44 foreach (Diagnostic diagnostic
in model.Diagnostics)
46 context.ReportDiagnostic(diagnostic);
47 isError |= diagnostic.Severity == DiagnosticSeverity.Error;
51 BadInteropApiSourceGenerator gen =
new BadInteropApiSourceGenerator(context);
53 SourceText sourceText =
54 SourceText.From(gen.GenerateModelSource(context, model, isError),
58 context.AddSource($
"{model.ClassName}.g.cs", sourceText);