コード例 #1
0
        private protected override Compilation RunGenerators(
            Compilation input,
            ParseOptions parseOptions,
            ImmutableArray <ISourceGenerator> generators,
            AnalyzerConfigOptionsProvider analyzerConfigProvider,
            ImmutableArray <AdditionalText> additionalTexts,
            DiagnosticBag diagnostics
            )
        {
            var driver = CSharpGeneratorDriver.Create(
                generators,
                additionalTexts,
                (CSharpParseOptions)parseOptions,
                analyzerConfigProvider
                );

            driver.RunGeneratorsAndUpdateCompilation(
                input,
                out var compilationOut,
                out var generatorDiagnostics
                );
            diagnostics.AddRange(generatorDiagnostics);
            return(compilationOut);
        }
コード例 #2
0
 GeneratorDriver?ICompilationFactoryService.CreateGeneratorDriver(ParseOptions parseOptions, ImmutableArray <ISourceGenerator> generators, AnalyzerConfigOptionsProvider optionsProvider, ImmutableArray <AdditionalText> additionalTexts)
 {
     return(CSharpGeneratorDriver.Create(generators, additionalTexts, (CSharpParseOptions)parseOptions, optionsProvider));
 }
コード例 #3
0
 private protected override GeneratorDriver CreateGeneratorDriver(ParseOptions parseOptions, ImmutableArray <ISourceGenerator> generators, AnalyzerConfigOptionsProvider analyzerConfigOptionsProvider, ImmutableArray <AdditionalText> additionalTexts)
 {
     return(CSharpGeneratorDriver.Create(generators, additionalTexts, (CSharpParseOptions)parseOptions, analyzerConfigOptionsProvider));
 }