From f9645c822148298fd2172b144dcc037cefdeb01d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Sat, 18 Jan 2025 14:53:26 +0100 Subject: [PATCH 1/5] Update Microsoft.CodeAnalysis.Analyzers to the latest version --- Directory.Packages.props | 2 +- Funcky.Analyzers/Funcky.Analyzers/Funcky.Analyzers.csproj | 1 + .../Funcky.BuiltinAnalyzers/Funcky.BuiltinAnalyzers.csproj | 5 +++-- Funcky.SourceGenerator/Funcky.SourceGenerator.csproj | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 40697f9d..839119d8 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -28,7 +28,7 @@ - + diff --git a/Funcky.Analyzers/Funcky.Analyzers/Funcky.Analyzers.csproj b/Funcky.Analyzers/Funcky.Analyzers/Funcky.Analyzers.csproj index 486d0443..2a70281a 100644 --- a/Funcky.Analyzers/Funcky.Analyzers/Funcky.Analyzers.csproj +++ b/Funcky.Analyzers/Funcky.Analyzers/Funcky.Analyzers.csproj @@ -10,6 +10,7 @@ enable false 5 + true diff --git a/Funcky.Analyzers/Funcky.BuiltinAnalyzers/Funcky.BuiltinAnalyzers.csproj b/Funcky.Analyzers/Funcky.BuiltinAnalyzers/Funcky.BuiltinAnalyzers.csproj index b84f0879..dd8cdeca 100644 --- a/Funcky.Analyzers/Funcky.BuiltinAnalyzers/Funcky.BuiltinAnalyzers.csproj +++ b/Funcky.Analyzers/Funcky.BuiltinAnalyzers/Funcky.BuiltinAnalyzers.csproj @@ -4,13 +4,14 @@ false preview enable + true + $(NoWarn);RS1038 - - + diff --git a/Funcky.SourceGenerator/Funcky.SourceGenerator.csproj b/Funcky.SourceGenerator/Funcky.SourceGenerator.csproj index b554c893..0963508f 100644 --- a/Funcky.SourceGenerator/Funcky.SourceGenerator.csproj +++ b/Funcky.SourceGenerator/Funcky.SourceGenerator.csproj @@ -10,7 +10,7 @@ true - + From 98f12950c2d2d314105669444f6a09c43129f8f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Sat, 18 Jan 2025 14:58:13 +0100 Subject: [PATCH 2/5] Use target-typed new The analyzer now correctly works even with target-typed new expressions. --- .../AlternativeMonadAnalyzer.GetOrElse.cs | 2 +- .../AlternativeMonadAnalyzer/AlternativeMonadAnalyzer.OrElse.cs | 2 +- .../AlternativeMonadAnalyzer.SelectMany.cs | 2 +- .../AlternativeMonadAnalyzer.ToNullable.cs | 2 +- .../Funcky.Analyzers/EnumerableRepeatNeverAnalyzer.cs | 2 +- .../Funcky.Analyzers/EnumerableRepeatOnceAnalyzer.cs | 2 +- Funcky.Analyzers/Funcky.Analyzers/JoinToStringEmptyAnalyzer.cs | 2 +- Funcky.Analyzers/Funcky.Analyzers/NonDefaultableAnalyzer.cs | 2 +- .../Funcky.Analyzers/UseWithArgumentNamesAnalyzer.cs | 2 +- Funcky.Analyzers/Funcky.BuiltinAnalyzers/TryGetValueAnalyzer.cs | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Funcky.Analyzers/Funcky.Analyzers/AlternativeMonadAnalyzer/AlternativeMonadAnalyzer.GetOrElse.cs b/Funcky.Analyzers/Funcky.Analyzers/AlternativeMonadAnalyzer/AlternativeMonadAnalyzer.GetOrElse.cs index 02efac2a..d9a299c1 100644 --- a/Funcky.Analyzers/Funcky.Analyzers/AlternativeMonadAnalyzer/AlternativeMonadAnalyzer.GetOrElse.cs +++ b/Funcky.Analyzers/Funcky.Analyzers/AlternativeMonadAnalyzer/AlternativeMonadAnalyzer.GetOrElse.cs @@ -7,7 +7,7 @@ namespace Funcky.Analyzers; public partial class AlternativeMonadAnalyzer { - public static readonly DiagnosticDescriptor PreferGetOrElse = new DiagnosticDescriptor( + public static readonly DiagnosticDescriptor PreferGetOrElse = new( id: $"{DiagnosticName.Prefix}{DiagnosticName.Usage}05", title: $"Prefer {GetOrElseMethodName} over {MatchMethodName}", messageFormat: $"Prefer {GetOrElseMethodName} over {MatchMethodName}", diff --git a/Funcky.Analyzers/Funcky.Analyzers/AlternativeMonadAnalyzer/AlternativeMonadAnalyzer.OrElse.cs b/Funcky.Analyzers/Funcky.Analyzers/AlternativeMonadAnalyzer/AlternativeMonadAnalyzer.OrElse.cs index a29adce5..cb3e6170 100644 --- a/Funcky.Analyzers/Funcky.Analyzers/AlternativeMonadAnalyzer/AlternativeMonadAnalyzer.OrElse.cs +++ b/Funcky.Analyzers/Funcky.Analyzers/AlternativeMonadAnalyzer/AlternativeMonadAnalyzer.OrElse.cs @@ -7,7 +7,7 @@ namespace Funcky.Analyzers; public partial class AlternativeMonadAnalyzer { - public static readonly DiagnosticDescriptor PreferOrElse = new DiagnosticDescriptor( + public static readonly DiagnosticDescriptor PreferOrElse = new( id: $"{DiagnosticName.Prefix}{DiagnosticName.Usage}06", title: $"Prefer {OrElseMethodName} over {MatchMethodName}", messageFormat: $"Prefer {OrElseMethodName} over {MatchMethodName}", diff --git a/Funcky.Analyzers/Funcky.Analyzers/AlternativeMonadAnalyzer/AlternativeMonadAnalyzer.SelectMany.cs b/Funcky.Analyzers/Funcky.Analyzers/AlternativeMonadAnalyzer/AlternativeMonadAnalyzer.SelectMany.cs index 08601206..1c4b5e0d 100644 --- a/Funcky.Analyzers/Funcky.Analyzers/AlternativeMonadAnalyzer/AlternativeMonadAnalyzer.SelectMany.cs +++ b/Funcky.Analyzers/Funcky.Analyzers/AlternativeMonadAnalyzer/AlternativeMonadAnalyzer.SelectMany.cs @@ -7,7 +7,7 @@ namespace Funcky.Analyzers; public partial class AlternativeMonadAnalyzer { - public static readonly DiagnosticDescriptor PreferSelectMany = new DiagnosticDescriptor( + public static readonly DiagnosticDescriptor PreferSelectMany = new( id: $"{DiagnosticName.Prefix}{DiagnosticName.Usage}07", title: $"Prefer {SelectManyMethodName} over {MatchMethodName}", messageFormat: $"Prefer {SelectManyMethodName} over {MatchMethodName}", diff --git a/Funcky.Analyzers/Funcky.Analyzers/AlternativeMonadAnalyzer/AlternativeMonadAnalyzer.ToNullable.cs b/Funcky.Analyzers/Funcky.Analyzers/AlternativeMonadAnalyzer/AlternativeMonadAnalyzer.ToNullable.cs index 258ffb21..6204297e 100644 --- a/Funcky.Analyzers/Funcky.Analyzers/AlternativeMonadAnalyzer/AlternativeMonadAnalyzer.ToNullable.cs +++ b/Funcky.Analyzers/Funcky.Analyzers/AlternativeMonadAnalyzer/AlternativeMonadAnalyzer.ToNullable.cs @@ -8,7 +8,7 @@ namespace Funcky.Analyzers; public partial class AlternativeMonadAnalyzer { - public static readonly DiagnosticDescriptor PreferToNullable = new DiagnosticDescriptor( + public static readonly DiagnosticDescriptor PreferToNullable = new( id: $"{DiagnosticName.Prefix}{DiagnosticName.Usage}08", title: $"Prefer {ToNullableMethodName} over {MatchMethodName}", messageFormat: $"Prefer {ToNullableMethodName} over {MatchMethodName}", diff --git a/Funcky.Analyzers/Funcky.Analyzers/EnumerableRepeatNeverAnalyzer.cs b/Funcky.Analyzers/Funcky.Analyzers/EnumerableRepeatNeverAnalyzer.cs index 1721fff9..442a05e8 100644 --- a/Funcky.Analyzers/Funcky.Analyzers/EnumerableRepeatNeverAnalyzer.cs +++ b/Funcky.Analyzers/Funcky.Analyzers/EnumerableRepeatNeverAnalyzer.cs @@ -21,7 +21,7 @@ public sealed class EnumerableRepeatNeverAnalyzer : DiagnosticAnalyzer private static readonly LocalizableString MessageFormat = LoadFromResource(nameof(EnumerableRepeatNeverAnalyzerMessageFormat)); private static readonly LocalizableString Description = LoadFromResource(nameof(EnumerableRepeatNeverAnalyzerDescription)); - private static readonly DiagnosticDescriptor Rule = new DiagnosticDescriptor(DiagnosticId, Title, MessageFormat, Category, DiagnosticSeverity.Warning, isEnabledByDefault: true, description: Description); + private static readonly DiagnosticDescriptor Rule = new(DiagnosticId, Title, MessageFormat, Category, DiagnosticSeverity.Warning, isEnabledByDefault: true, description: Description); public override ImmutableArray SupportedDiagnostics => ImmutableArray.Create(Rule); diff --git a/Funcky.Analyzers/Funcky.Analyzers/EnumerableRepeatOnceAnalyzer.cs b/Funcky.Analyzers/Funcky.Analyzers/EnumerableRepeatOnceAnalyzer.cs index 8371c1eb..49a86ab5 100644 --- a/Funcky.Analyzers/Funcky.Analyzers/EnumerableRepeatOnceAnalyzer.cs +++ b/Funcky.Analyzers/Funcky.Analyzers/EnumerableRepeatOnceAnalyzer.cs @@ -21,7 +21,7 @@ public sealed class EnumerableRepeatOnceAnalyzer : DiagnosticAnalyzer private static readonly LocalizableString MessageFormat = LoadFromResource(nameof(EnumerableRepeatOnceAnalyzerMessageFormat)); private static readonly LocalizableString Description = LoadFromResource(nameof(EnumerableRepeatOnceAnalyzerDescription)); - private static readonly DiagnosticDescriptor Rule = new DiagnosticDescriptor(DiagnosticId, Title, MessageFormat, Category, DiagnosticSeverity.Warning, isEnabledByDefault: true, description: Description); + private static readonly DiagnosticDescriptor Rule = new(DiagnosticId, Title, MessageFormat, Category, DiagnosticSeverity.Warning, isEnabledByDefault: true, description: Description); public override ImmutableArray SupportedDiagnostics => ImmutableArray.Create(Rule); diff --git a/Funcky.Analyzers/Funcky.Analyzers/JoinToStringEmptyAnalyzer.cs b/Funcky.Analyzers/Funcky.Analyzers/JoinToStringEmptyAnalyzer.cs index 5f40aee1..52a9ee57 100644 --- a/Funcky.Analyzers/Funcky.Analyzers/JoinToStringEmptyAnalyzer.cs +++ b/Funcky.Analyzers/Funcky.Analyzers/JoinToStringEmptyAnalyzer.cs @@ -22,7 +22,7 @@ public sealed class JoinToStringEmptyAnalyzer : DiagnosticAnalyzer private static readonly LocalizableString Description = LoadFromResource(nameof(JoinToStringEmptyAnalyzerDescription)); - private static readonly DiagnosticDescriptor Rule = new DiagnosticDescriptor(DiagnosticId, Title, MessageFormat, Category, DiagnosticSeverity.Warning, isEnabledByDefault: true, description: Description); + private static readonly DiagnosticDescriptor Rule = new(DiagnosticId, Title, MessageFormat, Category, DiagnosticSeverity.Warning, isEnabledByDefault: true, description: Description); public override ImmutableArray SupportedDiagnostics => ImmutableArray.Create(Rule); diff --git a/Funcky.Analyzers/Funcky.Analyzers/NonDefaultableAnalyzer.cs b/Funcky.Analyzers/Funcky.Analyzers/NonDefaultableAnalyzer.cs index 5b9356d2..4df9eee1 100644 --- a/Funcky.Analyzers/Funcky.Analyzers/NonDefaultableAnalyzer.cs +++ b/Funcky.Analyzers/Funcky.Analyzers/NonDefaultableAnalyzer.cs @@ -8,7 +8,7 @@ namespace Funcky.Analyzers; [DiagnosticAnalyzer(LanguageNames.CSharp)] public sealed class NonDefaultableAnalyzer : DiagnosticAnalyzer { - public static readonly DiagnosticDescriptor DoNotUseDefault = new DiagnosticDescriptor( + public static readonly DiagnosticDescriptor DoNotUseDefault = new( id: $"{DiagnosticName.Prefix}{DiagnosticName.Usage}09", title: "Do not use default to instantiate this type", messageFormat: "Do not use default(...) to instantiate '{0}'", diff --git a/Funcky.Analyzers/Funcky.Analyzers/UseWithArgumentNamesAnalyzer.cs b/Funcky.Analyzers/Funcky.Analyzers/UseWithArgumentNamesAnalyzer.cs index 6a8d75a8..6228d496 100644 --- a/Funcky.Analyzers/Funcky.Analyzers/UseWithArgumentNamesAnalyzer.cs +++ b/Funcky.Analyzers/Funcky.Analyzers/UseWithArgumentNamesAnalyzer.cs @@ -14,7 +14,7 @@ public sealed class UseWithArgumentNamesAnalyzer : DiagnosticAnalyzer private const string AttributeFullName = "Funcky.CodeAnalysis.UseWithArgumentNamesAttribute"; - private static readonly DiagnosticDescriptor Descriptor = new DiagnosticDescriptor( + private static readonly DiagnosticDescriptor Descriptor = new( id: DiagnosticId, title: Resources.UseWithArgumentNamesAnalyzerAnalyzerTitle, messageFormat: Resources.UseWithArgumentNamesAnalyzerMessageFormat, diff --git a/Funcky.Analyzers/Funcky.BuiltinAnalyzers/TryGetValueAnalyzer.cs b/Funcky.Analyzers/Funcky.BuiltinAnalyzers/TryGetValueAnalyzer.cs index 2bb93742..2d6b82dd 100644 --- a/Funcky.Analyzers/Funcky.BuiltinAnalyzers/TryGetValueAnalyzer.cs +++ b/Funcky.Analyzers/Funcky.BuiltinAnalyzers/TryGetValueAnalyzer.cs @@ -9,7 +9,7 @@ namespace Funcky.BuiltinAnalyzers; [DiagnosticAnalyzer(LanguageNames.CSharp)] public sealed class TryGetValueAnalyzer : DiagnosticAnalyzer { - private static readonly DiagnosticDescriptor Descriptor = new DiagnosticDescriptor( + private static readonly DiagnosticDescriptor Descriptor = new( id: "λ0001", title: "Disallowed use of TryGetValue", messageFormat: "Disallowed use of TryGetValue", From 26b8f581157e6b2523e77411002f885abcacc408 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Sat, 18 Jan 2025 15:06:43 +0100 Subject: [PATCH 3/5] Update to generic testing packages The test-framework-specific packages have been obsoleted. See . --- Directory.Packages.props | 6 +++--- .../Funcky.Analyzers.Test/Funcky.Analyzers.Test.csproj | 6 +++--- .../Verifiers/CSharpAnalyzerVerifier`1+Test.cs | 4 ++-- .../Verifiers/CSharpAnalyzerVerifier`1.cs | 7 +++---- .../Verifiers/CSharpCodeFixVerifier`2+Test.cs | 4 ++-- .../Verifiers/CSharpCodeFixVerifier`2.cs | 7 +++---- .../Verifiers/CSharpCodeRefactoringVerifier`1+Test.cs | 4 ++-- 7 files changed, 18 insertions(+), 20 deletions(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 839119d8..ffbb9f88 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -29,9 +29,9 @@ - - - + + + diff --git a/Funcky.Analyzers/Funcky.Analyzers.Test/Funcky.Analyzers.Test.csproj b/Funcky.Analyzers/Funcky.Analyzers.Test/Funcky.Analyzers.Test.csproj index 34e1bd7e..855af807 100644 --- a/Funcky.Analyzers/Funcky.Analyzers.Test/Funcky.Analyzers.Test.csproj +++ b/Funcky.Analyzers/Funcky.Analyzers.Test/Funcky.Analyzers.Test.csproj @@ -16,9 +16,9 @@ - - - + + + diff --git a/Funcky.Analyzers/Funcky.Analyzers.Test/Verifiers/CSharpAnalyzerVerifier`1+Test.cs b/Funcky.Analyzers/Funcky.Analyzers.Test/Verifiers/CSharpAnalyzerVerifier`1+Test.cs index 941d1f6a..1bdac01b 100644 --- a/Funcky.Analyzers/Funcky.Analyzers.Test/Verifiers/CSharpAnalyzerVerifier`1+Test.cs +++ b/Funcky.Analyzers/Funcky.Analyzers.Test/Verifiers/CSharpAnalyzerVerifier`1+Test.cs @@ -1,13 +1,13 @@ using Microsoft.CodeAnalysis.CSharp.Testing; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.Testing.Verifiers; +using Microsoft.CodeAnalysis.Testing; namespace Funcky.Analyzers.Test; public static partial class CSharpAnalyzerVerifier where TAnalyzer : DiagnosticAnalyzer, new() { - public class Test : CSharpAnalyzerTest + public class Test : CSharpAnalyzerTest { public Test() { diff --git a/Funcky.Analyzers/Funcky.Analyzers.Test/Verifiers/CSharpAnalyzerVerifier`1.cs b/Funcky.Analyzers/Funcky.Analyzers.Test/Verifiers/CSharpAnalyzerVerifier`1.cs index 23af7add..e83e5941 100644 --- a/Funcky.Analyzers/Funcky.Analyzers.Test/Verifiers/CSharpAnalyzerVerifier`1.cs +++ b/Funcky.Analyzers/Funcky.Analyzers.Test/Verifiers/CSharpAnalyzerVerifier`1.cs @@ -2,7 +2,6 @@ using Microsoft.CodeAnalysis.CSharp.Testing; using Microsoft.CodeAnalysis.Diagnostics; using Microsoft.CodeAnalysis.Testing; -using Microsoft.CodeAnalysis.Testing.Verifiers; namespace Funcky.Analyzers.Test; @@ -11,15 +10,15 @@ public static partial class CSharpAnalyzerVerifier { /// public static DiagnosticResult Diagnostic() - => CSharpAnalyzerVerifier.Diagnostic(); + => CSharpAnalyzerVerifier.Diagnostic(); /// public static DiagnosticResult Diagnostic(string diagnosticId) - => CSharpAnalyzerVerifier.Diagnostic(diagnosticId); + => CSharpAnalyzerVerifier.Diagnostic(diagnosticId); /// public static DiagnosticResult Diagnostic(DiagnosticDescriptor descriptor) - => CSharpAnalyzerVerifier.Diagnostic(descriptor); + => CSharpAnalyzerVerifier.Diagnostic(descriptor); /// public static async Task VerifyAnalyzerAsync(string source, params DiagnosticResult[] expected) diff --git a/Funcky.Analyzers/Funcky.Analyzers.Test/Verifiers/CSharpCodeFixVerifier`2+Test.cs b/Funcky.Analyzers/Funcky.Analyzers.Test/Verifiers/CSharpCodeFixVerifier`2+Test.cs index 8c9b4dd2..dc5d7221 100644 --- a/Funcky.Analyzers/Funcky.Analyzers.Test/Verifiers/CSharpCodeFixVerifier`2+Test.cs +++ b/Funcky.Analyzers/Funcky.Analyzers.Test/Verifiers/CSharpCodeFixVerifier`2+Test.cs @@ -1,7 +1,7 @@ using Microsoft.CodeAnalysis.CodeFixes; using Microsoft.CodeAnalysis.CSharp.Testing; using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.Testing.Verifiers; +using Microsoft.CodeAnalysis.Testing; namespace Funcky.Analyzers.Test; @@ -9,7 +9,7 @@ public static partial class CSharpCodeFixVerifier where TAnalyzer : DiagnosticAnalyzer, new() where TCodeFix : CodeFixProvider, new() { - public class Test : CSharpCodeFixTest + public class Test : CSharpCodeFixTest { public Test() { diff --git a/Funcky.Analyzers/Funcky.Analyzers.Test/Verifiers/CSharpCodeFixVerifier`2.cs b/Funcky.Analyzers/Funcky.Analyzers.Test/Verifiers/CSharpCodeFixVerifier`2.cs index 6a4f1fff..b93afd94 100644 --- a/Funcky.Analyzers/Funcky.Analyzers.Test/Verifiers/CSharpCodeFixVerifier`2.cs +++ b/Funcky.Analyzers/Funcky.Analyzers.Test/Verifiers/CSharpCodeFixVerifier`2.cs @@ -4,7 +4,6 @@ using Microsoft.CodeAnalysis.CSharp.Testing; using Microsoft.CodeAnalysis.Diagnostics; using Microsoft.CodeAnalysis.Testing; -using Microsoft.CodeAnalysis.Testing.Verifiers; namespace Funcky.Analyzers.Test; @@ -14,15 +13,15 @@ public static partial class CSharpCodeFixVerifier { /// public static DiagnosticResult Diagnostic() - => CSharpCodeFixVerifier.Diagnostic(); + => CSharpCodeFixVerifier.Diagnostic(); /// public static DiagnosticResult Diagnostic(string diagnosticId) - => CSharpCodeFixVerifier.Diagnostic(diagnosticId); + => CSharpCodeFixVerifier.Diagnostic(diagnosticId); /// public static DiagnosticResult Diagnostic(DiagnosticDescriptor descriptor) - => CSharpCodeFixVerifier.Diagnostic(descriptor); + => CSharpCodeFixVerifier.Diagnostic(descriptor); /// public static async Task VerifyAnalyzerAsync(string source, params DiagnosticResult[] expected) diff --git a/Funcky.Analyzers/Funcky.Analyzers.Test/Verifiers/CSharpCodeRefactoringVerifier`1+Test.cs b/Funcky.Analyzers/Funcky.Analyzers.Test/Verifiers/CSharpCodeRefactoringVerifier`1+Test.cs index 1c2fee6b..111e85ef 100644 --- a/Funcky.Analyzers/Funcky.Analyzers.Test/Verifiers/CSharpCodeRefactoringVerifier`1+Test.cs +++ b/Funcky.Analyzers/Funcky.Analyzers.Test/Verifiers/CSharpCodeRefactoringVerifier`1+Test.cs @@ -1,13 +1,13 @@ using Microsoft.CodeAnalysis.CodeRefactorings; using Microsoft.CodeAnalysis.CSharp.Testing; -using Microsoft.CodeAnalysis.Testing.Verifiers; +using Microsoft.CodeAnalysis.Testing; namespace Funcky.Analyzers.Test; public static partial class CSharpCodeRefactoringVerifier where TCodeRefactoring : CodeRefactoringProvider, new() { - public class Test : CSharpCodeRefactoringTest + public class Test : CSharpCodeRefactoringTest { public Test() { From 164ae54861d1bfb5c842ff637cc2b3bc1c585202 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Sat, 18 Jan 2025 15:12:30 +0100 Subject: [PATCH 4/5] Add Analyzers.props to solution file --- Funcky.sln | 1 + 1 file changed, 1 insertion(+) diff --git a/Funcky.sln b/Funcky.sln index 510c55fc..19b0eb2b 100644 --- a/Funcky.sln +++ b/Funcky.sln @@ -25,6 +25,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build Config", "Build Confi GlobalUsings.Test.props = GlobalUsings.Test.props NuGet.config = NuGet.config typos.toml = typos.toml + Analyzers.props = Analyzers.props EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Funcky.Xunit", "Funcky.Xunit\Funcky.Xunit.csproj", "{F2E98B0D-CC17-4576-89DE-065FF475BE6E}" From 7033aefca2fcdf68bb8e5eb0da55adf557fd5c9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Sat, 18 Jan 2025 15:20:26 +0100 Subject: [PATCH 5/5] Split off built-in code fixes into separate assembly --- Analyzers.props | 1 + .../Funcky.Analyzers.Test.csproj | 1 + .../Funcky.BuiltinAnalyzers.CodeFixes.csproj | 19 +++++++++++++++++++ .../OptionNoneInvocationCodeFix.cs | 0 .../Funcky.BuiltinAnalyzers.csproj | 2 -- Funcky.sln | 7 +++++++ Funcky/Funcky.csproj | 1 + 7 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 Funcky.Analyzers/Funcky.BuiltinAnalyzers.CodeFixes/Funcky.BuiltinAnalyzers.CodeFixes.csproj rename Funcky.Analyzers/{Funcky.BuiltinAnalyzers => Funcky.BuiltinAnalyzers.CodeFixes}/OptionNoneInvocationCodeFix.cs (100%) diff --git a/Analyzers.props b/Analyzers.props index 82f4b046..5c3f9bd7 100644 --- a/Analyzers.props +++ b/Analyzers.props @@ -4,5 +4,6 @@ + diff --git a/Funcky.Analyzers/Funcky.Analyzers.Test/Funcky.Analyzers.Test.csproj b/Funcky.Analyzers/Funcky.Analyzers.Test/Funcky.Analyzers.Test.csproj index 855af807..6fea4655 100644 --- a/Funcky.Analyzers/Funcky.Analyzers.Test/Funcky.Analyzers.Test.csproj +++ b/Funcky.Analyzers/Funcky.Analyzers.Test/Funcky.Analyzers.Test.csproj @@ -26,6 +26,7 @@ + diff --git a/Funcky.Analyzers/Funcky.BuiltinAnalyzers.CodeFixes/Funcky.BuiltinAnalyzers.CodeFixes.csproj b/Funcky.Analyzers/Funcky.BuiltinAnalyzers.CodeFixes/Funcky.BuiltinAnalyzers.CodeFixes.csproj new file mode 100644 index 00000000..a0defe4c --- /dev/null +++ b/Funcky.Analyzers/Funcky.BuiltinAnalyzers.CodeFixes/Funcky.BuiltinAnalyzers.CodeFixes.csproj @@ -0,0 +1,19 @@ + + + netstandard2.0 + false + preview + enable + true + Funcky.BuiltinAnalyzers + + + + + + + + + + diff --git a/Funcky.Analyzers/Funcky.BuiltinAnalyzers/OptionNoneInvocationCodeFix.cs b/Funcky.Analyzers/Funcky.BuiltinAnalyzers.CodeFixes/OptionNoneInvocationCodeFix.cs similarity index 100% rename from Funcky.Analyzers/Funcky.BuiltinAnalyzers/OptionNoneInvocationCodeFix.cs rename to Funcky.Analyzers/Funcky.BuiltinAnalyzers.CodeFixes/OptionNoneInvocationCodeFix.cs diff --git a/Funcky.Analyzers/Funcky.BuiltinAnalyzers/Funcky.BuiltinAnalyzers.csproj b/Funcky.Analyzers/Funcky.BuiltinAnalyzers/Funcky.BuiltinAnalyzers.csproj index dd8cdeca..89f3abba 100644 --- a/Funcky.Analyzers/Funcky.BuiltinAnalyzers/Funcky.BuiltinAnalyzers.csproj +++ b/Funcky.Analyzers/Funcky.BuiltinAnalyzers/Funcky.BuiltinAnalyzers.csproj @@ -5,13 +5,11 @@ preview enable true - $(NoWarn);RS1038 - diff --git a/Funcky.sln b/Funcky.sln index 19b0eb2b..674fd0c2 100644 --- a/Funcky.sln +++ b/Funcky.sln @@ -62,6 +62,8 @@ Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Funcky.FsCheck", "Funcky.Fs EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Funcky.TrimmingTest", "Funcky.TrimmingTest\Funcky.TrimmingTest.csproj", "{F35DB62D-22A8-41E8-B3BB-CD9064974190}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Funcky.BuiltinAnalyzers.CodeFixes", "Funcky.Analyzers\Funcky.BuiltinAnalyzers.CodeFixes\Funcky.BuiltinAnalyzers.CodeFixes.csproj", "{82BAB120-6F95-4B5A-83EA-C7BCFB1C03C2}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -136,6 +138,10 @@ Global {F35DB62D-22A8-41E8-B3BB-CD9064974190}.Debug|Any CPU.Build.0 = Debug|Any CPU {F35DB62D-22A8-41E8-B3BB-CD9064974190}.Release|Any CPU.ActiveCfg = Release|Any CPU {F35DB62D-22A8-41E8-B3BB-CD9064974190}.Release|Any CPU.Build.0 = Release|Any CPU + {82BAB120-6F95-4B5A-83EA-C7BCFB1C03C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {82BAB120-6F95-4B5A-83EA-C7BCFB1C03C2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {82BAB120-6F95-4B5A-83EA-C7BCFB1C03C2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {82BAB120-6F95-4B5A-83EA-C7BCFB1C03C2}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -149,6 +155,7 @@ Global {1EE94F73-967E-49D1-BA68-EA2783EA0244} = {18ED7503-3198-455D-861E-84841C48069C} {C1412F64-1D24-4245-8DC7-F4AF01815F58} = {18ED7503-3198-455D-861E-84841C48069C} {539432B9-1257-4237-91FD-5D237855765E} = {BBE35279-7416-4B9D-B89D-B6D1FF369681} + {82BAB120-6F95-4B5A-83EA-C7BCFB1C03C2} = {BBE35279-7416-4B9D-B89D-B6D1FF369681} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {1F800283-D010-4227-94C9-09C02B0411DE} diff --git a/Funcky/Funcky.csproj b/Funcky/Funcky.csproj index 2f531b5f..73b9aae2 100644 --- a/Funcky/Funcky.csproj +++ b/Funcky/Funcky.csproj @@ -50,6 +50,7 @@ +