From a941ae909c07f96a1c306d13b57d588d3dec4da3 Mon Sep 17 00:00:00 2001 From: Atif Aziz Date: Wed, 24 Dec 2025 12:42:14 +0100 Subject: [PATCH] Mark source generator output for code analysis exemption --- src/DocoptNet/CodeGeneration/SourceGenerator.cs | 4 +++- .../Namespace1.ProgramArguments.cs | 2 ++ .../Namespace2.ProgramArguments.cs | 2 ++ .../ProgramArguments.cs | 2 ++ .../Namespace1.ProgramArguments.cs | 2 ++ .../Namespace2.ProgramArguments.cs | 2 ++ .../Generate_with_inline_usage/Arguments.cs | 2 ++ .../Arguments.cs | 2 ++ .../Generate_with_multiple_inline_usages/Arguments1.cs | 2 ++ .../Generate_with_multiple_inline_usages/Arguments2.cs | 2 ++ .../Generate_with_multiple_inline_usages/Arguments3.cs | 2 ++ .../Generate_with_multiple_inline_usages/Arguments4.cs | 2 ++ .../Generate_with_multiple_inline_usages/Arguments5.cs | 2 ++ .../Generate_with_multiple_inline_usages/Arguments6.cs | 2 ++ .../Generate_with_multiple_inline_usages/Arguments7.cs | 2 ++ .../Generate_with_multiple_inline_usages/Arguments8.cs | 2 ++ .../MyConsoleApp.Program-Arguments.cs | 2 ++ .../Generate_with_nested_args_class/Program-Arguments.cs | 2 ++ .../Program-Nested-Arguments.cs | 2 ++ .../Generate_with_nested_namespace/Outer.Inner.Arguments.cs | 2 ++ .../Generate_with_usage_in_external_file/ProgramArguments.cs | 2 ++ tests/Integration/.editorconfig | 5 +++++ tests/Integration/DocoptNet.Tests.Integration.csproj | 4 ++++ 23 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 tests/Integration/.editorconfig diff --git a/src/DocoptNet/CodeGeneration/SourceGenerator.cs b/src/DocoptNet/CodeGeneration/SourceGenerator.cs index 0fd1b8bd..05054fcd 100644 --- a/src/DocoptNet/CodeGeneration/SourceGenerator.cs +++ b/src/DocoptNet/CodeGeneration/SourceGenerator.cs @@ -252,7 +252,9 @@ static void Generate(CSharpSourceBuilder code, const string usageConstName = "Usage"; - code["#nullable enable"].NewLine + code["// "].NewLine + .NewLine + ["#nullable enable"].NewLine .NewLine .Using("System.Collections") diff --git a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_classes_from_different_namespaces_share_the_same_name/Namespace1.ProgramArguments.cs b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_classes_from_different_namespaces_share_the_same_name/Namespace1.ProgramArguments.cs index fe39c827..d4c2030c 100644 --- a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_classes_from_different_namespaces_share_the_same_name/Namespace1.ProgramArguments.cs +++ b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_classes_from_different_namespaces_share_the_same_name/Namespace1.ProgramArguments.cs @@ -1,3 +1,5 @@ +// + #nullable enable using System.Collections; diff --git a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_classes_from_different_namespaces_share_the_same_name/Namespace2.ProgramArguments.cs b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_classes_from_different_namespaces_share_the_same_name/Namespace2.ProgramArguments.cs index 6ee69de7..1314fd60 100644 --- a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_classes_from_different_namespaces_share_the_same_name/Namespace2.ProgramArguments.cs +++ b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_classes_from_different_namespaces_share_the_same_name/Namespace2.ProgramArguments.cs @@ -1,3 +1,5 @@ +// + #nullable enable using System.Collections; diff --git a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_classes_from_different_namespaces_share_the_same_name/ProgramArguments.cs b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_classes_from_different_namespaces_share_the_same_name/ProgramArguments.cs index 92b9d479..585b86c6 100644 --- a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_classes_from_different_namespaces_share_the_same_name/ProgramArguments.cs +++ b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_classes_from_different_namespaces_share_the_same_name/ProgramArguments.cs @@ -1,3 +1,5 @@ +// + #nullable enable using System.Collections; diff --git a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_classes_in_separate_files/Namespace1.ProgramArguments.cs b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_classes_in_separate_files/Namespace1.ProgramArguments.cs index fe39c827..d4c2030c 100644 --- a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_classes_in_separate_files/Namespace1.ProgramArguments.cs +++ b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_classes_in_separate_files/Namespace1.ProgramArguments.cs @@ -1,3 +1,5 @@ +// + #nullable enable using System.Collections; diff --git a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_classes_in_separate_files/Namespace2.ProgramArguments.cs b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_classes_in_separate_files/Namespace2.ProgramArguments.cs index 6ee69de7..1314fd60 100644 --- a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_classes_in_separate_files/Namespace2.ProgramArguments.cs +++ b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_classes_in_separate_files/Namespace2.ProgramArguments.cs @@ -1,3 +1,5 @@ +// + #nullable enable using System.Collections; diff --git a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_inline_usage/Arguments.cs b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_inline_usage/Arguments.cs index 2a553a69..c1d32b94 100644 --- a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_inline_usage/Arguments.cs +++ b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_inline_usage/Arguments.cs @@ -1,3 +1,5 @@ +// + #nullable enable using System.Collections; diff --git a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_inline_usage_with_custom_const_name/Arguments.cs b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_inline_usage_with_custom_const_name/Arguments.cs index 1160c03a..e3613df4 100644 --- a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_inline_usage_with_custom_const_name/Arguments.cs +++ b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_inline_usage_with_custom_const_name/Arguments.cs @@ -1,3 +1,5 @@ +// + #nullable enable using System.Collections; diff --git a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments1.cs b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments1.cs index 0b67b014..94452d4c 100644 --- a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments1.cs +++ b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments1.cs @@ -1,3 +1,5 @@ +// + #nullable enable using System.Collections; diff --git a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments2.cs b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments2.cs index 202b7f4e..d02774b2 100644 --- a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments2.cs +++ b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments2.cs @@ -1,3 +1,5 @@ +// + #nullable enable using System.Collections; diff --git a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments3.cs b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments3.cs index 3d6c89d1..30c21635 100644 --- a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments3.cs +++ b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments3.cs @@ -1,3 +1,5 @@ +// + #nullable enable using System.Collections; diff --git a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments4.cs b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments4.cs index a4ac8a25..ca8880a5 100644 --- a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments4.cs +++ b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments4.cs @@ -1,3 +1,5 @@ +// + #nullable enable using System.Collections; diff --git a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments5.cs b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments5.cs index 65ea7d05..50c70462 100644 --- a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments5.cs +++ b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments5.cs @@ -1,3 +1,5 @@ +// + #nullable enable using System.Collections; diff --git a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments6.cs b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments6.cs index 6a71c4ad..3d201f14 100644 --- a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments6.cs +++ b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments6.cs @@ -1,3 +1,5 @@ +// + #nullable enable using System.Collections; diff --git a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments7.cs b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments7.cs index 521836a9..96247e2c 100644 --- a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments7.cs +++ b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments7.cs @@ -1,3 +1,5 @@ +// + #nullable enable using System.Collections; diff --git a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments8.cs b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments8.cs index d1dd499a..a9f8d9f3 100644 --- a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments8.cs +++ b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_multiple_inline_usages/Arguments8.cs @@ -1,3 +1,5 @@ +// + #nullable enable using System.Collections; diff --git a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_nested_args_class/MyConsoleApp.Program-Arguments.cs b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_nested_args_class/MyConsoleApp.Program-Arguments.cs index 0261e17d..ddd1af95 100644 --- a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_nested_args_class/MyConsoleApp.Program-Arguments.cs +++ b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_nested_args_class/MyConsoleApp.Program-Arguments.cs @@ -1,3 +1,5 @@ +// + #nullable enable using System.Collections; diff --git a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_nested_args_class/Program-Arguments.cs b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_nested_args_class/Program-Arguments.cs index 1f3456f4..b8c60031 100644 --- a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_nested_args_class/Program-Arguments.cs +++ b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_nested_args_class/Program-Arguments.cs @@ -1,3 +1,5 @@ +// + #nullable enable using System.Collections; diff --git a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_nested_args_class/Program-Nested-Arguments.cs b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_nested_args_class/Program-Nested-Arguments.cs index ce35a850..cd49a05e 100644 --- a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_nested_args_class/Program-Nested-Arguments.cs +++ b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_nested_args_class/Program-Nested-Arguments.cs @@ -1,3 +1,5 @@ +// + #nullable enable using System.Collections; diff --git a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_nested_namespace/Outer.Inner.Arguments.cs b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_nested_namespace/Outer.Inner.Arguments.cs index c28d3a63..c5bf0b8b 100644 --- a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_nested_namespace/Outer.Inner.Arguments.cs +++ b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_nested_namespace/Outer.Inner.Arguments.cs @@ -1,3 +1,5 @@ +// + #nullable enable using System.Collections; diff --git a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_usage_in_external_file/ProgramArguments.cs b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_usage_in_external_file/ProgramArguments.cs index 5b3e96cb..5f10428b 100644 --- a/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_usage_in_external_file/ProgramArguments.cs +++ b/tests/DocoptNet.Tests/CodeGeneration/SourceGeneratorTests/Generate_with_usage_in_external_file/ProgramArguments.cs @@ -1,3 +1,5 @@ +// + #nullable enable using System.Collections; diff --git a/tests/Integration/.editorconfig b/tests/Integration/.editorconfig new file mode 100644 index 00000000..46446e47 --- /dev/null +++ b/tests/Integration/.editorconfig @@ -0,0 +1,5 @@ +[*.cs] +dotnet_analyzer_diagnostic.category-Style.severity = warning + +# IDE0055: Fix formatting +dotnet_diagnostic.IDE0055.severity = suggestion diff --git a/tests/Integration/DocoptNet.Tests.Integration.csproj b/tests/Integration/DocoptNet.Tests.Integration.csproj index 06a2fbce..b624de3a 100644 --- a/tests/Integration/DocoptNet.Tests.Integration.csproj +++ b/tests/Integration/DocoptNet.Tests.Integration.csproj @@ -5,6 +5,10 @@ false $(MSBuildThisFileDirectory)..\..\dist $(MSBuildThisFileDirectory).nuget + true + + true + $(NoWarn);CS1591