Skip to content

Commit fe3641d

Browse files
committed
Deal with ToDos needing one of the latest merged PRs
Performance enhancements in some inspections
1 parent eff5462 commit fe3641d

File tree

4 files changed

+14
-16
lines changed

4 files changed

+14
-16
lines changed

Rubberduck.CodeAnalysis/Inspections/Abstract/IsMissingInspectionBase.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,9 @@ protected ParameterDeclaration ParameterForReference(ArgumentReference reference
6464
}
6565

6666
var procedure = reference.Context.GetAncestor<VBAParser.ModuleBodyElementContext>();
67-
//TODO: revisit this once PR #5338 is merged.
68-
return finder.UserDeclarations(DeclarationType.Member)
67+
var module = reference.QualifiedModuleName;
68+
69+
return finder.Members(module, DeclarationType.Member)
6970
.OfType<ModuleBodyElementDeclaration>()
7071
.FirstOrDefault(decl => decl.Context.Parent == procedure)?.Parameters
7172
.FirstOrDefault(param => param.IdentifierName.Equals(name.GetText()));

Rubberduck.CodeAnalysis/Inspections/Concrete/AssignmentNotUsedInspection.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,8 @@ public AssignmentNotUsedInspection(RubberduckParserState state, Walker walker)
4848

4949
protected override IEnumerable<IdentifierReference> ReferencesInModule(QualifiedModuleName module, DeclarationFinder finder)
5050
{
51-
//TODO: Revisit this once PR #5338 is merged.
52-
var localNonArrayVariables = finder.Members(module)
53-
.Where(declaration => declaration.DeclarationType == DeclarationType.Variable
54-
&& !declaration.IsArray
51+
var localNonArrayVariables = finder.Members(module, DeclarationType.Variable)
52+
.Where(declaration => !declaration.IsArray
5553
&& !declaration.ParentScopeDeclaration.DeclarationType.HasFlag(DeclarationType.Module));
5654
return localNonArrayVariables
5755
.Where(declaration => !declaration.IsIgnoringInspectionResultFor(AnnotationName))

Rubberduck.CodeAnalysis/QuickFixes/AccessSheetUsingCodeNameQuickFix.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ namespace Rubberduck.Inspections.QuickFixes
3636
/// ]]>
3737
/// </after>
3838
/// </example>
39-
public sealed class AccessSheetUsingCodeNameQuickFix : QuickFixBase // fixme: rename as per action(s), not the inspection that uses it
39+
public sealed class AccessSheetUsingCodeNameQuickFix : QuickFixBase
4040
{
4141
private readonly IDeclarationFinderProvider _declarationFinderProvider;
4242

Rubberduck.CodeAnalysis/QuickFixes/PassParameterByValueQuickFix.cs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,19 +35,18 @@ namespace Rubberduck.Inspections.QuickFixes
3535
/// </example>
3636
public sealed class PassParameterByValueQuickFix : QuickFixBase
3737
{
38-
//TODO: Change this to IDeclarationFinderProvider once the FIXME below is handled.
39-
private readonly RubberduckParserState _state;
38+
private readonly IDeclarationFinderProvider _declarationFinderProvider;
4039

41-
public PassParameterByValueQuickFix(RubberduckParserState state)
40+
public PassParameterByValueQuickFix(IDeclarationFinderProvider declarationFinderProvider)
4241
: base(typeof(ParameterCanBeByValInspection))
4342
{
44-
_state = state;
43+
_declarationFinderProvider = declarationFinderProvider;
4544
}
4645

4746
public override void Fix(IInspectionResult result, IRewriteSession rewriteSession)
4847
{
4948
if (result.Target.ParentDeclaration.DeclarationType == DeclarationType.Event ||
50-
_state.DeclarationFinder.FindAllInterfaceMembers().Contains(result.Target.ParentDeclaration))
49+
_declarationFinderProvider.DeclarationFinder.FindAllInterfaceMembers().Contains(result.Target.ParentDeclaration))
5150
{
5251
FixMethods(result.Target, rewriteSession);
5352
}
@@ -62,7 +61,7 @@ public override void Fix(IInspectionResult result, IRewriteSession rewriteSessio
6261
private void FixMethods(Declaration target, IRewriteSession rewriteSession)
6362
{
6463
var declarationParameters =
65-
_state.DeclarationFinder.UserDeclarations(DeclarationType.Parameter)
64+
_declarationFinderProvider.DeclarationFinder.UserDeclarations(DeclarationType.Parameter)
6665
.Where(declaration => Equals(declaration.ParentDeclaration, target.ParentDeclaration))
6766
.OrderBy(o => o.Selection.StartLine)
6867
.ThenBy(t => t.Selection.StartColumn)
@@ -75,18 +74,18 @@ private void FixMethods(Declaration target, IRewriteSession rewriteSession)
7574
}
7675

7776
var members = target.ParentDeclaration.DeclarationType == DeclarationType.Event
78-
? _state.DeclarationFinder
77+
? _declarationFinderProvider.DeclarationFinder
7978
.FindEventHandlers(target.ParentDeclaration)
8079
.ToList()
81-
: _state.DeclarationFinder
80+
: _declarationFinderProvider.DeclarationFinder
8281
.FindInterfaceImplementationMembers(target.ParentDeclaration)
8382
.Cast<Declaration>()
8483
.ToList();
8584

8685
foreach (var member in members)
8786
{
8887
var parameters =
89-
_state.DeclarationFinder.UserDeclarations(DeclarationType.Parameter)
88+
_declarationFinderProvider.DeclarationFinder.UserDeclarations(DeclarationType.Parameter)
9089
.Where(declaration => Equals(declaration.ParentDeclaration, member))
9190
.OrderBy(o => o.Selection.StartLine)
9291
.ThenBy(t => t.Selection.StartColumn)

0 commit comments

Comments
 (0)