Add fine-grained disabling of SourceGenerators

This allows manual testing and/or alternate source generators to
provide functionality without conflict.
This commit is contained in:
Alex de la Mare 2023-01-08 12:04:15 +11:00
parent 0291fcd7b6
commit 8ab3295e57
9 changed files with 14 additions and 7 deletions

View file

@ -26,6 +26,12 @@ namespace Godot.SourceGenerators
toggle != null &&
toggle.Equals("true", StringComparison.OrdinalIgnoreCase);
public static bool IsGodotSourceGeneratorDisabled(this GeneratorExecutionContext context, string generatorName) =>
AreGodotSourceGeneratorsDisabled(context) ||
(context.TryGetGlobalAnalyzerProperty("GodotDisabledSourceGenerators", out string? disabledGenerators) &&
disabledGenerators != null &&
disabledGenerators.Split(';').Contains(generatorName));
public static bool InheritsFrom(this INamedTypeSymbol? symbol, string assemblyName, string typeFullName)
{
while (symbol != null)