From 29c98566576876db413c2dbd2e5ac83dac90ece4 Mon Sep 17 00:00:00 2001 From: Cyrus Najmabadi Date: Fri, 11 Nov 2022 10:29:19 -0800 Subject: [PATCH 1/3] Make things more consistent --- src/Analyzers/Core/Analyzers/AnalyzersResources.resx | 7 ++----- ...AbstractUseCoalesceExpressionDiagnosticAnalyzer.cs | 7 ++++++- ...CoalesceExpressionForNullableDiagnosticAnalyzer.cs | 6 +++++- .../Core/Analyzers/xlf/AnalyzersResources.cs.xlf | 11 +++-------- .../Core/Analyzers/xlf/AnalyzersResources.de.xlf | 11 +++-------- .../Core/Analyzers/xlf/AnalyzersResources.es.xlf | 11 +++-------- .../Core/Analyzers/xlf/AnalyzersResources.fr.xlf | 11 +++-------- .../Core/Analyzers/xlf/AnalyzersResources.it.xlf | 11 +++-------- .../Core/Analyzers/xlf/AnalyzersResources.ja.xlf | 11 +++-------- .../Core/Analyzers/xlf/AnalyzersResources.ko.xlf | 11 +++-------- .../Core/Analyzers/xlf/AnalyzersResources.pl.xlf | 11 +++-------- .../Core/Analyzers/xlf/AnalyzersResources.pt-BR.xlf | 11 +++-------- .../Core/Analyzers/xlf/AnalyzersResources.ru.xlf | 11 +++-------- .../Core/Analyzers/xlf/AnalyzersResources.tr.xlf | 11 +++-------- .../Core/Analyzers/xlf/AnalyzersResources.zh-Hans.xlf | 11 +++-------- .../Core/Analyzers/xlf/AnalyzersResources.zh-Hant.xlf | 11 +++-------- .../UseCoalesceExpressionCodeFixProvider.cs | 2 +- ...UseCoalesceExpressionForNullableCodeFixProvider.cs | 2 +- 18 files changed, 54 insertions(+), 113 deletions(-) diff --git a/src/Analyzers/Core/Analyzers/AnalyzersResources.resx b/src/Analyzers/Core/Analyzers/AnalyzersResources.resx index 224b829319491..7c0e9510cc6f7 100644 --- a/src/Analyzers/Core/Analyzers/AnalyzersResources.resx +++ b/src/Analyzers/Core/Analyzers/AnalyzersResources.resx @@ -241,11 +241,8 @@ Convert to conditional expression - - Use coalesce expression for non-nullable types - - - Use coalesce expression for nullable types + + Use coalesce expression Changes to expression trees may result in behavior changes at runtime diff --git a/src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionDiagnosticAnalyzer.cs b/src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionDiagnosticAnalyzer.cs index cf3bc70260a1d..101fc4855b410 100644 --- a/src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionDiagnosticAnalyzer.cs +++ b/src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionDiagnosticAnalyzer.cs @@ -9,6 +9,11 @@ namespace Microsoft.CodeAnalysis.UseCoalesceExpression { + internal abstract class AbstractUseCoalesceExpressionForIfNullCheckDiagnosticAnalyzer + { + + } + /// /// Looks for code of the form "x == null ? y : x" and offers to convert it to "x ?? y"; /// @@ -26,7 +31,7 @@ protected AbstractUseCoalesceExpressionDiagnosticAnalyzer() : base(IDEDiagnosticIds.UseCoalesceExpressionDiagnosticId, EnforceOnBuildValues.UseCoalesceExpression, CodeStyleOptions2.PreferCoalesceExpression, - new LocalizableResourceString(nameof(AnalyzersResources.Use_coalesce_expression_for_non_nullable_types), AnalyzersResources.ResourceManager, typeof(AnalyzersResources)), + new LocalizableResourceString(nameof(AnalyzersResources.Use_coalesce_expression), AnalyzersResources.ResourceManager, typeof(AnalyzersResources)), new LocalizableResourceString(nameof(AnalyzersResources.Null_check_can_be_simplified), AnalyzersResources.ResourceManager, typeof(AnalyzersResources))) { } diff --git a/src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionForNullableDiagnosticAnalyzer.cs b/src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionForNullableDiagnosticAnalyzer.cs index 73811303fb44d..c66afb2041972 100644 --- a/src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionForNullableDiagnosticAnalyzer.cs +++ b/src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionForNullableDiagnosticAnalyzer.cs @@ -10,6 +10,9 @@ namespace Microsoft.CodeAnalysis.UseCoalesceExpression { + /// + /// Looks for code of the form "!x.HasValue ? y : x.Value" and offers to convert it to "x ?? y"; + /// internal abstract class AbstractUseCoalesceExpressionForNullableDiagnosticAnalyzer< TSyntaxKind, TExpressionSyntax, @@ -28,7 +31,8 @@ protected AbstractUseCoalesceExpressionForNullableDiagnosticAnalyzer() : base(IDEDiagnosticIds.UseCoalesceExpressionForNullableDiagnosticId, EnforceOnBuildValues.UseCoalesceExpressionForNullable, CodeStyleOptions2.PreferCoalesceExpression, - new LocalizableResourceString(nameof(AnalyzersResources.Use_coalesce_expression_for_nullable_types), AnalyzersResources.ResourceManager, typeof(AnalyzersResources))) + new LocalizableResourceString(nameof(AnalyzersResources.Use_coalesce_expression), AnalyzersResources.ResourceManager, typeof(AnalyzersResources)), + new LocalizableResourceString(nameof(AnalyzersResources.Null_check_can_be_simplified), AnalyzersResources.ResourceManager, typeof(AnalyzersResources))) { } diff --git a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.cs.xlf b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.cs.xlf index 35105732a9c8f..d2ed06a853604 100644 --- a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.cs.xlf +++ b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.cs.xlf @@ -382,14 +382,9 @@ Použít automatickou vlastnost - - Use coalesce expression for non-nullable types - Use coalesce expression for non-nullable types - - - - Use coalesce expression for nullable types - Use coalesce expression for nullable types + + Use coalesce expression + Use coalesce expression diff --git a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.de.xlf b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.de.xlf index 2ea023513bbeb..e49a212274cab 100644 --- a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.de.xlf +++ b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.de.xlf @@ -382,14 +382,9 @@ Automatisch generierte Eigenschaft verwenden - - Use coalesce expression for non-nullable types - Use coalesce expression for non-nullable types - - - - Use coalesce expression for nullable types - Use coalesce expression for nullable types + + Use coalesce expression + Use coalesce expression diff --git a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.es.xlf b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.es.xlf index f711e3ceda434..e285fceaf31da 100644 --- a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.es.xlf +++ b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.es.xlf @@ -382,14 +382,9 @@ Usar propiedad automática - - Use coalesce expression for non-nullable types - Use coalesce expression for non-nullable types - - - - Use coalesce expression for nullable types - Use coalesce expression for nullable types + + Use coalesce expression + Use coalesce expression diff --git a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.fr.xlf b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.fr.xlf index 63621ecf16823..697d7f2a5c4eb 100644 --- a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.fr.xlf +++ b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.fr.xlf @@ -382,14 +382,9 @@ Utiliser auto-property - - Use coalesce expression for non-nullable types - Use coalesce expression for non-nullable types - - - - Use coalesce expression for nullable types - Use coalesce expression for nullable types + + Use coalesce expression + Use coalesce expression diff --git a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.it.xlf b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.it.xlf index a0788d5652e75..c762c30c3cd78 100644 --- a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.it.xlf +++ b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.it.xlf @@ -382,14 +382,9 @@ Usa la proprietà automatica - - Use coalesce expression for non-nullable types - Use coalesce expression for non-nullable types - - - - Use coalesce expression for nullable types - Use coalesce expression for nullable types + + Use coalesce expression + Use coalesce expression diff --git a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.ja.xlf b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.ja.xlf index 183ac70aee4b4..3874787a53637 100644 --- a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.ja.xlf +++ b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.ja.xlf @@ -382,14 +382,9 @@ 自動プロパティを使用する - - Use coalesce expression for non-nullable types - Use coalesce expression for non-nullable types - - - - Use coalesce expression for nullable types - Use coalesce expression for nullable types + + Use coalesce expression + Use coalesce expression diff --git a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.ko.xlf b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.ko.xlf index 6d8ea1abba661..52a8dbed8e26f 100644 --- a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.ko.xlf +++ b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.ko.xlf @@ -382,14 +382,9 @@ auto 속성 사용 - - Use coalesce expression for non-nullable types - Use coalesce expression for non-nullable types - - - - Use coalesce expression for nullable types - Use coalesce expression for nullable types + + Use coalesce expression + Use coalesce expression diff --git a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.pl.xlf b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.pl.xlf index 8a5e03a7f07e4..7fdb2ecc98a7a 100644 --- a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.pl.xlf +++ b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.pl.xlf @@ -382,14 +382,9 @@ Użyj właściwości automatycznej - - Use coalesce expression for non-nullable types - Use coalesce expression for non-nullable types - - - - Use coalesce expression for nullable types - Use coalesce expression for nullable types + + Use coalesce expression + Use coalesce expression diff --git a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.pt-BR.xlf b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.pt-BR.xlf index 148d5a3ac3b76..4a1237987f932 100644 --- a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.pt-BR.xlf +++ b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.pt-BR.xlf @@ -382,14 +382,9 @@ Usar a propriedade auto - - Use coalesce expression for non-nullable types - Use coalesce expression for non-nullable types - - - - Use coalesce expression for nullable types - Use coalesce expression for nullable types + + Use coalesce expression + Use coalesce expression diff --git a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.ru.xlf b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.ru.xlf index 9a4af2645ad6f..c4e88eab679f1 100644 --- a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.ru.xlf +++ b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.ru.xlf @@ -382,14 +382,9 @@ Использовать свойство auto - - Use coalesce expression for non-nullable types - Use coalesce expression for non-nullable types - - - - Use coalesce expression for nullable types - Use coalesce expression for nullable types + + Use coalesce expression + Use coalesce expression diff --git a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.tr.xlf b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.tr.xlf index 28f4214f79c24..221630952fefa 100644 --- a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.tr.xlf +++ b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.tr.xlf @@ -382,14 +382,9 @@ Otomatik özellik kullan - - Use coalesce expression for non-nullable types - Use coalesce expression for non-nullable types - - - - Use coalesce expression for nullable types - Use coalesce expression for nullable types + + Use coalesce expression + Use coalesce expression diff --git a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.zh-Hans.xlf b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.zh-Hans.xlf index 12d9a1435571b..a371a8cf582e0 100644 --- a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.zh-Hans.xlf +++ b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.zh-Hans.xlf @@ -382,14 +382,9 @@ 使用自动属性 - - Use coalesce expression for non-nullable types - Use coalesce expression for non-nullable types - - - - Use coalesce expression for nullable types - Use coalesce expression for nullable types + + Use coalesce expression + Use coalesce expression diff --git a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.zh-Hant.xlf b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.zh-Hant.xlf index 7375958c9b572..2f9b49b379981 100644 --- a/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.zh-Hant.xlf +++ b/src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.zh-Hant.xlf @@ -382,14 +382,9 @@ 使用 Auto 屬性 - - Use coalesce expression for non-nullable types - Use coalesce expression for non-nullable types - - - - Use coalesce expression for nullable types - Use coalesce expression for nullable types + + Use coalesce expression + Use coalesce expression diff --git a/src/Analyzers/Core/CodeFixes/UseCoalesceExpression/UseCoalesceExpressionCodeFixProvider.cs b/src/Analyzers/Core/CodeFixes/UseCoalesceExpression/UseCoalesceExpressionCodeFixProvider.cs index 4199da1d4392c..7f16853543de6 100644 --- a/src/Analyzers/Core/CodeFixes/UseCoalesceExpression/UseCoalesceExpressionCodeFixProvider.cs +++ b/src/Analyzers/Core/CodeFixes/UseCoalesceExpression/UseCoalesceExpressionCodeFixProvider.cs @@ -35,7 +35,7 @@ protected override bool IncludeDiagnosticDuringFixAll(Diagnostic diagnostic) public override Task RegisterCodeFixesAsync(CodeFixContext context) { - RegisterCodeFix(context, AnalyzersResources.Use_coalesce_expression_for_non_nullable_types, nameof(AnalyzersResources.Use_coalesce_expression_for_non_nullable_types)); + RegisterCodeFix(context, AnalyzersResources.Use_coalesce_expression, nameof(AnalyzersResources.Use_coalesce_expression)); return Task.CompletedTask; } diff --git a/src/Analyzers/Core/CodeFixes/UseCoalesceExpression/UseCoalesceExpressionForNullableCodeFixProvider.cs b/src/Analyzers/Core/CodeFixes/UseCoalesceExpression/UseCoalesceExpressionForNullableCodeFixProvider.cs index 959f85bbd9d82..0ff82175f3db5 100644 --- a/src/Analyzers/Core/CodeFixes/UseCoalesceExpression/UseCoalesceExpressionForNullableCodeFixProvider.cs +++ b/src/Analyzers/Core/CodeFixes/UseCoalesceExpression/UseCoalesceExpressionForNullableCodeFixProvider.cs @@ -34,7 +34,7 @@ protected override bool IncludeDiagnosticDuringFixAll(Diagnostic diagnostic) public override Task RegisterCodeFixesAsync(CodeFixContext context) { - RegisterCodeFix(context, AnalyzersResources.Use_coalesce_expression_for_nullable_types, nameof(AnalyzersResources.Use_coalesce_expression_for_nullable_types)); + RegisterCodeFix(context, AnalyzersResources.Use_coalesce_expression, nameof(AnalyzersResources.Use_coalesce_expression)); return Task.CompletedTask; } From f7c5eb1afc4e1616659d92273311d5718e92a39f Mon Sep 17 00:00:00 2001 From: Cyrus Najmabadi Date: Fri, 11 Nov 2022 10:35:59 -0800 Subject: [PATCH 2/3] Rename types --- src/Analyzers/CSharp/Analyzers/CSharpAnalyzers.projitems | 4 ++-- ...NullableTernaryConditionalCheckDiagnosticAnalyzer.cs} | 4 ++-- ...ssionForTernaryConditionalCheckDiagnosticAnalyzer.cs} | 4 ++-- .../CSharp/Tests/CSharpAnalyzers.UnitTests.projitems | 4 ++-- ...ExpressionForNullableTernaryConditionalCheckTests.cs} | 8 ++++---- ...CoalesceExpressionForTernaryConditionalCheckTests.cs} | 7 ++++--- src/Analyzers/Core/Analyzers/Analyzers.projitems | 2 +- ...UseCoalesceExpressionForNullableDiagnosticAnalyzer.cs | 4 ++-- ...ssionForTernaryConditionalCheckDiagnosticAnalyzer.cs} | 9 ++------- src/Analyzers/Core/CodeFixes/CodeFixes.projitems | 4 ++-- ...ForNullableTernaryConditionalCheckCodeFixProvider.cs} | 4 ++-- ...pressionForTernaryConditionalCheckCodeFixProvider.cs} | 4 ++-- ...NullableTernaryConditionalCheckDiagnosticAnalyzer.vb} | 4 ++-- ...ssionForTernaryConditionalCheckDiagnosticAnalyzer.vb} | 4 ++-- .../VisualBasic/Analyzers/VisualBasicAnalyzers.projitems | 4 ++-- ...ExpressionForNullableTernaryConditionalCheckTests.vb} | 6 +++--- ...CoalesceExpressionForTernaryConditionalCheckTests.vb} | 6 +++--- .../Tests/VisualBasicAnalyzers.UnitTests.projitems | 4 ++-- 18 files changed, 41 insertions(+), 45 deletions(-) rename src/Analyzers/CSharp/Analyzers/UseCoalesceExpression/{CSharpUseCoalesceExpressionForNullableDiagnosticAnalyzer.cs => CSharpUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer.cs} (82%) rename src/Analyzers/CSharp/Analyzers/UseCoalesceExpression/{CSharpUseCoalesceExpressionDiagnosticAnalyzer.cs => CSharpUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer.cs} (86%) rename src/Analyzers/CSharp/Tests/UseCoalesceExpression/{UseCoalesceExpressionForNullableTests.cs => UseCoalesceExpressionForNullableTernaryConditionalCheckTests.cs} (90%) rename src/Analyzers/CSharp/Tests/UseCoalesceExpression/{UseCoalesceExpressionTests.cs => UseCoalesceExpressionForTernaryConditionalCheckTests.cs} (96%) rename src/Analyzers/Core/Analyzers/UseCoalesceExpression/{AbstractUseCoalesceExpressionDiagnosticAnalyzer.cs => AbstractUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer.cs} (96%) rename src/Analyzers/Core/CodeFixes/UseCoalesceExpression/{UseCoalesceExpressionForNullableCodeFixProvider.cs => UseCoalesceExpressionForNullableTernaryConditionalCheckCodeFixProvider.cs} (95%) rename src/Analyzers/Core/CodeFixes/UseCoalesceExpression/{UseCoalesceExpressionCodeFixProvider.cs => UseCoalesceExpressionForTernaryConditionalCheckCodeFixProvider.cs} (96%) rename src/Analyzers/VisualBasic/Analyzers/UseCoalesceExpression/{VisualBasicUseCoalesceExpressionForNullableDiagnosticAnalyzer.vb => VisualBasicUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer.vb} (82%) rename src/Analyzers/VisualBasic/Analyzers/UseCoalesceExpression/{VisualBasicUseCoalesceExpressionDiagnosticAnalyzer.vb => VisualBasicUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer.vb} (86%) rename src/Analyzers/VisualBasic/Tests/UseCoalesceExpression/{UseCoalesceExpressionForNullableTests.vb => UseCoalesceExpressionForNullableTernaryConditionalCheckTests.vb} (94%) rename src/Analyzers/VisualBasic/Tests/UseCoalesceExpression/{UseCoalesceExpressionTests.vb => UseCoalesceExpressionForTernaryConditionalCheckTests.vb} (95%) diff --git a/src/Analyzers/CSharp/Analyzers/CSharpAnalyzers.projitems b/src/Analyzers/CSharp/Analyzers/CSharpAnalyzers.projitems index 140c8529de4c4..c43008d9aa1ed 100644 --- a/src/Analyzers/CSharp/Analyzers/CSharpAnalyzers.projitems +++ b/src/Analyzers/CSharp/Analyzers/CSharpAnalyzers.projitems @@ -73,8 +73,8 @@ - - + + diff --git a/src/Analyzers/CSharp/Analyzers/UseCoalesceExpression/CSharpUseCoalesceExpressionForNullableDiagnosticAnalyzer.cs b/src/Analyzers/CSharp/Analyzers/UseCoalesceExpression/CSharpUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer.cs similarity index 82% rename from src/Analyzers/CSharp/Analyzers/UseCoalesceExpression/CSharpUseCoalesceExpressionForNullableDiagnosticAnalyzer.cs rename to src/Analyzers/CSharp/Analyzers/UseCoalesceExpression/CSharpUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer.cs index 603b36de1f244..553526c6402e8 100644 --- a/src/Analyzers/CSharp/Analyzers/UseCoalesceExpression/CSharpUseCoalesceExpressionForNullableDiagnosticAnalyzer.cs +++ b/src/Analyzers/CSharp/Analyzers/UseCoalesceExpression/CSharpUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer.cs @@ -11,8 +11,8 @@ namespace Microsoft.CodeAnalysis.CSharp.UseCoalesceExpression { [DiagnosticAnalyzer(LanguageNames.CSharp)] - internal class CSharpUseCoalesceExpressionForNullableDiagnosticAnalyzer : - AbstractUseCoalesceExpressionForNullableDiagnosticAnalyzer< + internal class CSharpUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer : + AbstractUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer< SyntaxKind, ExpressionSyntax, ConditionalExpressionSyntax, diff --git a/src/Analyzers/CSharp/Analyzers/UseCoalesceExpression/CSharpUseCoalesceExpressionDiagnosticAnalyzer.cs b/src/Analyzers/CSharp/Analyzers/UseCoalesceExpression/CSharpUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer.cs similarity index 86% rename from src/Analyzers/CSharp/Analyzers/UseCoalesceExpression/CSharpUseCoalesceExpressionDiagnosticAnalyzer.cs rename to src/Analyzers/CSharp/Analyzers/UseCoalesceExpression/CSharpUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer.cs index c4ad9d580165b..8136395bb3835 100644 --- a/src/Analyzers/CSharp/Analyzers/UseCoalesceExpression/CSharpUseCoalesceExpressionDiagnosticAnalyzer.cs +++ b/src/Analyzers/CSharp/Analyzers/UseCoalesceExpression/CSharpUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer.cs @@ -12,8 +12,8 @@ namespace Microsoft.CodeAnalysis.CSharp.UseCoalesceExpression { [DiagnosticAnalyzer(LanguageNames.CSharp)] - internal class CSharpUseCoalesceExpressionDiagnosticAnalyzer : - AbstractUseCoalesceExpressionDiagnosticAnalyzer< + internal class CSharpUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer : + AbstractUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer< SyntaxKind, ExpressionSyntax, ConditionalExpressionSyntax, diff --git a/src/Analyzers/CSharp/Tests/CSharpAnalyzers.UnitTests.projitems b/src/Analyzers/CSharp/Tests/CSharpAnalyzers.UnitTests.projitems index 97801c3450e87..aa9e627c9eb14 100644 --- a/src/Analyzers/CSharp/Tests/CSharpAnalyzers.UnitTests.projitems +++ b/src/Analyzers/CSharp/Tests/CSharpAnalyzers.UnitTests.projitems @@ -69,8 +69,8 @@ - - + + diff --git a/src/Analyzers/CSharp/Tests/UseCoalesceExpression/UseCoalesceExpressionForNullableTests.cs b/src/Analyzers/CSharp/Tests/UseCoalesceExpression/UseCoalesceExpressionForNullableTernaryConditionalCheckTests.cs similarity index 90% rename from src/Analyzers/CSharp/Tests/UseCoalesceExpression/UseCoalesceExpressionForNullableTests.cs rename to src/Analyzers/CSharp/Tests/UseCoalesceExpression/UseCoalesceExpressionForNullableTernaryConditionalCheckTests.cs index 7b5c48267641d..b0ae5980dbbd0 100644 --- a/src/Analyzers/CSharp/Tests/UseCoalesceExpression/UseCoalesceExpressionForNullableTests.cs +++ b/src/Analyzers/CSharp/Tests/UseCoalesceExpression/UseCoalesceExpressionForNullableTernaryConditionalCheckTests.cs @@ -18,16 +18,16 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.UseCoalesceExpression { [Trait(Traits.Feature, Traits.Features.CodeActionsUseCoalesceExpression)] - public class UseCoalesceExpressionForNullableTests : AbstractCSharpDiagnosticProviderBasedUserDiagnosticTest + public class UseCoalesceExpressionForNullableTernaryConditionalCheckTests : AbstractCSharpDiagnosticProviderBasedUserDiagnosticTest { - public UseCoalesceExpressionForNullableTests(ITestOutputHelper logger) + public UseCoalesceExpressionForNullableTernaryConditionalCheckTests(ITestOutputHelper logger) : base(logger) { } internal override (DiagnosticAnalyzer, CodeFixProvider) CreateDiagnosticProviderAndFixer(Workspace workspace) - => (new CSharpUseCoalesceExpressionForNullableDiagnosticAnalyzer(), - new UseCoalesceExpressionForNullableCodeFixProvider()); + => (new CSharpUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer(), + new UseCoalesceExpressionForNullableTernaryConditionalCheckCodeFixProvider()); [Fact] public async Task TestOnLeft_Equals() diff --git a/src/Analyzers/CSharp/Tests/UseCoalesceExpression/UseCoalesceExpressionTests.cs b/src/Analyzers/CSharp/Tests/UseCoalesceExpression/UseCoalesceExpressionForTernaryConditionalCheckTests.cs similarity index 96% rename from src/Analyzers/CSharp/Tests/UseCoalesceExpression/UseCoalesceExpressionTests.cs rename to src/Analyzers/CSharp/Tests/UseCoalesceExpression/UseCoalesceExpressionForTernaryConditionalCheckTests.cs index 3c25cc266cf21..3cb626a6a814f 100644 --- a/src/Analyzers/CSharp/Tests/UseCoalesceExpression/UseCoalesceExpressionTests.cs +++ b/src/Analyzers/CSharp/Tests/UseCoalesceExpression/UseCoalesceExpressionForTernaryConditionalCheckTests.cs @@ -18,15 +18,16 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.UseCoalesceExpression { [Trait(Traits.Feature, Traits.Features.CodeActionsUseCoalesceExpression)] - public class UseCoalesceExpressionTests : AbstractCSharpDiagnosticProviderBasedUserDiagnosticTest + public class UseCoalesceExpressionForTernaryConditionalCheckTests : AbstractCSharpDiagnosticProviderBasedUserDiagnosticTest { - public UseCoalesceExpressionTests(ITestOutputHelper logger) + public UseCoalesceExpressionForTernaryConditionalCheckTests(ITestOutputHelper logger) : base(logger) { } internal override (DiagnosticAnalyzer, CodeFixProvider) CreateDiagnosticProviderAndFixer(Workspace workspace) - => (new CSharpUseCoalesceExpressionDiagnosticAnalyzer(), new UseCoalesceExpressionCodeFixProvider()); + => (new CSharpUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer(), + new UseCoalesceExpressionForTernaryConditionalCheckCodeFixProvider()); [Fact] public async Task TestOnLeft_Equals() diff --git a/src/Analyzers/Core/Analyzers/Analyzers.projitems b/src/Analyzers/Core/Analyzers/Analyzers.projitems index 74611d09ee35f..8a1a9b22c9ee8 100644 --- a/src/Analyzers/Core/Analyzers/Analyzers.projitems +++ b/src/Analyzers/Core/Analyzers/Analyzers.projitems @@ -77,7 +77,7 @@ - + diff --git a/src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionForNullableDiagnosticAnalyzer.cs b/src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionForNullableDiagnosticAnalyzer.cs index c66afb2041972..308ec90f8629b 100644 --- a/src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionForNullableDiagnosticAnalyzer.cs +++ b/src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionForNullableDiagnosticAnalyzer.cs @@ -13,7 +13,7 @@ namespace Microsoft.CodeAnalysis.UseCoalesceExpression /// /// Looks for code of the form "!x.HasValue ? y : x.Value" and offers to convert it to "x ?? y"; /// - internal abstract class AbstractUseCoalesceExpressionForNullableDiagnosticAnalyzer< + internal abstract class AbstractUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer< TSyntaxKind, TExpressionSyntax, TConditionalExpressionSyntax, @@ -27,7 +27,7 @@ internal abstract class AbstractUseCoalesceExpressionForNullableDiagnosticAnalyz where TMemberAccessExpression : TExpressionSyntax where TPrefixUnaryExpressionSyntax : TExpressionSyntax { - protected AbstractUseCoalesceExpressionForNullableDiagnosticAnalyzer() + protected AbstractUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer() : base(IDEDiagnosticIds.UseCoalesceExpressionForNullableDiagnosticId, EnforceOnBuildValues.UseCoalesceExpressionForNullable, CodeStyleOptions2.PreferCoalesceExpression, diff --git a/src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionDiagnosticAnalyzer.cs b/src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer.cs similarity index 96% rename from src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionDiagnosticAnalyzer.cs rename to src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer.cs index 101fc4855b410..a9ccab7c0f5d7 100644 --- a/src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionDiagnosticAnalyzer.cs +++ b/src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer.cs @@ -9,15 +9,10 @@ namespace Microsoft.CodeAnalysis.UseCoalesceExpression { - internal abstract class AbstractUseCoalesceExpressionForIfNullCheckDiagnosticAnalyzer - { - - } - /// /// Looks for code of the form "x == null ? y : x" and offers to convert it to "x ?? y"; /// - internal abstract class AbstractUseCoalesceExpressionDiagnosticAnalyzer< + internal abstract class AbstractUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer< TSyntaxKind, TExpressionSyntax, TConditionalExpressionSyntax, @@ -27,7 +22,7 @@ internal abstract class AbstractUseCoalesceExpressionDiagnosticAnalyzer< where TConditionalExpressionSyntax : TExpressionSyntax where TBinaryExpressionSyntax : TExpressionSyntax { - protected AbstractUseCoalesceExpressionDiagnosticAnalyzer() + protected AbstractUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer() : base(IDEDiagnosticIds.UseCoalesceExpressionDiagnosticId, EnforceOnBuildValues.UseCoalesceExpression, CodeStyleOptions2.PreferCoalesceExpression, diff --git a/src/Analyzers/Core/CodeFixes/CodeFixes.projitems b/src/Analyzers/Core/CodeFixes/CodeFixes.projitems index b88453fa3ebea..158a237e28f3e 100644 --- a/src/Analyzers/Core/CodeFixes/CodeFixes.projitems +++ b/src/Analyzers/Core/CodeFixes/CodeFixes.projitems @@ -56,8 +56,8 @@ - - + + diff --git a/src/Analyzers/Core/CodeFixes/UseCoalesceExpression/UseCoalesceExpressionForNullableCodeFixProvider.cs b/src/Analyzers/Core/CodeFixes/UseCoalesceExpression/UseCoalesceExpressionForNullableTernaryConditionalCheckCodeFixProvider.cs similarity index 95% rename from src/Analyzers/Core/CodeFixes/UseCoalesceExpression/UseCoalesceExpressionForNullableCodeFixProvider.cs rename to src/Analyzers/Core/CodeFixes/UseCoalesceExpression/UseCoalesceExpressionForNullableTernaryConditionalCheckCodeFixProvider.cs index 0ff82175f3db5..f985b4c3e6e89 100644 --- a/src/Analyzers/Core/CodeFixes/UseCoalesceExpression/UseCoalesceExpressionForNullableCodeFixProvider.cs +++ b/src/Analyzers/Core/CodeFixes/UseCoalesceExpression/UseCoalesceExpressionForNullableTernaryConditionalCheckCodeFixProvider.cs @@ -18,11 +18,11 @@ namespace Microsoft.CodeAnalysis.UseCoalesceExpression { [ExportCodeFixProvider(LanguageNames.CSharp, LanguageNames.VisualBasic, Name = PredefinedCodeFixProviderNames.UseCoalesceExpressionForNullable), Shared] - internal class UseCoalesceExpressionForNullableCodeFixProvider : SyntaxEditorBasedCodeFixProvider + internal class UseCoalesceExpressionForNullableTernaryConditionalCheckCodeFixProvider : SyntaxEditorBasedCodeFixProvider { [ImportingConstructor] [SuppressMessage("RoslynDiagnosticsReliability", "RS0033:Importing constructor should be [Obsolete]", Justification = "Used in test code: https://github.com/dotnet/roslyn/issues/42814")] - public UseCoalesceExpressionForNullableCodeFixProvider() + public UseCoalesceExpressionForNullableTernaryConditionalCheckCodeFixProvider() { } diff --git a/src/Analyzers/Core/CodeFixes/UseCoalesceExpression/UseCoalesceExpressionCodeFixProvider.cs b/src/Analyzers/Core/CodeFixes/UseCoalesceExpression/UseCoalesceExpressionForTernaryConditionalCheckCodeFixProvider.cs similarity index 96% rename from src/Analyzers/Core/CodeFixes/UseCoalesceExpression/UseCoalesceExpressionCodeFixProvider.cs rename to src/Analyzers/Core/CodeFixes/UseCoalesceExpression/UseCoalesceExpressionForTernaryConditionalCheckCodeFixProvider.cs index 7f16853543de6..69571a1160fd3 100644 --- a/src/Analyzers/Core/CodeFixes/UseCoalesceExpression/UseCoalesceExpressionCodeFixProvider.cs +++ b/src/Analyzers/Core/CodeFixes/UseCoalesceExpression/UseCoalesceExpressionForTernaryConditionalCheckCodeFixProvider.cs @@ -19,11 +19,11 @@ namespace Microsoft.CodeAnalysis.UseCoalesceExpression { [ExportCodeFixProvider(LanguageNames.CSharp, LanguageNames.VisualBasic, Name = PredefinedCodeFixProviderNames.UseCoalesceExpression), Shared] - internal class UseCoalesceExpressionCodeFixProvider : SyntaxEditorBasedCodeFixProvider + internal class UseCoalesceExpressionForTernaryConditionalCheckCodeFixProvider : SyntaxEditorBasedCodeFixProvider { [ImportingConstructor] [SuppressMessage("RoslynDiagnosticsReliability", "RS0033:Importing constructor should be [Obsolete]", Justification = "Used in test code: https://github.com/dotnet/roslyn/issues/42814")] - public UseCoalesceExpressionCodeFixProvider() + public UseCoalesceExpressionForTernaryConditionalCheckCodeFixProvider() { } diff --git a/src/Analyzers/VisualBasic/Analyzers/UseCoalesceExpression/VisualBasicUseCoalesceExpressionForNullableDiagnosticAnalyzer.vb b/src/Analyzers/VisualBasic/Analyzers/UseCoalesceExpression/VisualBasicUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer.vb similarity index 82% rename from src/Analyzers/VisualBasic/Analyzers/UseCoalesceExpression/VisualBasicUseCoalesceExpressionForNullableDiagnosticAnalyzer.vb rename to src/Analyzers/VisualBasic/Analyzers/UseCoalesceExpression/VisualBasicUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer.vb index 215bb4eae28d0..59e906fca4a35 100644 --- a/src/Analyzers/VisualBasic/Analyzers/UseCoalesceExpression/VisualBasicUseCoalesceExpressionForNullableDiagnosticAnalyzer.vb +++ b/src/Analyzers/VisualBasic/Analyzers/UseCoalesceExpression/VisualBasicUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer.vb @@ -10,8 +10,8 @@ Imports Microsoft.CodeAnalysis.VisualBasic.Syntax Namespace Microsoft.CodeAnalysis.VisualBasic.UseCoalesceExpression - Friend Class VisualBasicUseCoalesceExpressionForNullableDiagnosticAnalyzer - Inherits AbstractUseCoalesceExpressionForNullableDiagnosticAnalyzer(Of + Friend Class VisualBasicUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer + Inherits AbstractUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer(Of SyntaxKind, ExpressionSyntax, TernaryConditionalExpressionSyntax, diff --git a/src/Analyzers/VisualBasic/Analyzers/UseCoalesceExpression/VisualBasicUseCoalesceExpressionDiagnosticAnalyzer.vb b/src/Analyzers/VisualBasic/Analyzers/UseCoalesceExpression/VisualBasicUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer.vb similarity index 86% rename from src/Analyzers/VisualBasic/Analyzers/UseCoalesceExpression/VisualBasicUseCoalesceExpressionDiagnosticAnalyzer.vb rename to src/Analyzers/VisualBasic/Analyzers/UseCoalesceExpression/VisualBasicUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer.vb index 9d1e723382963..7854c4a16cd54 100644 --- a/src/Analyzers/VisualBasic/Analyzers/UseCoalesceExpression/VisualBasicUseCoalesceExpressionDiagnosticAnalyzer.vb +++ b/src/Analyzers/VisualBasic/Analyzers/UseCoalesceExpression/VisualBasicUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer.vb @@ -11,8 +11,8 @@ Imports Microsoft.CodeAnalysis.VisualBasic.Syntax Namespace Microsoft.CodeAnalysis.VisualBasic.UseCoalesceExpression - Friend Class VisualBasicUseCoalesceExpressionDiagnosticAnalyzer - Inherits AbstractUseCoalesceExpressionDiagnosticAnalyzer(Of + Friend Class VisualBasicUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer + Inherits AbstractUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer(Of SyntaxKind, ExpressionSyntax, TernaryConditionalExpressionSyntax, diff --git a/src/Analyzers/VisualBasic/Analyzers/VisualBasicAnalyzers.projitems b/src/Analyzers/VisualBasic/Analyzers/VisualBasicAnalyzers.projitems index 74f154847a4b0..ef4a629f0349e 100644 --- a/src/Analyzers/VisualBasic/Analyzers/VisualBasicAnalyzers.projitems +++ b/src/Analyzers/VisualBasic/Analyzers/VisualBasicAnalyzers.projitems @@ -45,8 +45,8 @@ - - + + diff --git a/src/Analyzers/VisualBasic/Tests/UseCoalesceExpression/UseCoalesceExpressionForNullableTests.vb b/src/Analyzers/VisualBasic/Tests/UseCoalesceExpression/UseCoalesceExpressionForNullableTernaryConditionalCheckTests.vb similarity index 94% rename from src/Analyzers/VisualBasic/Tests/UseCoalesceExpression/UseCoalesceExpressionForNullableTests.vb rename to src/Analyzers/VisualBasic/Tests/UseCoalesceExpression/UseCoalesceExpressionForNullableTernaryConditionalCheckTests.vb index 211772151b391..6031b2c14b1e5 100644 --- a/src/Analyzers/VisualBasic/Tests/UseCoalesceExpression/UseCoalesceExpressionForNullableTests.vb +++ b/src/Analyzers/VisualBasic/Tests/UseCoalesceExpression/UseCoalesceExpressionForNullableTernaryConditionalCheckTests.vb @@ -10,12 +10,12 @@ Imports Microsoft.CodeAnalysis.VisualBasic.UseCoalesceExpression Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.UseCoalesceExpression - Public Class UseCoalesceExpressionForNullableTests + Public Class UseCoalesceExpressionForNullableTernaryConditionalCheckTests Inherits AbstractVisualBasicDiagnosticProviderBasedUserDiagnosticTest Friend Overrides Function CreateDiagnosticProviderAndFixer(workspace As Workspace) As (DiagnosticAnalyzer, CodeFixProvider) - Return (New VisualBasicUseCoalesceExpressionForNullableDiagnosticAnalyzer(), - New UseCoalesceExpressionForNullableCodeFixProvider()) + Return (New VisualBasicUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer(), + New UseCoalesceExpressionForNullableTernaryConditionalCheckCodeFixProvider()) End Function diff --git a/src/Analyzers/VisualBasic/Tests/UseCoalesceExpression/UseCoalesceExpressionTests.vb b/src/Analyzers/VisualBasic/Tests/UseCoalesceExpression/UseCoalesceExpressionForTernaryConditionalCheckTests.vb similarity index 95% rename from src/Analyzers/VisualBasic/Tests/UseCoalesceExpression/UseCoalesceExpressionTests.vb rename to src/Analyzers/VisualBasic/Tests/UseCoalesceExpression/UseCoalesceExpressionForTernaryConditionalCheckTests.vb index 0e480f684dfbe..47a77abe90c72 100644 --- a/src/Analyzers/VisualBasic/Tests/UseCoalesceExpression/UseCoalesceExpressionTests.vb +++ b/src/Analyzers/VisualBasic/Tests/UseCoalesceExpression/UseCoalesceExpressionForTernaryConditionalCheckTests.vb @@ -10,12 +10,12 @@ Imports Microsoft.CodeAnalysis.VisualBasic.UseCoalesceExpression Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.UseCoalesceExpression - Public Class UseCoalesceExpressionTests + Public Class UseCoalesceExpressionForTernaryConditionalCheckTests Inherits AbstractVisualBasicDiagnosticProviderBasedUserDiagnosticTest Friend Overrides Function CreateDiagnosticProviderAndFixer(workspace As Workspace) As (DiagnosticAnalyzer, CodeFixProvider) - Return (New VisualBasicUseCoalesceExpressionDiagnosticAnalyzer(), - New UseCoalesceExpressionCodeFixProvider()) + Return (New VisualBasicUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer(), + New UseCoalesceExpressionForTernaryConditionalCheckCodeFixProvider()) End Function diff --git a/src/Analyzers/VisualBasic/Tests/VisualBasicAnalyzers.UnitTests.projitems b/src/Analyzers/VisualBasic/Tests/VisualBasicAnalyzers.UnitTests.projitems index 3fb7126ac6bce..e3fb95005fa50 100644 --- a/src/Analyzers/VisualBasic/Tests/VisualBasicAnalyzers.UnitTests.projitems +++ b/src/Analyzers/VisualBasic/Tests/VisualBasicAnalyzers.UnitTests.projitems @@ -50,8 +50,8 @@ - - + + From d9cb7cb429fa20b305540b57096f57eeff017a30 Mon Sep 17 00:00:00 2001 From: CyrusNajmabadi Date: Fri, 11 Nov 2022 10:37:08 -0800 Subject: [PATCH 3/3] Update src/Analyzers/CSharp/Analyzers/CSharpAnalyzers.projitems --- src/Analyzers/CSharp/Analyzers/CSharpAnalyzers.projitems | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Analyzers/CSharp/Analyzers/CSharpAnalyzers.projitems b/src/Analyzers/CSharp/Analyzers/CSharpAnalyzers.projitems index c43008d9aa1ed..9b4816f89a8dc 100644 --- a/src/Analyzers/CSharp/Analyzers/CSharpAnalyzers.projitems +++ b/src/Analyzers/CSharp/Analyzers/CSharpAnalyzers.projitems @@ -73,7 +73,7 @@ - +