Skip to content

Commit 3336bbb

Browse files
author
Wolfgang Janz
committed
feature(): Add TooManyArguments inspection to vb.net
1 parent 9a6d063 commit 3336bbb

3 files changed

Lines changed: 33 additions & 1 deletion

File tree

CleanCode/src/CleanCode/CleanCode.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,7 @@
184184
<SubType>Code</SubType>
185185
</Compile>
186186
<Compile Include="Features\TooManyDependencies\TooManyDependenciesCheck.cs" />
187+
<Compile Include="Features\TooManyMethodArguments\TooManyMethodArgumentsCheckVb.cs" />
187188
<Compile Include="Features\TooManyMethodArguments\TooManyMethodArgumentsCheck.cs" />
188189
<Compile Include="Features\TooManyMethodArguments\TooManyArgumentsHighlighting.cs">
189190
<SubType>Code</SubType>

CleanCode/src/CleanCode/Features/TooManyMethodArguments/TooManyArgumentsHighlighting.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@
33
using JetBrains.DocumentModel;
44
using JetBrains.ReSharper.Feature.Services.Daemon;
55
using JetBrains.ReSharper.Psi.CSharp;
6+
using JetBrains.ReSharper.Psi.VB;
67

78
[assembly: RegisterConfigurableSeverity(TooManyArgumentsHighlighting.SeverityID, null,
89
CleanCodeHighlightingGroupIds.CleanCode, "Too many arguments", "Too many arguments passed to a method.",
910
Severity.WARNING, false)]
1011

1112
namespace CleanCode.Features.TooManyMethodArguments
1213
{
13-
[ConfigurableSeverityHighlighting(SeverityID, CSharpLanguage.Name)]
14+
[ConfigurableSeverityHighlighting(SeverityID, CSharpLanguage.Name + "," + VBLanguage.Name)]
1415
public class TooManyArgumentsHighlighting : IHighlighting
1516
{
1617
internal const string SeverityID = "TooManyArguments";
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
using CleanCode.Resources;
2+
using CleanCode.Settings;
3+
using JetBrains.Application.Settings;
4+
using JetBrains.ReSharper.Daemon.Stages.Dispatcher;
5+
using JetBrains.ReSharper.Feature.Services.Daemon;
6+
using JetBrains.ReSharper.Psi.VB.Tree;
7+
using JetBrains.ReSharper.Psi.Tree;
8+
9+
namespace CleanCode.Features.TooManyMethodArguments
10+
{
11+
[ElementProblemAnalyzer(typeof(IMethodDeclaration), HighlightingTypes = new []
12+
{
13+
typeof(TooManyArgumentsHighlighting)
14+
})]
15+
public class TooManyMethodArgumentsCheckVb : ElementProblemAnalyzer<IMethodDeclaration>
16+
{
17+
protected override void Run(IMethodDeclaration element, ElementProblemAnalyzerData data, IHighlightingConsumer consumer)
18+
{
19+
var maxParameters = data.SettingsStore.GetValue((CleanCodeSettings s) => s.MaximumMethodParameters);
20+
var parameterDeclarations = element.ParameterDeclarations;
21+
22+
if (parameterDeclarations.Count > maxParameters)
23+
{
24+
var highlighting = new TooManyArgumentsHighlighting(Warnings.TooManyMethodArguments,
25+
element.GetNameDocumentRange());
26+
consumer.AddHighlighting(highlighting);
27+
}
28+
}
29+
}
30+
}

0 commit comments

Comments
 (0)