diff --git a/src/Meziantou.Analyzer/Internals/ContextExtensions.cs b/src/Meziantou.Analyzer/Internals/ContextExtensions.cs index 008d45bbf..b76b650f5 100755 --- a/src/Meziantou.Analyzer/Internals/ContextExtensions.cs +++ b/src/Meziantou.Analyzer/Internals/ContextExtensions.cs @@ -9,13 +9,13 @@ namespace Meziantou.Analyzer.Internals; internal static partial class ContextExtensions { - private static Diagnostic CreateDiagnostic(DiagnosticDescriptor descriptor, Location? location, ImmutableDictionary? properties, string?[]? messageArgs) + private static Diagnostic CreateDiagnostic(DiagnosticDescriptor descriptor, Location? location, ImmutableDictionary? properties, object?[]? messageArgs) { return Diagnostic.Create(descriptor, location, properties, messageArgs); } - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, IEnumerable locations, string?[]? messageArgs = null) => ReportDiagnostic(context, descriptor, ImmutableDictionary.Empty, locations, messageArgs); - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IEnumerable locations, params string?[]? messageArgs) + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, IEnumerable locations, object?[]? messageArgs = null) => ReportDiagnostic(context, descriptor, ImmutableDictionary.Empty, locations, messageArgs); + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IEnumerable locations, params object?[]? messageArgs) { var inSource = locations.Where(l => l.IsInSource); if (!inSource.Any()) @@ -34,35 +34,35 @@ public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticD context.ReportDiagnostic(diagnostic); } - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, SyntaxReference syntaxReference, string?[]? messageArgs = null) + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, SyntaxReference syntaxReference, object?[]? messageArgs = null) => ReportDiagnostic(context, descriptor, ImmutableDictionary.Empty, syntaxReference, messageArgs); - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxReference syntaxReference, string?[]? messageArgs = null) + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxReference syntaxReference, object?[]? messageArgs = null) { var syntaxNode = syntaxReference.GetSyntax(context.CancellationToken); context.ReportDiagnostic(CreateDiagnostic(descriptor, syntaxNode.GetLocation(), properties, messageArgs)); } - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, Location location, string?[]? messageArgs = null) => context.ReportDiagnostic(CreateDiagnostic(descriptor, location, ImmutableDictionary.Empty, messageArgs)); - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, Location location, string?[]? messageArgs = null) => context.ReportDiagnostic(CreateDiagnostic(descriptor, location, properties, messageArgs)); + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, Location location, object?[]? messageArgs = null) => context.ReportDiagnostic(CreateDiagnostic(descriptor, location, ImmutableDictionary.Empty, messageArgs)); + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, Location location, object?[]? messageArgs = null) => context.ReportDiagnostic(CreateDiagnostic(descriptor, location, properties, messageArgs)); - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, SyntaxNode syntax, string?[]? messageArgs = null) => ReportDiagnostic(context, descriptor, ImmutableDictionary.Empty, syntax.GetLocation(), messageArgs); - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxNode syntax, string?[]? messageArgs = null) => ReportDiagnostic(context, descriptor, properties, syntax.GetLocation(), messageArgs); + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, SyntaxNode syntax, object?[]? messageArgs = null) => ReportDiagnostic(context, descriptor, ImmutableDictionary.Empty, syntax.GetLocation(), messageArgs); + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxNode syntax, object?[]? messageArgs = null) => ReportDiagnostic(context, descriptor, properties, syntax.GetLocation(), messageArgs); - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, SyntaxToken token, string?[]? messageArgs = null) => ReportDiagnostic(context, descriptor, ImmutableDictionary.Empty, token.GetLocation(), messageArgs); - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxToken syntaxToken, params string?[]? messageArgs) + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, SyntaxToken token, object?[]? messageArgs = null) => ReportDiagnostic(context, descriptor, ImmutableDictionary.Empty, token.GetLocation(), messageArgs); + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxToken syntaxToken, params object?[]? messageArgs) { context.ReportDiagnostic(CreateDiagnostic(descriptor, syntaxToken.GetLocation(), properties, messageArgs)); } - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ISymbol symbol, string?[]? messageArgs = null) => ReportDiagnostic(context, descriptor, ImmutableDictionary.Empty, symbol, messageArgs); - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ISymbol symbol, string?[]? messageArgs = null) + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ISymbol symbol, object?[]? messageArgs = null) => ReportDiagnostic(context, descriptor, ImmutableDictionary.Empty, symbol, messageArgs); + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ISymbol symbol, object?[]? messageArgs = null) { ReportDiagnostic(context, descriptor, properties, symbol.Locations, messageArgs); } - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, string?[]? messageArgs = null) => ReportDiagnostic(context, descriptor, ImmutableDictionary.Empty, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, string?[]? messageArgs = null) + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, object?[]? messageArgs = null) => ReportDiagnostic(context, descriptor, ImmutableDictionary.Empty, symbol, reportOptions, messageArgs); + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, object?[]? messageArgs = null) { List? locations = null; foreach (var location in symbol.Locations) @@ -84,8 +84,8 @@ public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticD ReportDiagnostic(context, descriptor, properties, locations ?? [], messageArgs); } - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, string?[]? messageArgs = null) => ReportDiagnostic(context, descriptor, ImmutableDictionary.Empty, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, string?[]? messageArgs = null) + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, object?[]? messageArgs = null) => ReportDiagnostic(context, descriptor, ImmutableDictionary.Empty, symbol, reportOptions, messageArgs); + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, object?[]? messageArgs = null) { List? locations = null; foreach (var location in symbol.Locations) @@ -113,8 +113,8 @@ public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticD ReportDiagnostic(context, descriptor, properties, locations ?? [], messageArgs); } - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, string?[]? messageArgs = null) => ReportDiagnostic(context, descriptor, ImmutableDictionary.Empty, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, string?[]? messageArgs = null) + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, object?[]? messageArgs = null) => ReportDiagnostic(context, descriptor, ImmutableDictionary.Empty, symbol, reportOptions, messageArgs); + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, object?[]? messageArgs = null) { List? locations = null; foreach (var location in symbol.Locations) @@ -136,8 +136,8 @@ public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticD ReportDiagnostic(context, descriptor, properties, locations ?? [], messageArgs); } - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, string?[]? messageArgs = null) => ReportDiagnostic(context, descriptor, ImmutableDictionary.Empty, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, string?[]? messageArgs = null) + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, object?[]? messageArgs = null) => ReportDiagnostic(context, descriptor, ImmutableDictionary.Empty, symbol, reportOptions, messageArgs); + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, object?[]? messageArgs = null) { List? locations = null; foreach (var location in symbol.Locations) @@ -165,12 +165,12 @@ public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticD ReportDiagnostic(context, descriptor, properties, locations ?? [], messageArgs); } - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, IOperation operation, string?[]? messageArgs = null) + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, IOperation operation, object?[]? messageArgs = null) => ReportDiagnostic(context, descriptor, ImmutableDictionary.Empty, operation, messageArgs); - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IOperation operation, string?[]? messageArgs = null) + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IOperation operation, object?[]? messageArgs = null) => context.ReportDiagnostic(CreateDiagnostic(descriptor, operation.Syntax.GetLocation(), properties, messageArgs)); - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ILocalFunctionOperation operation, DiagnosticMethodReportOptions options, string?[]? messageArgs = null) + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ILocalFunctionOperation operation, DiagnosticMethodReportOptions options, object?[]? messageArgs = null) { if (options.HasFlag(DiagnosticMethodReportOptions.ReportOnMethodName) && operation.Syntax is LocalFunctionStatementSyntax memberAccessExpression) { @@ -187,7 +187,7 @@ public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticD context.ReportDiagnostic(descriptor, properties, operation, messageArgs); } - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params string?[]? messageArgs) + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params object?[]? messageArgs) { TextSpan? span = null; @@ -224,12 +224,12 @@ void SetSpan(TextSpan newSpan) } } - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, AttributeData attribute, params string?[]? messageArgs) + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, AttributeData attribute, params object?[]? messageArgs) { ReportDiagnostic(context, descriptor, ImmutableDictionary.Empty, attribute, messageArgs); } - public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, AttributeData attribute, params string?[]? messageArgs) + public static void ReportDiagnostic(this DiagnosticReporter context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, AttributeData attribute, params object?[]? messageArgs) { if (attribute.ApplicationSyntaxReference is not null) { diff --git a/src/Meziantou.Analyzer/Internals/ContextExtensions.g.cs b/src/Meziantou.Analyzer/Internals/ContextExtensions.g.cs index a7a45d2d9..5cac3c719 100644 --- a/src/Meziantou.Analyzer/Internals/ContextExtensions.g.cs +++ b/src/Meziantou.Analyzer/Internals/ContextExtensions.g.cs @@ -9,399 +9,394 @@ namespace Meziantou.Analyzer.Internals; internal static partial class ContextExtensions { + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, IEnumerable locations, object?[]? messageArgs = null) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, locations, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, IEnumerable locations, string?[]? messageArgs = null) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, locations, messageArgs); + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IEnumerable locations, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, locations, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IEnumerable locations, params string?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, locations, messageArgs); - - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxToken syntaxToken, params string?[]? messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxToken syntaxToken, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, syntaxToken, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxToken syntaxToken, params string?[]? messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxToken syntaxToken, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, syntaxToken, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxNode syntaxNode, params string?[]? messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxNode syntaxNode, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, syntaxNode, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxNode syntaxNode, params string?[]? messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxNode syntaxNode, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, syntaxNode, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ISymbol symbol, params string?[]? messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ISymbol symbol, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, ImmutableDictionary.Empty, symbol, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ISymbol symbol, params string?[]? messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ISymbol symbol, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, Location location, params string?[]? messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, Location location, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, location, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, Location location, params string?[]? messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, Location location, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, location, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxReference syntaxReference, params string?[]? messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxReference syntaxReference, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, syntaxReference, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxReference syntaxReference, params string?[]? messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxReference syntaxReference, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, syntaxReference, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params string?[] messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties: null, operation, options, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params string?[] messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, operation, options, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ILocalFunctionOperation operation, DiagnosticMethodReportOptions options, params string?[] messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ILocalFunctionOperation operation, DiagnosticMethodReportOptions options, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, operation, options, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, IOperation operation, params string?[] messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, IOperation operation, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, operation, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IOperation operation, params string?[] messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IOperation operation, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, operation, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, AttributeData attribute, params string?[]? messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, AttributeData attribute, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, attribute, messageArgs); - public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, AttributeData attribute, params string?[]? messageArgs) + public static void ReportDiagnostic(this SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, AttributeData attribute, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, attribute, messageArgs); + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, IEnumerable locations, object?[]? messageArgs = null) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, locations, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, IEnumerable locations, string?[]? messageArgs = null) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, locations, messageArgs); - - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IEnumerable locations, params string?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, locations, messageArgs); + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IEnumerable locations, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, locations, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxToken syntaxToken, params string?[]? messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxToken syntaxToken, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, syntaxToken, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxToken syntaxToken, params string?[]? messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxToken syntaxToken, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, syntaxToken, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxNode syntaxNode, params string?[]? messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxNode syntaxNode, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, syntaxNode, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxNode syntaxNode, params string?[]? messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxNode syntaxNode, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, syntaxNode, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ISymbol symbol, params string?[]? messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ISymbol symbol, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, ImmutableDictionary.Empty, symbol, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ISymbol symbol, params string?[]? messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ISymbol symbol, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, Location location, params string?[]? messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, Location location, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, location, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, Location location, params string?[]? messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, Location location, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, location, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxReference syntaxReference, params string?[]? messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxReference syntaxReference, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, syntaxReference, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxReference syntaxReference, params string?[]? messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxReference syntaxReference, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, syntaxReference, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params string?[] messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties: null, operation, options, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params string?[] messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, operation, options, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ILocalFunctionOperation operation, DiagnosticMethodReportOptions options, params string?[] messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ILocalFunctionOperation operation, DiagnosticMethodReportOptions options, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, operation, options, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, IOperation operation, params string?[] messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, IOperation operation, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, operation, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IOperation operation, params string?[] messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IOperation operation, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, operation, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, AttributeData attribute, params string?[]? messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, AttributeData attribute, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, attribute, messageArgs); - public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, AttributeData attribute, params string?[]? messageArgs) + public static void ReportDiagnostic(this SymbolAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, AttributeData attribute, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, attribute, messageArgs); + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, IEnumerable locations, object?[]? messageArgs = null) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, locations, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, IEnumerable locations, string?[]? messageArgs = null) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, locations, messageArgs); - - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IEnumerable locations, params string?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, locations, messageArgs); + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IEnumerable locations, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, locations, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxToken syntaxToken, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxToken syntaxToken, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, syntaxToken, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxToken syntaxToken, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxToken syntaxToken, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, syntaxToken, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxNode syntaxNode, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxNode syntaxNode, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, syntaxNode, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxNode syntaxNode, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxNode syntaxNode, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, syntaxNode, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ISymbol symbol, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ISymbol symbol, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, ImmutableDictionary.Empty, symbol, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ISymbol symbol, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ISymbol symbol, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, Location location, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, Location location, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, location, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, Location location, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, Location location, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, location, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxReference syntaxReference, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxReference syntaxReference, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, syntaxReference, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxReference syntaxReference, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxReference syntaxReference, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, syntaxReference, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params string?[] messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties: null, operation, options, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params string?[] messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, operation, options, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ILocalFunctionOperation operation, DiagnosticMethodReportOptions options, params string?[] messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ILocalFunctionOperation operation, DiagnosticMethodReportOptions options, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, operation, options, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, IOperation operation, params string?[] messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, IOperation operation, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, operation, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IOperation operation, params string?[] messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IOperation operation, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, operation, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, AttributeData attribute, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, AttributeData attribute, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, attribute, messageArgs); - public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, AttributeData attribute, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, AttributeData attribute, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, attribute, messageArgs); + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, IEnumerable locations, object?[]? messageArgs = null) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, locations, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, IEnumerable locations, string?[]? messageArgs = null) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, locations, messageArgs); + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IEnumerable locations, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, locations, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IEnumerable locations, params string?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, locations, messageArgs); - - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxToken syntaxToken, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxToken syntaxToken, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, syntaxToken, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxToken syntaxToken, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxToken syntaxToken, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, syntaxToken, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxNode syntaxNode, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxNode syntaxNode, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, syntaxNode, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxNode syntaxNode, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxNode syntaxNode, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, syntaxNode, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ISymbol symbol, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ISymbol symbol, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, ImmutableDictionary.Empty, symbol, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ISymbol symbol, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ISymbol symbol, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, Location location, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, Location location, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, location, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, Location location, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, Location location, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, location, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxReference syntaxReference, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxReference syntaxReference, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, syntaxReference, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxReference syntaxReference, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxReference syntaxReference, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, syntaxReference, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params string?[] messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties: null, operation, options, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params string?[] messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, operation, options, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ILocalFunctionOperation operation, DiagnosticMethodReportOptions options, params string?[] messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ILocalFunctionOperation operation, DiagnosticMethodReportOptions options, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, operation, options, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, IOperation operation, params string?[] messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, IOperation operation, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, operation, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IOperation operation, params string?[] messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IOperation operation, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, operation, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, AttributeData attribute, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, AttributeData attribute, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, attribute, messageArgs); - public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, AttributeData attribute, params string?[]? messageArgs) + public static void ReportDiagnostic(this OperationBlockAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, AttributeData attribute, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, attribute, messageArgs); + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, IEnumerable locations, object?[]? messageArgs = null) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, locations, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, IEnumerable locations, string?[]? messageArgs = null) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, locations, messageArgs); - - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IEnumerable locations, params string?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, locations, messageArgs); + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IEnumerable locations, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, locations, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxToken syntaxToken, params string?[]? messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxToken syntaxToken, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, syntaxToken, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxToken syntaxToken, params string?[]? messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxToken syntaxToken, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, syntaxToken, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxNode syntaxNode, params string?[]? messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxNode syntaxNode, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, syntaxNode, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxNode syntaxNode, params string?[]? messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxNode syntaxNode, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, syntaxNode, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ISymbol symbol, params string?[]? messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ISymbol symbol, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, ImmutableDictionary.Empty, symbol, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ISymbol symbol, params string?[]? messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ISymbol symbol, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, Location location, params string?[]? messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, Location location, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, location, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, Location location, params string?[]? messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, Location location, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, location, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxReference syntaxReference, params string?[]? messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, SyntaxReference syntaxReference, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, syntaxReference, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxReference syntaxReference, params string?[]? messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxReference syntaxReference, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, syntaxReference, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params string?[] messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties: null, operation, options, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params string?[] messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, operation, options, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ILocalFunctionOperation operation, DiagnosticMethodReportOptions options, params string?[] messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ILocalFunctionOperation operation, DiagnosticMethodReportOptions options, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, operation, options, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, IOperation operation, params string?[] messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, IOperation operation, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, operation, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IOperation operation, params string?[] messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IOperation operation, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, operation, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, AttributeData attribute, params string?[]? messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, AttributeData attribute, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, attribute, messageArgs); - public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, AttributeData attribute, params string?[]? messageArgs) + public static void ReportDiagnostic(this CompilationAnalysisContext context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, AttributeData attribute, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, attribute, messageArgs); } diff --git a/src/Meziantou.Analyzer/Internals/ContextExtensions.tt b/src/Meziantou.Analyzer/Internals/ContextExtensions.tt index 0597906a0..52eeda2a0 100644 --- a/src/Meziantou.Analyzer/Internals/ContextExtensions.tt +++ b/src/Meziantou.Analyzer/Internals/ContextExtensions.tt @@ -14,83 +14,83 @@ namespace Meziantou.Analyzer.Internals; internal static partial class ContextExtensions { <# foreach (string type in new string[] { "SyntaxNodeAnalysisContext", "SymbolAnalysisContext", "OperationAnalysisContext", "OperationBlockAnalysisContext", "CompilationAnalysisContext" }) { #> - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, IEnumerable locations, string?[]? messageArgs = null) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, locations, messageArgs); + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, IEnumerable locations, object?[]? messageArgs = null) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, locations, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IEnumerable locations, params string?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, locations, messageArgs); + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IEnumerable locations, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, locations, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, SyntaxToken syntaxToken, params string?[]? messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, SyntaxToken syntaxToken, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, syntaxToken, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxToken syntaxToken, params string?[]? messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxToken syntaxToken, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, syntaxToken, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, SyntaxNode syntaxNode, params string?[]? messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, SyntaxNode syntaxNode, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, syntaxNode, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxNode syntaxNode, params string?[]? messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxNode syntaxNode, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, syntaxNode, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ISymbol symbol, params string?[]? messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ISymbol symbol, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, ImmutableDictionary.Empty, symbol, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ISymbol symbol, params string?[]? messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ISymbol symbol, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IFieldSymbol symbol, DiagnosticFieldReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IMethodSymbol symbol, DiagnosticMethodReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IParameterSymbol symbol, DiagnosticParameterReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, params string?[]? messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IPropertySymbol symbol, DiagnosticPropertyReportOptions reportOptions, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, symbol, reportOptions, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, Location location, params string?[]? messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, Location location, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, location, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, Location location, params string?[]? messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, Location location, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, location, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, SyntaxReference syntaxReference, params string?[]? messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, SyntaxReference syntaxReference, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, syntaxReference, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxReference syntaxReference, params string?[]? messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, SyntaxReference syntaxReference, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, syntaxReference, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params string?[] messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties: null, operation, options, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params string?[] messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IInvocationOperation operation, DiagnosticInvocationReportOptions options, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, operation, options, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ILocalFunctionOperation operation, DiagnosticMethodReportOptions options, params string?[] messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, ILocalFunctionOperation operation, DiagnosticMethodReportOptions options, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, operation, options, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, IOperation operation, params string?[] messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, IOperation operation, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, operation, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IOperation operation, params string?[] messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, IOperation operation, params object?[] messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, operation, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, AttributeData attribute, params string?[]? messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, AttributeData attribute, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, attribute, messageArgs); - public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, AttributeData attribute, params string?[]? messageArgs) + public static void ReportDiagnostic(this <#= type #> context, DiagnosticDescriptor descriptor, ImmutableDictionary? properties, AttributeData attribute, params object?[]? messageArgs) => ReportDiagnostic(new DiagnosticReporter(context), descriptor, properties, attribute, messageArgs); <# } #> } diff --git a/src/Meziantou.Analyzer/Internals/TimeSpanOperation.cs b/src/Meziantou.Analyzer/Internals/TimeSpanOperation.cs index 8b424cd89..bdda8bb09 100644 --- a/src/Meziantou.Analyzer/Internals/TimeSpanOperation.cs +++ b/src/Meziantou.Analyzer/Internals/TimeSpanOperation.cs @@ -129,7 +129,7 @@ internal static class TimeSpanOperation return null; - static long? AddValues(params long?[] values) + static long? AddValues(params ReadOnlySpan values) { var result = 0L; foreach (var value in values) diff --git a/src/Meziantou.Analyzer/Internals/TypeSymbolExtensions.cs b/src/Meziantou.Analyzer/Internals/TypeSymbolExtensions.cs index 48c60b333..9063433bb 100755 --- a/src/Meziantou.Analyzer/Internals/TypeSymbolExtensions.cs +++ b/src/Meziantou.Analyzer/Internals/TypeSymbolExtensions.cs @@ -111,12 +111,18 @@ public static bool IsOrInheritFrom(this ITypeSymbol symbol, ITypeSymbol? expecte return symbol.IsEqualTo(expectedType) || (!expectedType.IsSealed && symbol.InheritsFrom(expectedType)); } - public static bool IsEqualToAny(this ITypeSymbol? symbol, params ITypeSymbol?[]? expectedTypes) + public static bool IsEqualToAny(this ITypeSymbol? symbol, params ReadOnlySpan expectedTypes) { - if (symbol is null || expectedTypes is null) + if (symbol is null || expectedTypes.IsEmpty) return false; - return expectedTypes.Any(t => t.IsEqualTo(symbol)); + foreach (var expectedType in expectedTypes) + { + if (expectedType is not null && symbol.IsEqualTo(expectedType)) + return true; + } + + return false; } public static bool IsEqualToAny(this ITypeSymbol? symbol, ITypeSymbol? expectedType1) diff --git a/src/Meziantou.Analyzer/NullableAttributes.cs b/src/Meziantou.Analyzer/NullableAttributes.cs deleted file mode 100644 index 15bfb0fd2..000000000 --- a/src/Meziantou.Analyzer/NullableAttributes.cs +++ /dev/null @@ -1,201 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -#pragma warning disable -#if NETSTANDARD2_0 || NET461 -namespace System.Diagnostics.CodeAnalysis -{ - /// Specifies that null is allowed as an input even if the corresponding type disallows it. - [AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property, Inherited = false)] -#if SYSTEM_PRIVATE_CORELIB - public -#else - internal -#endif - sealed class AllowNullAttribute : Attribute - { } - - /// Specifies that null is disallowed as an input even if the corresponding type allows it. - [AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property, Inherited = false)] -#if SYSTEM_PRIVATE_CORELIB - public -#else - internal -#endif - sealed class DisallowNullAttribute : Attribute - { } - - /// Specifies that an output may be null even if the corresponding type disallows it. - [AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.ReturnValue, Inherited = false)] -#if SYSTEM_PRIVATE_CORELIB - public -#else - internal -#endif - sealed class MaybeNullAttribute : Attribute - { } - - /// Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. - [AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.ReturnValue, Inherited = false)] -#if SYSTEM_PRIVATE_CORELIB - public -#else - internal -#endif - sealed class NotNullAttribute : Attribute - { } - - /// Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. - [AttributeUsage(AttributeTargets.Parameter, Inherited = false)] -#if SYSTEM_PRIVATE_CORELIB - public -#else - internal -#endif - sealed class MaybeNullWhenAttribute : Attribute - { - /// Initializes the attribute with the specified return value condition. - /// - /// The return value condition. If the method returns this value, the associated parameter may be null. - /// - public MaybeNullWhenAttribute(bool returnValue) => ReturnValue = returnValue; - - /// Gets the return value condition. - public bool ReturnValue { get; } - } - - /// Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. - [AttributeUsage(AttributeTargets.Parameter, Inherited = false)] -#if SYSTEM_PRIVATE_CORELIB - public -#else - internal -#endif - sealed class NotNullWhenAttribute : Attribute - { - /// Initializes the attribute with the specified return value condition. - /// - /// The return value condition. If the method returns this value, the associated parameter will not be null. - /// - public NotNullWhenAttribute(bool returnValue) => ReturnValue = returnValue; - - /// Gets the return value condition. - public bool ReturnValue { get; } - } - - /// Specifies that the output will be non-null if the named parameter is non-null. - [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.ReturnValue, AllowMultiple = true, Inherited = false)] -#if SYSTEM_PRIVATE_CORELIB - public -#else - internal -#endif - sealed class NotNullIfNotNullAttribute : Attribute - { - /// Initializes the attribute with the associated parameter name. - /// - /// The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. - /// - public NotNullIfNotNullAttribute(string parameterName) => ParameterName = parameterName; - - /// Gets the associated parameter name. - public string ParameterName { get; } - } - - /// Applied to a method that will never return under any circumstance. - [AttributeUsage(AttributeTargets.Method, Inherited = false)] -#if SYSTEM_PRIVATE_CORELIB - public -#else - internal -#endif - sealed class DoesNotReturnAttribute : Attribute - { } - - /// Specifies that the method will not return if the associated Boolean parameter is passed the specified value. - [AttributeUsage(AttributeTargets.Parameter, Inherited = false)] -#if SYSTEM_PRIVATE_CORELIB - public -#else - internal -#endif - sealed class DoesNotReturnIfAttribute : Attribute - { - /// Initializes the attribute with the specified parameter value. - /// - /// The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to - /// the associated parameter matches this value. - /// - public DoesNotReturnIfAttribute(bool parameterValue) => ParameterValue = parameterValue; - - /// Gets the condition parameter value. - public bool ParameterValue { get; } - } - - /// Specifies that the method or property will ensure that the listed field and property members have not-null values. - [AttributeUsage(AttributeTargets.Method | AttributeTargets.Property, Inherited = false, AllowMultiple = true)] -#if SYSTEM_PRIVATE_CORELIB - public -#else - internal -#endif - sealed class MemberNotNullAttribute : Attribute - { - /// Initializes the attribute with a field or property member. - /// - /// The field or property member that is promised to be not-null. - /// - public MemberNotNullAttribute(string member) => Members = new[] { member }; - - /// Initializes the attribute with the list of field and property members. - /// - /// The list of field and property members that are promised to be not-null. - /// - public MemberNotNullAttribute(params string[] members) => Members = members; - - /// Gets field or property member names. - public string[] Members { get; } - } - - /// Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. - [AttributeUsage(AttributeTargets.Method | AttributeTargets.Property, Inherited = false, AllowMultiple = true)] -#if SYSTEM_PRIVATE_CORELIB - public -#else - internal -#endif - sealed class MemberNotNullWhenAttribute : Attribute - { - /// Initializes the attribute with the specified return value condition and a field or property member. - /// - /// The return value condition. If the method returns this value, the associated parameter will not be null. - /// - /// - /// The field or property member that is promised to be not-null. - /// - public MemberNotNullWhenAttribute(bool returnValue, string member) - { - ReturnValue = returnValue; - Members = new[] { member }; - } - - /// Initializes the attribute with the specified return value condition and list of field and property members. - /// - /// The return value condition. If the method returns this value, the associated parameter will not be null. - /// - /// - /// The list of field and property members that are promised to be not-null. - /// - public MemberNotNullWhenAttribute(bool returnValue, params string[] members) - { - ReturnValue = returnValue; - Members = members; - } - - /// Gets the return value condition. - public bool ReturnValue { get; } - - /// Gets field or property member names. - public string[] Members { get; } - } -} -#endif diff --git a/tests/Meziantou.Analyzer.Test/Rules/DotNotUseNameFromBCLAnalyzerTests.cs b/tests/Meziantou.Analyzer.Test/Rules/DotNotUseNameFromBCLAnalyzerTests.cs index 3be3c7d35..28b5daccc 100644 --- a/tests/Meziantou.Analyzer.Test/Rules/DotNotUseNameFromBCLAnalyzerTests.cs +++ b/tests/Meziantou.Analyzer.Test/Rules/DotNotUseNameFromBCLAnalyzerTests.cs @@ -18,10 +18,10 @@ private static ProjectBuilder CreateProjectBuilder() [InlineData("String")] public async Task ReportDiagnostic(string typeName) { - var genericStart = typeName.IndexOf('<'); - var markedTypeName = genericStart >= 0 - ? "[|" + typeName[..genericStart] + "|]" + typeName[genericStart..] - : "[|" + typeName + "|]"; + var genericStart = typeName.IndexOf('<', StringComparison.Ordinal); + var markedTypeName = genericStart >= 0 + ? "[|" + typeName[..genericStart] + "|]" + typeName[genericStart..] + : "[|" + typeName + "|]"; await CreateProjectBuilder() .AddAnalyzerConfiguration("MA0104.use_preview_types", "true") @@ -36,10 +36,10 @@ await CreateProjectBuilder() [InlineData("String")] public async Task ReportDiagnostic_UsePreviewTypes(string typeName) { - var genericStart = typeName.IndexOf('<'); - var markedTypeName = genericStart >= 0 - ? "[|" + typeName[..genericStart] + "|]" + typeName[genericStart..] - : "[|" + typeName + "|]"; + var genericStart = typeName.IndexOf('<', StringComparison.Ordinal); + var markedTypeName = genericStart >= 0 + ? "[|" + typeName[..genericStart] + "|]" + typeName[genericStart..] + : "[|" + typeName + "|]"; await CreateProjectBuilder() .WithSourceCode("public class " + markedTypeName + " { }") diff --git a/tests/Meziantou.Analyzer.Test/Rules/UsePartialPropertyInsteadOfPartialMethodForGeneratedRegexAnalyzerTests.cs b/tests/Meziantou.Analyzer.Test/Rules/UsePartialPropertyInsteadOfPartialMethodForGeneratedRegexAnalyzerTests.cs index 8175d3a42..70efcd6e2 100644 --- a/tests/Meziantou.Analyzer.Test/Rules/UsePartialPropertyInsteadOfPartialMethodForGeneratedRegexAnalyzerTests.cs +++ b/tests/Meziantou.Analyzer.Test/Rules/UsePartialPropertyInsteadOfPartialMethodForGeneratedRegexAnalyzerTests.cs @@ -82,7 +82,7 @@ partial class Sample [Fact] public async Task CodeFix_ConvertsMethodToProperty() { - const string sourceCode = """ + const string SourceCode = """ using System.Text.RegularExpressions; partial class Sample @@ -92,7 +92,7 @@ partial class Sample } """; - const string expectedFix = """ + const string ExpectedFix = """ using System.Text.RegularExpressions; partial class Sample @@ -103,15 +103,15 @@ partial class Sample """; await CreateProjectBuilder() - .WithSourceCode(sourceCode) - .ShouldFixCodeWith(expectedFix) + .WithSourceCode(SourceCode) + .ShouldFixCodeWith(ExpectedFix) .ValidateAsync(); } [Fact] public async Task CodeFix_ConvertsMethodToProperty_WithTimeout() { - const string sourceCode = """ + const string SourceCode = """ using System.Text.RegularExpressions; using System.Threading; @@ -122,7 +122,7 @@ partial class Sample } """; - const string expectedFix = """ + const string ExpectedFix = """ using System.Text.RegularExpressions; using System.Threading; @@ -134,15 +134,15 @@ partial class Sample """; await CreateProjectBuilder() - .WithSourceCode(sourceCode) - .ShouldFixCodeWith(expectedFix) + .WithSourceCode(SourceCode) + .ShouldFixCodeWith(ExpectedFix) .ValidateAsync(); } [Fact] public async Task CodeFix_ReplacesInvocationsWithPropertyAccess() { - const string sourceCode = """ + const string SourceCode = """ using System.Text.RegularExpressions; partial class Sample @@ -157,7 +157,7 @@ void M() } """; - const string expectedFix = """ + const string ExpectedFix = """ using System.Text.RegularExpressions; partial class Sample @@ -173,15 +173,15 @@ void M() """; await CreateProjectBuilder() - .WithSourceCode(sourceCode) - .ShouldFixCodeWith(expectedFix) + .WithSourceCode(SourceCode) + .ShouldFixCodeWith(ExpectedFix) .ValidateAsync(); } [Fact] public async Task CodeFix_ReplacesMultipleInvocationsWithPropertyAccess() { - const string sourceCode = """ + const string SourceCode = """ using System.Text.RegularExpressions; partial class Sample @@ -197,7 +197,7 @@ void M() } """; - const string expectedFix = """ + const string ExpectedFix = """ using System.Text.RegularExpressions; partial class Sample @@ -214,8 +214,8 @@ void M() """; await CreateProjectBuilder() - .WithSourceCode(sourceCode) - .ShouldFixCodeWith(expectedFix) + .WithSourceCode(SourceCode) + .ShouldFixCodeWith(ExpectedFix) .ValidateAsync(); } #endif