Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
josefpihrt committed Dec 26, 2023
1 parent 46fec92 commit 7cee5ab
Show file tree
Hide file tree
Showing 18 changed files with 180 additions and 180 deletions.
2 changes: 1 addition & 1 deletion ChangeLog.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Option (required): `roslynator_blank_line_between_switch_sections = include|omit|omit_after_block`
- Make analyzer [RCS0014](https://josefpihrt.github.io/docs/roslynator/analyzers/RCS0014) obsolete
- Add analyzer "Declare explicit/implicit type" ([RCS1264](https://josefpihrt.github.io/docs/roslynator/analyzers/RCS1264)) ([PR](https://github.com/dotnet/roslynator/pull/1335))
- Option (required): `roslynator_type_style = explicit | implicit | implicit_when_type_obvious`
- Option (required): `roslynator_use_var = always | never | when_type_obvious`
- This analyzer consolidate following analyzers (which are made obsolete):
- [RCS1008](https://josefpihrt.github.io/docs/roslynator/analyzers/RCS1008)
- [RCS1009](https://josefpihrt.github.io/docs/roslynator/analyzers/RCS1009)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@

namespace Roslynator.CSharp.CodeFixes;

[ExportCodeFixProvider(LanguageNames.CSharp, Name = nameof(DeclareExplicitOrImplicitTypeCodeFixProvider))]
[ExportCodeFixProvider(LanguageNames.CSharp, Name = nameof(UseVarOrExplicitTypeCodeFixProvider))]
[Shared]
public sealed class DeclareExplicitOrImplicitTypeCodeFixProvider : BaseCodeFixProvider
public sealed class UseVarOrExplicitTypeCodeFixProvider : BaseCodeFixProvider
{
public override ImmutableArray<string> FixableDiagnosticIds
{
get { return ImmutableArray.Create(DiagnosticIdentifiers.DeclareExplicitOrImplicitType); }
get { return ImmutableArray.Create(DiagnosticIdentifiers.UseVarOrExplicitType); }
}

public override async Task RegisterCodeFixesAsync(CodeFixContext context)
Expand Down
8 changes: 4 additions & 4 deletions src/Analyzers.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7647,13 +7647,13 @@ public string Foo(string bar)
</Analyzer>
<Analyzer>
<Id>RCS1264</Id>
<Identifier>DeclareExplicitOrImplicitType</Identifier>
<Title>Declare explicit/implicit type</Title>
<MessageFormat>Use {0} type</MessageFormat>
<Identifier>UseVarOrExplicitType</Identifier>
<Title>Use 'var' or explicit type</Title>
<MessageFormat>{0}</MessageFormat>
<DefaultSeverity>Info</DefaultSeverity>
<IsEnabledByDefault>false</IsEnabledByDefault>
<ConfigOptions>
<Option Key="type_style" IsRequired="true" />
<Option Key="use_var" IsRequired="true" />
</ConfigOptions>
</Analyzer>
<Analyzer>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
namespace Roslynator.CSharp.Analysis;

[DiagnosticAnalyzer(LanguageNames.CSharp)]
public sealed class DeclareExplicitOrImplicitTypeAnalyzer : BaseDiagnosticAnalyzer
public sealed class UseVarOrExplicitTypeAnalyzer : BaseDiagnosticAnalyzer
{
private static ImmutableArray<DiagnosticDescriptor> _supportedDiagnostics;

Expand All @@ -19,7 +19,7 @@ public override ImmutableArray<DiagnosticDescriptor> SupportedDiagnostics
get
{
if (_supportedDiagnostics.IsDefault)
Immutable.InterlockedInitialize(ref _supportedDiagnostics, DiagnosticRules.DeclareExplicitOrImplicitType);
Immutable.InterlockedInitialize(ref _supportedDiagnostics, DiagnosticRules.UseVarOrExplicitType);

return _supportedDiagnostics;
}
Expand Down Expand Up @@ -175,18 +175,18 @@ private static void ReportExplicitToImplicit(SyntaxNodeAnalysisContext context,
{
DiagnosticHelpers.ReportDiagnostic(
context,
DiagnosticRules.DeclareExplicitOrImplicitType,
DiagnosticRules.UseVarOrExplicitType,
node.GetLocation(),
"implicit");
"Use 'var' instead of explicit type");
}

private static void ReportImplicitToExplicit(SyntaxNodeAnalysisContext context, SyntaxNode node)
{
DiagnosticHelpers.ReportDiagnostic(
context,
DiagnosticRules.DeclareExplicitOrImplicitType,
DiagnosticRules.UseVarOrExplicitType,
node.GetLocation(),
"explicit");
"Use explicit type instead of 'var'");
}

private static bool IsPartOfTupleExpression(DeclarationExpressionSyntax declarationExpression)
Expand Down
2 changes: 1 addition & 1 deletion src/Analyzers/CSharp/DiagnosticIdentifiers.Generated.cs
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,6 @@ public static partial class DiagnosticIdentifiers
public const string DisposeResourceAsynchronously = "RCS1261";
public const string UnnecessaryRawStringLiteral = "RCS1262";
public const string InvalidReferenceInDocumentationComment = "RCS1263";
public const string DeclareExplicitOrImplicitType = "RCS1264";
public const string UseVarOrExplicitType = "RCS1264";
}
}
10 changes: 5 additions & 5 deletions src/Analyzers/CSharp/DiagnosticRules.Generated.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2604,15 +2604,15 @@ public static partial class DiagnosticRules
customTags: Array.Empty<string>());

/// <summary>RCS1264</summary>
public static readonly DiagnosticDescriptor DeclareExplicitOrImplicitType = DiagnosticDescriptorFactory.Create(
id: DiagnosticIdentifiers.DeclareExplicitOrImplicitType,
title: "Declare explicit/implicit type",
messageFormat: "Use {0} type",
public static readonly DiagnosticDescriptor UseVarOrExplicitType = DiagnosticDescriptorFactory.Create(
id: DiagnosticIdentifiers.UseVarOrExplicitType,
title: "Use 'var' or explicit type",
messageFormat: "{0}",
category: DiagnosticCategories.Roslynator,
defaultSeverity: DiagnosticSeverity.Info,
isEnabledByDefault: false,
description: null,
helpLinkUri: DiagnosticIdentifiers.DeclareExplicitOrImplicitType,
helpLinkUri: DiagnosticIdentifiers.UseVarOrExplicitType,
customTags: Array.Empty<string>());

}
Expand Down
8 changes: 4 additions & 4 deletions src/Common/CSharp/Extensions/CodeStyleExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -449,17 +449,17 @@ public static TypeStyle GetTypeStyle(this SyntaxNodeAnalysisContext context)
{
AnalyzerConfigOptions configOptions = context.GetConfigOptions();

if (ConfigOptions.TryGetValue(configOptions, ConfigOptions.TypeStyle, out string rawValue))
if (ConfigOptions.TryGetValue(configOptions, ConfigOptions.UseVar, out string rawValue))
{
if (string.Equals(rawValue, ConfigOptionValues.TypeStyle_Implicit, StringComparison.OrdinalIgnoreCase))
if (string.Equals(rawValue, ConfigOptionValues.UseVar_Always, StringComparison.OrdinalIgnoreCase))
{
return TypeStyle.Implicit;
}
else if (string.Equals(rawValue, ConfigOptionValues.TypeStyle_Explicit, StringComparison.OrdinalIgnoreCase))
else if (string.Equals(rawValue, ConfigOptionValues.UseVar_Never, StringComparison.OrdinalIgnoreCase))
{
return TypeStyle.Explicit;
}
else if (string.Equals(rawValue, ConfigOptionValues.TypeStyle_ImplicitWhenTypeIsObvious, StringComparison.OrdinalIgnoreCase))
else if (string.Equals(rawValue, ConfigOptionValues.UseVar_WhenTypeIsObvious, StringComparison.OrdinalIgnoreCase))
{
return TypeStyle.ImplicitWhenTypeIsObvious;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Common/ConfigOptionKeys.Generated.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,12 @@ internal static partial class ConfigOptionKeys
public const string SuppressUnityScriptMethods = "roslynator_suppress_unity_script_methods";
public const string TabLength = "roslynator_tab_length";
public const string TrailingCommaStyle = "roslynator_trailing_comma_style";
public const string TypeStyle = "roslynator_type_style";
public const string UnityCodeAnalysisEnabled = "roslynator_unity_code_analysis.enabled";
public const string UseAnonymousFunctionOrMethodGroup = "roslynator_use_anonymous_function_or_method_group";
public const string UseBlockBodyWhenDeclarationSpansOverMultipleLines = "roslynator_use_block_body_when_declaration_spans_over_multiple_lines";
public const string UseBlockBodyWhenExpressionSpansOverMultipleLines = "roslynator_use_block_body_when_expression_spans_over_multiple_lines";
public const string UseCollectionExpression = "roslynator_use_collection_expression";
public const string UseVar = "roslynator_use_var";
public const string UseVarInsteadOfImplicitObjectCreation = "roslynator_use_var_instead_of_implicit_object_creation";
}
}
6 changes: 3 additions & 3 deletions src/Common/ConfigOptionValues.Generated.cs
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,10 @@ internal static partial class ConfigOptionValues
public const string TrailingCommaStyle_Include = "include";
public const string TrailingCommaStyle_Omit = "omit";
public const string TrailingCommaStyle_OmitWhenSingleLine = "omit_when_single_line";
public const string TypeStyle_Explicit = "explicit";
public const string TypeStyle_Implicit = "implicit";
public const string TypeStyle_ImplicitWhenTypeIsObvious = "implicit_when_type_is_obvious";
public const string UseAnonymousFunctionOrMethodGroup_AnonymousFunction = "anonymous_function";
public const string UseAnonymousFunctionOrMethodGroup_MethodGroup = "method_group";
public const string UseVar_Always = "always";
public const string UseVar_Never = "never";
public const string UseVar_WhenTypeIsObvious = "when_type_is_obvious";
}
}
14 changes: 7 additions & 7 deletions src/Common/ConfigOptions.Generated.cs
Original file line number Diff line number Diff line change
Expand Up @@ -202,12 +202,6 @@ public static partial class ConfigOptions
defaultValuePlaceholder: "include|omit|omit_when_single_line",
description: "Include/omit trailing comma in initializer or enum");

public static readonly ConfigOptionDescriptor TypeStyle = new(
key: ConfigOptionKeys.TypeStyle,
defaultValue: null,
defaultValuePlaceholder: "explicit|implicit|implicit_when_type_is_obvious",
description: "Prefer explicit/implicit type when declaring a variable");

public static readonly ConfigOptionDescriptor UnityCodeAnalysisEnabled = new(
key: ConfigOptionKeys.UnityCodeAnalysisEnabled,
defaultValue: null,
Expand Down Expand Up @@ -238,6 +232,12 @@ public static partial class ConfigOptions
defaultValuePlaceholder: "true|false",
description: "Use collection expression for array/collection creation");

public static readonly ConfigOptionDescriptor UseVar = new(
key: ConfigOptionKeys.UseVar,
defaultValue: null,
defaultValuePlaceholder: "always|never|when_type_is_obvious",
description: "Use 'var' insted of explicit type");

public static readonly ConfigOptionDescriptor UseVarInsteadOfImplicitObjectCreation = new(
key: ConfigOptionKeys.UseVarInsteadOfImplicitObjectCreation,
defaultValue: null,
Expand Down Expand Up @@ -274,7 +274,7 @@ public static partial class ConfigOptions
yield return new KeyValuePair<string, string>("RCS1253", JoinOptionKeys(ConfigOptionKeys.DocCommentSummaryStyle));
yield return new KeyValuePair<string, string>("RCS1254", JoinOptionKeys(ConfigOptionKeys.EnumFlagValueStyle));
yield return new KeyValuePair<string, string>("RCS1260", JoinOptionKeys(ConfigOptionKeys.TrailingCommaStyle));
yield return new KeyValuePair<string, string>("RCS1264", JoinOptionKeys(ConfigOptionKeys.TypeStyle));
yield return new KeyValuePair<string, string>("RCS1264", JoinOptionKeys(ConfigOptionKeys.UseVar));
}
}
}
10 changes: 5 additions & 5 deletions src/ConfigOptions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -229,12 +229,12 @@
<ValuePlaceholder>true|false</ValuePlaceholder>
<Description>Use collection expression for array/collection creation</Description>
</Option>
<Option Id="TypeStyle">
<Description>Prefer explicit/implicit type when declaring a variable</Description>
<Option Id="UseVar">
<Description>Use 'var' insted of explicit type</Description>
<Values>
<Value>explicit</Value>
<Value>implicit</Value>
<Value>implicit_when_type_is_obvious</Value>
<Value>always</Value>
<Value>never</Value>
<Value>when_type_is_obvious</Value>
</Values>
</Option>
<!--
Expand Down

0 comments on commit 7cee5ab

Please sign in to comment.