Skip to content

Commit

Permalink
Merge pull request #42932 from mavasani/PortParenthesesAnalyzers
Browse files Browse the repository at this point in the history
Port AddRequiredParentheses and RemoveUnnecessaryParentheses analyzer/fixer/tests to shared layer
  • Loading branch information
msftbot[bot] committed Mar 31, 2020
2 parents 3d3df3d + c6ccbd3 commit 75fb12b
Show file tree
Hide file tree
Showing 76 changed files with 450 additions and 383 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,17 @@
#nullable enable

using System.Collections.Immutable;
using System.Composition;
using System.Diagnostics;
using Microsoft.CodeAnalysis.AddRequiredParentheses;
using Microsoft.CodeAnalysis.CSharp.Extensions;
using Microsoft.CodeAnalysis.CSharp.Precedence;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Diagnostics;
using Roslyn.Utilities;

namespace Microsoft.CodeAnalysis.CSharp.AddRequiredParentheses
{
[DiagnosticAnalyzer(LanguageNames.CSharp), Shared]
[DiagnosticAnalyzer(LanguageNames.CSharp)]
internal class CSharpAddRequiredParenthesesDiagnosticAnalyzer :
AbstractAddRequiredParenthesesDiagnosticAnalyzer<
ExpressionSyntax, ExpressionSyntax, SyntaxKind>
Expand Down
2 changes: 2 additions & 0 deletions src/Analyzers/CSharp/Analyzers/CSharpAnalyzers.projitems
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
<ItemGroup>
<Compile Include="$(MSBuildThisFileDirectory)AddAccessibilityModifiers\CSharpAddAccessibilityModifiersDiagnosticAnalyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)AddBraces\CSharpAddBracesDiagnosticAnalyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)AddRequiredParentheses\CSharpAddRequiredParenthesesDiagnosticAnalyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionConstants.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionDiagnosticAnalyzer.Analyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ConvertSwitchStatementToExpression\ConvertSwitchStatementToExpressionDiagnosticAnalyzer.cs" />
Expand Down Expand Up @@ -49,6 +50,7 @@
<Compile Include="$(MSBuildThisFileDirectory)QualifyMemberAccess\CSharpQualifyMemberAccessDiagnosticAnalyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)RemoveUnnecessaryCast\CSharpRemoveUnnecessaryCastDiagnosticAnalyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)RemoveUnnecessaryImports\CSharpRemoveUnnecessaryImportsDiagnosticAnalyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)RemoveUnnecessaryParentheses\CSharpRemoveUnnecessaryParenthesesDiagnosticAnalyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)RemoveUnusedMembers\CSharpRemoveUnusedMembersDiagnosticAnalyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)RemoveUnusedParametersAndValues\CSharpRemoveUnusedParametersAndValuesDiagnosticAnalyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)UseCollectionInitializer\CSharpUseCollectionInitializerDiagnosticAnalyzer.cs" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@

using Microsoft.CodeAnalysis.CSharp.Extensions;
using Microsoft.CodeAnalysis.CSharp.LanguageServices;
using Microsoft.CodeAnalysis.CSharp.Precedence;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.LanguageServices;
using Microsoft.CodeAnalysis.Precedence;
using Microsoft.CodeAnalysis.RemoveUnnecessaryParentheses;

namespace Microsoft.CodeAnalysis.CSharp.RemoveUnnecessaryParentheses
Expand Down
1 change: 1 addition & 0 deletions src/Analyzers/CSharp/CodeFixes/CSharpCodeFixes.projitems
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
<Compile Include="$(MSBuildThisFileDirectory)RemoveUnnecessaryCast\CSharpRemoveUnnecessaryCastCodeFixProvider.cs" />
<Compile Include="$(MSBuildThisFileDirectory)RemoveUnnecessaryImports\CSharpRemoveUnnecessaryImportsCodeFixProvider.cs" />
<Compile Include="$(MSBuildThisFileDirectory)RemoveUnreachableCode\CSharpRemoveUnreachableCodeCodeFixProvider.cs" />
<Compile Include="$(MSBuildThisFileDirectory)RemoveUnnecessaryParentheses\CSharpRemoveUnnecessaryParenthesesCodeFixProvider.cs" />
<Compile Include="$(MSBuildThisFileDirectory)RemoveUnusedMembers\CSharpRemoveUnusedMembersCodeFixProvider.cs" />
<Compile Include="$(MSBuildThisFileDirectory)RemoveUnusedParametersAndValues\CSharpRemoveUnusedValuesCodeFixProvider.cs" />
<Compile Include="$(MSBuildThisFileDirectory)UseCollectionInitializer\CSharpUseCollectionInitializerCodeFixProvider.cs" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,13 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.

using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis.AddRequiredParentheses;
using Microsoft.CodeAnalysis.CodeFixes;
using Microsoft.CodeAnalysis.CodeStyle;
using Microsoft.CodeAnalysis.CSharp.AddRequiredParentheses;
using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.Diagnostics;
using Microsoft.CodeAnalysis.Options;
using Microsoft.CodeAnalysis.Editor.UnitTests.CodeActions;
using Microsoft.CodeAnalysis.Test.Utilities;
using Xunit;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
<Compile Include="$(MSBuildThisFileDirectory)AddAccessibilityModifiers\AddAccessibilityModifiersTests.cs" />
<Compile Include="$(MSBuildThisFileDirectory)AddBraces\AddBracesFixAllTests.cs" />
<Compile Include="$(MSBuildThisFileDirectory)AddBraces\AddBracesTests.cs" />
<Compile Include="$(MSBuildThisFileDirectory)AddRequiredParentheses\AddRequiredParenthesesTests.cs" />
<Compile Include="$(MSBuildThisFileDirectory)MakeFieldReadonly\MakeFieldReadonlyTests.cs" />
<Compile Include="$(MSBuildThisFileDirectory)OrderModifiers\OrderModifiersCompilerErrorTests.cs" />
<Compile Include="$(MSBuildThisFileDirectory)OrderModifiers\OrderModifiersTests.cs" />
Expand Down Expand Up @@ -44,6 +45,7 @@
<Compile Include="$(MSBuildThisFileDirectory)RemoveUnnecessaryCast\RemoveUnnecessaryCastTests_FixAllTests.cs" />
<Compile Include="$(MSBuildThisFileDirectory)RemoveUnnecessaryImports\RemoveUnnecessaryImportsTests.cs" />
<Compile Include="$(MSBuildThisFileDirectory)RemoveUnnecessaryImports\RemoveUnnecessaryImportsTests_FixAllTests.cs" />
<Compile Include="$(MSBuildThisFileDirectory)RemoveUnnecessaryParentheses\RemoveUnnecessaryParenthesesTests.cs" />
<Compile Include="$(MSBuildThisFileDirectory)RemoveUnusedMembers\RemoveUnusedMembersTests.cs" />
<Compile Include="$(MSBuildThisFileDirectory)RemoveUnusedParametersAndValues\RemoveUnusedParametersTests.cs" />
<Compile Include="$(MSBuildThisFileDirectory)RemoveUnusedParametersAndValues\RemoveUnusedValueAssignmentTests.cs" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

using System.Collections.Immutable;
using Microsoft.CodeAnalysis.CodeStyle;
using Microsoft.CodeAnalysis.LanguageServices;
using Microsoft.CodeAnalysis.Options;
using Microsoft.CodeAnalysis.Precedence;
using Roslyn.Utilities;

namespace Microsoft.CodeAnalysis.RemoveUnnecessaryParentheses
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
using System.Collections.Immutable;
using Microsoft.CodeAnalysis.CodeStyle;
using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.LanguageServices;
using Microsoft.CodeAnalysis.Options;
using Microsoft.CodeAnalysis.Precedence;
using Microsoft.CodeAnalysis.RemoveUnnecessaryParentheses;

namespace Microsoft.CodeAnalysis.AddRequiredParentheses
Expand Down Expand Up @@ -66,8 +66,8 @@ private static string GetEquivalenceKey(PerLanguageOption2<CodeStyleOption2<Pare

protected AbstractAddRequiredParenthesesDiagnosticAnalyzer(IPrecedenceService precedenceService)
: base(IDEDiagnosticIds.AddRequiredParenthesesDiagnosticId,
new LocalizableResourceString(nameof(FeaturesResources.Add_parentheses_for_clarity), FeaturesResources.ResourceManager, typeof(FeaturesResources)),
new LocalizableResourceString(nameof(FeaturesResources.Parentheses_should_be_added_for_clarity), FeaturesResources.ResourceManager, typeof(FeaturesResources)))
new LocalizableResourceString(nameof(AnalyzersResources.Add_parentheses_for_clarity), AnalyzersResources.ResourceManager, typeof(AnalyzersResources)),
new LocalizableResourceString(nameof(AnalyzersResources.Parentheses_should_be_added_for_clarity), AnalyzersResources.ResourceManager, typeof(AnalyzersResources)))
{
_precedenceService = precedenceService;
}
Expand Down
4 changes: 4 additions & 0 deletions src/Analyzers/Core/Analyzers/Analyzers.projitems
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,10 @@
<Compile Include="$(MSBuildThisFileDirectory)AbstractBuiltInCodeStyleDiagnosticAnalyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)AbstractCodeQualityDiagnosticAnalyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)AbstractCodeStyleDiagnosticAnalyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)AbstractParenthesesDiagnosticAnalyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)AddAccessibilityModifiers\AbstractAddAccessibilityModifiersDiagnosticAnalyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)AddRequiredParentheses\AbstractAddRequiredParenthesesDiagnosticAnalyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)AddRequiredParentheses\AddRequiredParenthesesConstants.cs" />
<Compile Include="$(MSBuildThisFileDirectory)DiagnosticCustomTags.cs" />
<Compile Include="$(MSBuildThisFileDirectory)FileHeaders\AbstractFileHeaderDiagnosticAnalyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)FileHeaders\AbstractFileHeaderHelper.cs" />
Expand All @@ -38,6 +41,7 @@
<Compile Include="$(MSBuildThisFileDirectory)QualifyMemberAccess\AbstractQualifyMemberAccessDiagnosticAnalyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)RemoveUnnecessaryCast\AbstractRemoveUnnecessaryCastDiagnosticAnalyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsDiagnosticAnalyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)RemoveUnnecessaryParentheses\AbstractRemoveUnnecessaryParenthesesDiagnosticAnalyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)RemoveUnusedParametersAndValues\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)RemoveUnusedParametersAndValues\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs" />
Expand Down
12 changes: 12 additions & 0 deletions src/Analyzers/Core/Analyzers/AnalyzersResources.resx
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,18 @@
<data name="Changes_to_expression_trees_may_result_in_behavior_changes_at_runtime" xml:space="preserve">
<value>Changes to expression trees may result in behavior changes at runtime</value>
</data>
<data name="Parentheses_can_be_removed" xml:space="preserve">
<value>Parentheses can be removed</value>
</data>
<data name="Remove_unnecessary_parentheses" xml:space="preserve">
<value>Remove unnecessary parentheses</value>
</data>
<data name="Add_parentheses_for_clarity" xml:space="preserve">
<value>Add parentheses for clarity</value>
</data>
<data name="Parentheses_should_be_added_for_clarity" xml:space="preserve">
<value>Parentheses should be added for clarity</value>
</data>
<data name="Prefer_explicitly_provided_tuple_element_name" xml:space="preserve">
<value>Prefer explicitly provided tuple element name</value>
</data>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
using Microsoft.CodeAnalysis.CodeStyle;
using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.LanguageServices;
using Microsoft.CodeAnalysis.Precedence;
using Microsoft.CodeAnalysis.Text;

namespace Microsoft.CodeAnalysis.RemoveUnnecessaryParentheses
Expand All @@ -29,8 +30,8 @@ internal abstract class AbstractRemoveUnnecessaryParenthesesDiagnosticAnalyzer<
/// </summary>
private static readonly DiagnosticDescriptor s_diagnosticDescriptor = CreateDescriptorWithId(
IDEDiagnosticIds.RemoveUnnecessaryParenthesesDiagnosticId,
new LocalizableResourceString(nameof(FeaturesResources.Remove_unnecessary_parentheses), FeaturesResources.ResourceManager, typeof(FeaturesResources)),
new LocalizableResourceString(nameof(FeaturesResources.Parentheses_can_be_removed), FeaturesResources.ResourceManager, typeof(FeaturesResources)),
new LocalizableResourceString(nameof(AnalyzersResources.Remove_unnecessary_parentheses), AnalyzersResources.ResourceManager, typeof(AnalyzersResources)),
new LocalizableResourceString(nameof(AnalyzersResources.Parentheses_can_be_removed), AnalyzersResources.ResourceManager, typeof(AnalyzersResources)),
isUnnecessary: true);

/// <summary>
Expand Down
20 changes: 20 additions & 0 deletions src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.cs.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@
<target state="new">Add accessibility modifiers</target>
<note />
</trans-unit>
<trans-unit id="Add_parentheses_for_clarity">
<source>Add parentheses for clarity</source>
<target state="new">Add parentheses for clarity</target>
<note />
</trans-unit>
<trans-unit id="Add_readonly_modifier">
<source>Add readonly modifier</source>
<target state="new">Add readonly modifier</target>
Expand Down Expand Up @@ -127,6 +132,16 @@
<target state="new">Object initialization can be simplified</target>
<note />
</trans-unit>
<trans-unit id="Parentheses_can_be_removed">
<source>Parentheses can be removed</source>
<target state="new">Parentheses can be removed</target>
<note />
</trans-unit>
<trans-unit id="Parentheses_should_be_added_for_clarity">
<source>Parentheses should be added for clarity</source>
<target state="new">Parentheses should be added for clarity</target>
<note />
</trans-unit>
<trans-unit id="Populate_switch">
<source>Populate switch</source>
<target state="new">Populate switch</target>
Expand Down Expand Up @@ -162,6 +177,11 @@
<target state="new">Remove Unnecessary Cast</target>
<note />
</trans-unit>
<trans-unit id="Remove_unnecessary_parentheses">
<source>Remove unnecessary parentheses</source>
<target state="new">Remove unnecessary parentheses</target>
<note />
</trans-unit>
<trans-unit id="Remove_unread_private_members">
<source>Remove unread private members</source>
<target state="new">Remove unread private members</target>
Expand Down
20 changes: 20 additions & 0 deletions src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.de.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@
<target state="new">Add accessibility modifiers</target>
<note />
</trans-unit>
<trans-unit id="Add_parentheses_for_clarity">
<source>Add parentheses for clarity</source>
<target state="new">Add parentheses for clarity</target>
<note />
</trans-unit>
<trans-unit id="Add_readonly_modifier">
<source>Add readonly modifier</source>
<target state="new">Add readonly modifier</target>
Expand Down Expand Up @@ -127,6 +132,16 @@
<target state="new">Object initialization can be simplified</target>
<note />
</trans-unit>
<trans-unit id="Parentheses_can_be_removed">
<source>Parentheses can be removed</source>
<target state="new">Parentheses can be removed</target>
<note />
</trans-unit>
<trans-unit id="Parentheses_should_be_added_for_clarity">
<source>Parentheses should be added for clarity</source>
<target state="new">Parentheses should be added for clarity</target>
<note />
</trans-unit>
<trans-unit id="Populate_switch">
<source>Populate switch</source>
<target state="new">Populate switch</target>
Expand Down Expand Up @@ -162,6 +177,11 @@
<target state="new">Remove Unnecessary Cast</target>
<note />
</trans-unit>
<trans-unit id="Remove_unnecessary_parentheses">
<source>Remove unnecessary parentheses</source>
<target state="new">Remove unnecessary parentheses</target>
<note />
</trans-unit>
<trans-unit id="Remove_unread_private_members">
<source>Remove unread private members</source>
<target state="new">Remove unread private members</target>
Expand Down
20 changes: 20 additions & 0 deletions src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.es.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@
<target state="new">Add accessibility modifiers</target>
<note />
</trans-unit>
<trans-unit id="Add_parentheses_for_clarity">
<source>Add parentheses for clarity</source>
<target state="new">Add parentheses for clarity</target>
<note />
</trans-unit>
<trans-unit id="Add_readonly_modifier">
<source>Add readonly modifier</source>
<target state="new">Add readonly modifier</target>
Expand Down Expand Up @@ -127,6 +132,16 @@
<target state="new">Object initialization can be simplified</target>
<note />
</trans-unit>
<trans-unit id="Parentheses_can_be_removed">
<source>Parentheses can be removed</source>
<target state="new">Parentheses can be removed</target>
<note />
</trans-unit>
<trans-unit id="Parentheses_should_be_added_for_clarity">
<source>Parentheses should be added for clarity</source>
<target state="new">Parentheses should be added for clarity</target>
<note />
</trans-unit>
<trans-unit id="Populate_switch">
<source>Populate switch</source>
<target state="new">Populate switch</target>
Expand Down Expand Up @@ -162,6 +177,11 @@
<target state="new">Remove Unnecessary Cast</target>
<note />
</trans-unit>
<trans-unit id="Remove_unnecessary_parentheses">
<source>Remove unnecessary parentheses</source>
<target state="new">Remove unnecessary parentheses</target>
<note />
</trans-unit>
<trans-unit id="Remove_unread_private_members">
<source>Remove unread private members</source>
<target state="new">Remove unread private members</target>
Expand Down
20 changes: 20 additions & 0 deletions src/Analyzers/Core/Analyzers/xlf/AnalyzersResources.fr.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@
<target state="new">Add accessibility modifiers</target>
<note />
</trans-unit>
<trans-unit id="Add_parentheses_for_clarity">
<source>Add parentheses for clarity</source>
<target state="new">Add parentheses for clarity</target>
<note />
</trans-unit>
<trans-unit id="Add_readonly_modifier">
<source>Add readonly modifier</source>
<target state="new">Add readonly modifier</target>
Expand Down Expand Up @@ -127,6 +132,16 @@
<target state="new">Object initialization can be simplified</target>
<note />
</trans-unit>
<trans-unit id="Parentheses_can_be_removed">
<source>Parentheses can be removed</source>
<target state="new">Parentheses can be removed</target>
<note />
</trans-unit>
<trans-unit id="Parentheses_should_be_added_for_clarity">
<source>Parentheses should be added for clarity</source>
<target state="new">Parentheses should be added for clarity</target>
<note />
</trans-unit>
<trans-unit id="Populate_switch">
<source>Populate switch</source>
<target state="new">Populate switch</target>
Expand Down Expand Up @@ -162,6 +177,11 @@
<target state="new">Remove Unnecessary Cast</target>
<note />
</trans-unit>
<trans-unit id="Remove_unnecessary_parentheses">
<source>Remove unnecessary parentheses</source>
<target state="new">Remove unnecessary parentheses</target>
<note />
</trans-unit>
<trans-unit id="Remove_unread_private_members">
<source>Remove unread private members</source>
<target state="new">Remove unread private members</target>
Expand Down
Loading

0 comments on commit 75fb12b

Please sign in to comment.