Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 22 additions & 4 deletions DesignPatterns.SourceGenerators/Syntax/GeneratedCodeHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,35 @@ namespace DesignPatterns.SourceGenerators.Syntax;
/// </summary>
internal static class GeneratedCodeHelper
{
/// <summary>
/// Warning codes suppressed in generated code via <c>#pragma warning disable</c>.
/// These are warnings that generated code may trigger but that consumers
/// should not see (especially under <c>TreatWarningsAsErrors</c>).
/// </summary>
internal const string PragmaWarningDisableCodes = "CS1591,CS8019,CS0162,CS0612,CS0618";

/// <summary>
/// Creates the standard <c>// &lt;auto-generated /&gt;</c> header trivia
/// followed by a generator-specific comment and a blank line.
/// followed by a generator-specific comment, <c>#pragma warning disable</c>
/// for generated-code-safe warnings, and a blank line.
/// </summary>
internal static SyntaxTriviaList CreateAutoGeneratedHeader(string generatorName) =>
SyntaxFactory.TriviaList(
internal static SyntaxTriviaList CreateAutoGeneratedHeader(string generatorName)
{
var pragmaTrivia = SyntaxFactory.ParseLeadingTrivia($"#pragma warning disable {PragmaWarningDisableCodes}\n");

var builder = new List<SyntaxTrivia>
{
SyntaxFactory.Comment("// <auto-generated />"),
SyntaxFactory.EndOfLine("\n"),
SyntaxFactory.Comment($"// Generated by DesignPatterns.SourceGenerators.{generatorName}"),
SyntaxFactory.EndOfLine("\n"),
SyntaxFactory.EndOfLine("\n"));
SyntaxFactory.EndOfLine("\n"),
};
builder.AddRange(pragmaTrivia);
builder.Add(SyntaxFactory.EndOfLine("\n"));

return SyntaxFactory.TriviaList(builder);
}

/// <summary>
/// Creates a <c>#nullable enable</c> preprocessor directive trivia.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.CompositePartGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618
,
IMenuNode.MenuNodeCompositeCatalog.g.cs:
using System;
Expand Down Expand Up @@ -179,6 +180,7 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.CompositePartGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618
,
IMenuNode.MenuNodeCompositeKeys.g.cs:
using System;
Expand All @@ -203,5 +205,6 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.CompositePartGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618

}
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.CompositePartGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618
,
IMenuNode.MenuNodeCompositeCatalog.g.cs:
using System;
Expand Down Expand Up @@ -150,6 +151,7 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.CompositePartGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618
,
IMenuNode.MenuNodeCompositeKeys.g.cs:
using System;
Expand All @@ -174,5 +176,6 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.CompositePartGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618

}
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.CompositePartGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618
,
IMenuNode.MenuNodeCompositeCatalog.g.cs:
using System;
Expand Down Expand Up @@ -170,6 +171,7 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.CompositePartGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618
,
IMenuNode.MenuNodeCompositeKeys.g.cs:
using System;
Expand Down Expand Up @@ -198,5 +200,6 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.CompositePartGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618

}
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.CompositePartGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618
,
IMenuNode.MenuNodeCompositeCatalog.g.cs:
using System;
Expand Down Expand Up @@ -130,6 +131,7 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.CompositePartGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618
,
IMenuNode.MenuNodeCompositeKeys.g.cs:
using System;
Expand All @@ -150,5 +152,6 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.CompositePartGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618

}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.DecoratorGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618
,
IPaymentService.PaymentServiceDecoratorStack.g.cs:
using System;
Expand Down Expand Up @@ -61,5 +62,6 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.DecoratorGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618

}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.DecoratorGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618
,
IPaymentService.PaymentServiceDecoratorStack.g.cs:
using System;
Expand Down Expand Up @@ -69,5 +70,6 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.DecoratorGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618

}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.DecoratorGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618
,
IPaymentService.PaymentServiceDecoratorStack.g.cs:
using System;
Expand Down Expand Up @@ -50,5 +51,6 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.DecoratorGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618

}
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.DecoratorGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618
,
IPaymentService.PaymentServiceDecoratorStack.g.cs:
using System;
Expand All @@ -46,5 +47,6 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.DecoratorGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618

}
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.DecoratorGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618
,
IPaymentService.PaymentServiceDecoratorStack.g.cs:
using System;
Expand All @@ -46,5 +47,6 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.DecoratorGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618

}
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.DecoratorGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618
,
IPaymentService.PaymentServiceDecoratorStack.g.cs:
using System;
Expand Down Expand Up @@ -54,5 +55,6 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.DecoratorGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618

}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.DecoratorGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618
,
IPaymentService.PaymentServiceDecoratorStack.g.cs:
using System;
Expand All @@ -42,5 +43,6 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.DecoratorGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618

}
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,6 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.GenerateSingletonGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618

}
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,6 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.GenerateSingletonGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618

}
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,6 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.HandlerOrderGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618

}
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,6 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.HandlerOrderGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618

}
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,6 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.HandlerOrderGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618

}
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ namespace AdminApi
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.HandlerOrderGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618
,
PublicApi_RequestContext.RequestContextHandlerPipeline.g.cs:
using System;
Expand Down Expand Up @@ -54,5 +55,6 @@ namespace PublicApi
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.HandlerOrderGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618

}
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.HandlerOrderGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618
,
RequestContext.RequestContextHandlerPipeline.g.cs:
using System;
Expand Down Expand Up @@ -54,5 +55,6 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.HandlerOrderGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618

}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ namespace Plugin.Providers.Gamma
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.RegisterStrategyGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618
,
IControl.ControlRegistry.g.cs:
using System;
Expand Down Expand Up @@ -47,6 +48,7 @@ namespace Plugin.Providers.Gamma
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.RegisterStrategyGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618
,
IErrorHandler.ErrorHandlerKeys.g.cs:
using System;
Expand All @@ -67,6 +69,7 @@ namespace Plugin.Providers.Gamma
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.RegisterStrategyGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618
,
IErrorHandler.ErrorHandlerRegistry.g.cs:
using System;
Expand Down Expand Up @@ -96,5 +99,6 @@ namespace Plugin.Providers.Gamma
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.RegisterStrategyGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618

}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ namespace Plugin.Contracts
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.RegisterStrategyGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618
,
ICardMotion.CardMotionRegistry.g.cs:
using System;
Expand Down Expand Up @@ -47,5 +48,6 @@ namespace Plugin.Contracts
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.RegisterStrategyGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618

}
Original file line number Diff line number Diff line change
Expand Up @@ -44,5 +44,6 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.RegisterEventHandlerGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618

}
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,6 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.RegisterEventHandlerGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618

}
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,6 @@ namespace TestAssembly
}
}// <auto-generated />
// Generated by DesignPatterns.SourceGenerators.RegisterEventHandlerGenerator
#pragma warning disable CS1591, CS8019, CS0162, CS0612, CS0618

}
Loading
Loading