Exemple #1
0
 public static GeneratorDriver CreateDriver(Compilation c, AnalyzerConfigOptionsProvider?options, IIncrementalGenerator[] generators, GeneratorDriverOptions driverOptions = default)
 => CSharpGeneratorDriver.Create(
     ImmutableArray.Create(generators.Select(gen => gen.AsSourceGenerator()).ToArray()),
     parseOptions: (CSharpParseOptions)c.SyntaxTrees.First().Options,
     optionsProvider: options,
     driverOptions: driverOptions);
Exemple #2
0
 /// <summary>
 /// Creates a new instance of <see cref="CSharpGeneratorDriver"/>
 /// </summary>
 /// <param name="parseOptions">The <see cref="CSharpParseOptions"/> that should be used when parsing generated files.</param>
 /// <param name="generators">The generators that will run as part of this driver.</param>
 /// <param name="optionsProvider">An <see cref="AnalyzerConfigOptionsProvider"/> that can be used to retrieve analyzer config values by the generators in this driver.</param>
 /// <param name="additionalTexts">A list of <see cref="AdditionalText"/>s available to generators in this driver.</param>
 internal CSharpGeneratorDriver(CSharpParseOptions parseOptions, ImmutableArray <ISourceGenerator> generators, AnalyzerConfigOptionsProvider optionsProvider, ImmutableArray <AdditionalText> additionalTexts, GeneratorDriverOptions driverOptions)
     : base(parseOptions, generators, optionsProvider, additionalTexts, driverOptions)
 {
 }
Exemple #3
0
 /// <summary>
 /// Creates a new instance of <see cref="CSharpGeneratorDriver"/> with the specified <see cref="ISourceGenerator"/>s and the provided options or default.
 /// </summary>
 /// <param name="generators">The generators to create this driver with</param>
 /// <param name="additionalTexts">A list of <see cref="AdditionalText"/>s available to generators in this driver, or <c>null</c> if there are none.</param>
 /// <param name="parseOptions">The <see cref="CSharpParseOptions"/> that should be used when parsing generated files, or <c>null</c> to use <see cref="CSharpParseOptions.Default"/></param>
 /// <param name="optionsProvider">An <see cref="AnalyzerConfigOptionsProvider"/> that can be used to retrieve analyzer config values by the generators in this driver, or <c>null</c> if there are none.</param>
 /// <param name="driverOptions">A <see cref="GeneratorDriverOptions"/> that controls the behavior of the created driver.</param>
 /// <returns>A new <see cref="CSharpGeneratorDriver"/> instance.</returns>
 public static CSharpGeneratorDriver Create(IEnumerable <ISourceGenerator> generators, IEnumerable <AdditionalText>?additionalTexts = null, CSharpParseOptions?parseOptions = null, AnalyzerConfigOptionsProvider?optionsProvider = null, GeneratorDriverOptions driverOptions = default)
 => new CSharpGeneratorDriver(parseOptions ?? CSharpParseOptions.Default, generators.ToImmutableArray(), optionsProvider ?? CompilerAnalyzerConfigOptionsProvider.Empty, additionalTexts.AsImmutableOrEmpty(), driverOptions);
 /// <summary>
 /// Creates a new instance of <see cref="CSharpGeneratorDriver"/>
 /// </summary>
 /// <param name="parseOptions">The <see cref="CSharpParseOptions"/> that should be used when parsing generated files.</param>
 /// <param name="generators">The generators that will run as part of this driver.</param>
 /// <param name="optionsProvider">An <see cref="AnalyzerConfigOptionsProvider"/> that can be used to retrieve analyzer config values by the generators in this driver.</param>
 /// <param name="additionalTexts">A list of <see cref="AdditionalText"/>s available to generators in this driver.</param>
 internal CSharpGeneratorDriver(CSharpParseOptions parseOptions, ImmutableArray <ISourceGenerator> generators, AnalyzerConfigOptionsProvider optionsProvider, ImmutableArray <AdditionalText> additionalTexts, GeneratorDriverOptions driverOptions)
     : base(parseOptions, generators, optionsProvider, additionalTexts, enableIncremental: parseOptions.LanguageVersion == LanguageVersion.Preview, driverOptions)
 {
 }