Exemplo n.º 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);
        }
 GeneratorDriver?ICompilationFactoryService.CreateGeneratorDriver(ParseOptions parseOptions, ImmutableArray <ISourceGenerator> generators, AnalyzerConfigOptionsProvider optionsProvider, ImmutableArray <AdditionalText> additionalTexts)
 {
     // https://github.com/dotnet/roslyn/issues/42565: for now we gate behind langver == preview. We'll remove this before final shipping, as the feature is langver agnostic
     if (((CSharpParseOptions)parseOptions).LanguageVersion != LanguageVersion.Preview)
     {
         return(null);
     }
     return(CSharpGeneratorDriver.Create(generators, additionalTexts, (CSharpParseOptions)parseOptions, optionsProvider));
 }
Exemplo n.º 3
0
        private protected override Compilation RunGenerators(Compilation input, ParseOptions parseOptions, ImmutableArray <ISourceGenerator> generators, AnalyzerConfigOptionsProvider analyzerConfigProvider, ImmutableArray <AdditionalText> additionalTexts, DiagnosticBag diagnostics)
        {
            // https://github.com/dotnet/roslyn/issues/42565: for now we gate behind langver == preview. We'll remove this before final shipping, as the feature is langver agnostic
            if (((CSharpParseOptions)parseOptions).LanguageVersion != LanguageVersion.Preview)
            {
                return(input);
            }

            var driver = CSharpGeneratorDriver.Create(generators, additionalTexts, (CSharpParseOptions)parseOptions, analyzerConfigProvider);

            driver.RunGeneratorsAndUpdateCompilation(input, out var compilationOut, out var generatorDiagnostics);
            diagnostics.AddRange(generatorDiagnostics);
            return(compilationOut);
        }
Exemplo n.º 4
0
 GeneratorDriver?ICompilationFactoryService.CreateGeneratorDriver(ParseOptions parseOptions, ImmutableArray <ISourceGenerator> generators, AnalyzerConfigOptionsProvider optionsProvider, ImmutableArray <AdditionalText> additionalTexts)
 {
     return(CSharpGeneratorDriver.Create(generators, additionalTexts, (CSharpParseOptions)parseOptions, optionsProvider));
 }
Exemplo n.º 5
0
 private protected override GeneratorDriver CreateGeneratorDriver(ParseOptions parseOptions, ImmutableArray <ISourceGenerator> generators, AnalyzerConfigOptionsProvider analyzerConfigOptionsProvider, ImmutableArray <AdditionalText> additionalTexts)
 {
     return(CSharpGeneratorDriver.Create(generators, additionalTexts, (CSharpParseOptions)parseOptions, analyzerConfigOptionsProvider));
 }