Skip to content

Commit 2a1885b

Browse files
committed
Replace strings with constants & Improve code quality
1 parent f212528 commit 2a1885b

File tree

3 files changed

+17
-15
lines changed

3 files changed

+17
-15
lines changed

Flow.Launcher.Localization.Analyzers/Localize/OldGetTranslateAnalyzer.cs

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.Collections.Immutable;
22
using System.Linq;
3+
using Flow.Launcher.Localization.Shared;
34
using Microsoft.CodeAnalysis;
45
using Microsoft.CodeAnalysis.CSharp;
56
using Microsoft.CodeAnalysis.CSharp.Syntax;
@@ -10,14 +11,9 @@ namespace Flow.Launcher.Localization.Analyzers.Localize
1011
[DiagnosticAnalyzer(LanguageNames.CSharp)]
1112
public class OldGetTranslateAnalyzer : DiagnosticAnalyzer
1213
{
13-
public override ImmutableArray<DiagnosticDescriptor> SupportedDiagnostics =>
14-
ImmutableArray.Create(AnalyzerDiagnostics.OldLocalizationApiUsed);
15-
16-
private static readonly string[] oldLocalizationClasses = { "IPublicAPI", "Internationalization" };
17-
private const string OldLocalizationMethodName = "GetTranslation";
18-
19-
private const string StringFormatMethodName = "Format";
20-
private const string StringFormatTypeName = "string";
14+
public override ImmutableArray<DiagnosticDescriptor> SupportedDiagnostics => ImmutableArray.Create(
15+
AnalyzerDiagnostics.OldLocalizationApiUsed
16+
);
2117

2218
public override void Initialize(AnalysisContext context)
2319
{
@@ -75,20 +71,20 @@ private static bool IsFormatStringCall(SymbolInfo? symbolInfo) =>
7571
symbolInfo is SymbolInfo info && IsFormatStringCall(info.Symbol as IMethodSymbol);
7672

7773
private static bool IsFormatStringCall(IMethodSymbol methodSymbol) =>
78-
methodSymbol?.Name is StringFormatMethodName &&
79-
methodSymbol.ContainingType.ToDisplayString() is StringFormatTypeName;
74+
methodSymbol?.Name is Constants.StringFormatMethodName &&
75+
methodSymbol.ContainingType.ToDisplayString() is Constants.StringFormatTypeName;
8076

8177
private static InvocationExpressionSyntax GetFirstArgumentInvocationExpression(InvocationExpressionSyntax invocationExpr) =>
8278
invocationExpr.ArgumentList.Arguments.FirstOrDefault()?.Expression as InvocationExpressionSyntax;
8379

8480
private static bool IsTranslateCall(SymbolInfo symbolInfo) =>
8581
symbolInfo.Symbol is IMethodSymbol innerMethodSymbol &&
86-
innerMethodSymbol.Name is OldLocalizationMethodName &&
87-
oldLocalizationClasses.Contains(innerMethodSymbol.ContainingType.Name);
82+
innerMethodSymbol.Name is Constants.OldLocalizationMethodName &&
83+
Constants.OldLocalizationClasses.Contains(innerMethodSymbol.ContainingType.Name);
8884

8985
private static bool IsTranslateCall(IMethodSymbol methodSymbol) =>
90-
methodSymbol?.Name is OldLocalizationMethodName &&
91-
oldLocalizationClasses.Contains(methodSymbol.ContainingType.Name);
86+
methodSymbol?.Name is Constants.OldLocalizationMethodName &&
87+
Constants.OldLocalizationClasses.Contains(methodSymbol.ContainingType.Name);
9288

9389
private static string GetFirstArgumentStringValue(InvocationExpressionSyntax invocationExpr)
9490
{

Flow.Launcher.Localization.Analyzers/Localize/OldGetTranslateAnalyzerCodeFixProvider.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ namespace Flow.Launcher.Localization.Analyzers.Localize
1414
[ExportCodeFixProvider(LanguageNames.CSharp, Name = nameof(OldGetTranslateAnalyzerCodeFixProvider)), Shared]
1515
public class OldGetTranslateAnalyzerCodeFixProvider : CodeFixProvider
1616
{
17-
public sealed override ImmutableArray<string> FixableDiagnosticIds => ImmutableArray.Create(AnalyzerDiagnostics.OldLocalizationApiUsed.Id);
17+
public sealed override ImmutableArray<string> FixableDiagnosticIds => ImmutableArray.Create(
18+
AnalyzerDiagnostics.OldLocalizationApiUsed.Id
19+
);
1820

1921
public sealed override FixAllProvider GetFixAllProvider()
2022
{

Flow.Launcher.Localization.Shared/Constants.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ public static class Constants
1717
public const string IndexAttribute = "index";
1818
public const string NameAttribute = "name";
1919
public const string TypeAttribute = "type";
20+
public const string OldLocalizationMethodName = "GetTranslation";
21+
public const string StringFormatMethodName = "Format";
22+
public const string StringFormatTypeName = "string";
2023

2124
public static readonly Regex LanguagesXamlRegex = new Regex(@"\\Languages\\[^\\]+\.xaml$", RegexOptions.IgnoreCase);
25+
public static readonly string[] OldLocalizationClasses = { "IPublicAPI", "Internationalization" };
2226
}
2327
}

0 commit comments

Comments
 (0)