Skip to content

Commit 2fc4217

Browse files
committed
Reduce constructor requirements on inspections
Require an IDeclarationFinderProvider instead of a RubberduckParserState.
1 parent 0c7da5a commit 2fc4217

File tree

119 files changed

+315
-359
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

119 files changed

+315
-359
lines changed

Rubberduck.CodeAnalysis/Inspections/Abstract/ArgumentReferenceInspectionFromDeclarationsBase.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,9 @@ protected override bool IsResultReference(IdentifierReference reference, Declara
3434

3535
public abstract class ArgumentReferenceInspectionFromDeclarationsBase<T> : IdentifierReferenceInspectionFromDeclarationsBase<T>
3636
{
37-
protected ArgumentReferenceInspectionFromDeclarationsBase(RubberduckParserState state)
38-
: base(state) { }
37+
protected ArgumentReferenceInspectionFromDeclarationsBase(IDeclarationFinderProvider declarationFinderProvider)
38+
: base(declarationFinderProvider)
39+
{}
3940

4041
protected abstract (bool isResult, T properties) IsUnsuitableArgumentWithAdditionalProperties(ArgumentReference reference, DeclarationFinder finder);
4142

Rubberduck.CodeAnalysis/Inspections/Abstract/DeclarationInspectionBase.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ namespace Rubberduck.Inspections.Abstract
1111
{
1212
public abstract class DeclarationInspectionBase : DeclarationInspectionBaseBase
1313
{
14-
protected DeclarationInspectionBase(RubberduckParserState state, params DeclarationType[] relevantDeclarationTypes)
15-
: base(state, relevantDeclarationTypes)
14+
protected DeclarationInspectionBase(IDeclarationFinderProvider declarationFinderProvider, params DeclarationType[] relevantDeclarationTypes)
15+
: base(declarationFinderProvider, relevantDeclarationTypes)
1616
{}
1717

18-
protected DeclarationInspectionBase(RubberduckParserState state, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
19-
: base(state, relevantDeclarationTypes, excludeDeclarationTypes)
18+
protected DeclarationInspectionBase(IDeclarationFinderProvider declarationFinderProvider, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
19+
: base(declarationFinderProvider, relevantDeclarationTypes, excludeDeclarationTypes)
2020
{}
2121

2222
protected abstract bool IsResultDeclaration(Declaration declaration, DeclarationFinder finder);
@@ -46,12 +46,12 @@ protected virtual IInspectionResult InspectionResult(Declaration declaration)
4646

4747
public abstract class DeclarationInspectionBase<T> : DeclarationInspectionBaseBase
4848
{
49-
protected DeclarationInspectionBase(RubberduckParserState state, params DeclarationType[] relevantDeclarationTypes)
50-
: base(state, relevantDeclarationTypes)
49+
protected DeclarationInspectionBase(IDeclarationFinderProvider declarationFinderProvider, params DeclarationType[] relevantDeclarationTypes)
50+
: base(declarationFinderProvider, relevantDeclarationTypes)
5151
{}
5252

53-
protected DeclarationInspectionBase(RubberduckParserState state, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
54-
: base(state, relevantDeclarationTypes, excludeDeclarationTypes)
53+
protected DeclarationInspectionBase(IDeclarationFinderProvider declarationFinderProvider , DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
54+
: base(declarationFinderProvider, relevantDeclarationTypes, excludeDeclarationTypes)
5555
{}
5656

5757
protected abstract (bool isResult, T properties) IsResultDeclarationWithAdditionalProperties(Declaration declaration, DeclarationFinder finder);

Rubberduck.CodeAnalysis/Inspections/Abstract/DeclarationInspectionBaseBase.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@ public abstract class DeclarationInspectionBaseBase : InspectionBase
1313
protected readonly DeclarationType[] RelevantDeclarationTypes;
1414
protected readonly DeclarationType[] ExcludeDeclarationTypes;
1515

16-
protected DeclarationInspectionBaseBase(RubberduckParserState state, params DeclarationType[] relevantDeclarationTypes)
17-
: base(state)
16+
protected DeclarationInspectionBaseBase(IDeclarationFinderProvider declarationFinderProvider, params DeclarationType[] relevantDeclarationTypes)
17+
: base(declarationFinderProvider)
1818
{
1919
RelevantDeclarationTypes = relevantDeclarationTypes;
2020
ExcludeDeclarationTypes = new DeclarationType[0];
2121
}
2222

23-
protected DeclarationInspectionBaseBase(RubberduckParserState state, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
24-
: base(state)
23+
protected DeclarationInspectionBaseBase(IDeclarationFinderProvider declarationFinderProvider, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
24+
: base(declarationFinderProvider)
2525
{
2626
RelevantDeclarationTypes = relevantDeclarationTypes;
2727
ExcludeDeclarationTypes = excludeDeclarationTypes;

Rubberduck.CodeAnalysis/Inspections/Abstract/DeclarationInspectionMultiResultBase.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ namespace Rubberduck.Inspections.Abstract
1111
{
1212
public abstract class DeclarationInspectionMultiResultBase<T> : DeclarationInspectionBaseBase
1313
{
14-
protected DeclarationInspectionMultiResultBase(RubberduckParserState state, params DeclarationType[] relevantDeclarationTypes)
15-
: base(state, relevantDeclarationTypes)
14+
protected DeclarationInspectionMultiResultBase(IDeclarationFinderProvider declarationFinderProvider, params DeclarationType[] relevantDeclarationTypes)
15+
: base(declarationFinderProvider, relevantDeclarationTypes)
1616
{}
1717

18-
protected DeclarationInspectionMultiResultBase(RubberduckParserState state, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
19-
: base(state, relevantDeclarationTypes, excludeDeclarationTypes)
18+
protected DeclarationInspectionMultiResultBase(IDeclarationFinderProvider declarationFinderProvider, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
19+
: base(declarationFinderProvider, relevantDeclarationTypes, excludeDeclarationTypes)
2020
{}
2121

2222
protected abstract IEnumerable<T> ResultProperties(Declaration declaration, DeclarationFinder finder);

Rubberduck.CodeAnalysis/Inspections/Abstract/DeclarationInspectionUsingGlobalInformationBase.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ namespace Rubberduck.Inspections.Abstract
1111
{
1212
public abstract class DeclarationInspectionUsingGlobalInformationBase<TGlobalInfo> : DeclarationInspectionUsingGlobalInformationBaseBase<TGlobalInfo>
1313
{
14-
protected DeclarationInspectionUsingGlobalInformationBase(RubberduckParserState state, params DeclarationType[] relevantDeclarationTypes)
15-
: base(state, relevantDeclarationTypes)
14+
protected DeclarationInspectionUsingGlobalInformationBase(IDeclarationFinderProvider declarationFinderProvider, params DeclarationType[] relevantDeclarationTypes)
15+
: base(declarationFinderProvider, relevantDeclarationTypes)
1616
{}
1717

18-
protected DeclarationInspectionUsingGlobalInformationBase(RubberduckParserState state, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
19-
: base(state, relevantDeclarationTypes, excludeDeclarationTypes)
18+
protected DeclarationInspectionUsingGlobalInformationBase(IDeclarationFinderProvider declarationFinderProvider, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
19+
: base(declarationFinderProvider, relevantDeclarationTypes, excludeDeclarationTypes)
2020
{}
2121

2222
protected abstract bool IsResultDeclaration(Declaration declaration, DeclarationFinder finder, TGlobalInfo globalInfo);
@@ -46,12 +46,12 @@ protected virtual IInspectionResult InspectionResult(Declaration declaration)
4646

4747
public abstract class DeclarationInspectionUsingGlobalInformationBase<TGlobalInfo,TProperties> : DeclarationInspectionUsingGlobalInformationBaseBase<TGlobalInfo>
4848
{
49-
protected DeclarationInspectionUsingGlobalInformationBase(RubberduckParserState state, params DeclarationType[] relevantDeclarationTypes)
50-
: base(state, relevantDeclarationTypes)
49+
protected DeclarationInspectionUsingGlobalInformationBase(IDeclarationFinderProvider declarationFinderProvider, params DeclarationType[] relevantDeclarationTypes)
50+
: base(declarationFinderProvider, relevantDeclarationTypes)
5151
{}
5252

53-
protected DeclarationInspectionUsingGlobalInformationBase(RubberduckParserState state, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
54-
: base(state, relevantDeclarationTypes, excludeDeclarationTypes)
53+
protected DeclarationInspectionUsingGlobalInformationBase(IDeclarationFinderProvider declarationFinderProvider, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
54+
: base(declarationFinderProvider, relevantDeclarationTypes, excludeDeclarationTypes)
5555
{}
5656

5757
protected abstract (bool isResult, TProperties properties) IsResultDeclarationWithAdditionalProperties(Declaration declaration, DeclarationFinder finder, TGlobalInfo globalInformation);

Rubberduck.CodeAnalysis/Inspections/Abstract/DeclarationInspectionUsingGlobalInformationBaseBase.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@ public abstract class DeclarationInspectionUsingGlobalInformationBaseBase<T> : I
1313
protected readonly DeclarationType[] RelevantDeclarationTypes;
1414
protected readonly DeclarationType[] ExcludeDeclarationTypes;
1515

16-
protected DeclarationInspectionUsingGlobalInformationBaseBase(RubberduckParserState state, params DeclarationType[] relevantDeclarationTypes)
17-
: base(state)
16+
protected DeclarationInspectionUsingGlobalInformationBaseBase(IDeclarationFinderProvider declarationFinderProvider, params DeclarationType[] relevantDeclarationTypes)
17+
: base(declarationFinderProvider)
1818
{
1919
RelevantDeclarationTypes = relevantDeclarationTypes;
2020
ExcludeDeclarationTypes = new DeclarationType[0];
2121
}
2222

23-
protected DeclarationInspectionUsingGlobalInformationBaseBase(RubberduckParserState state, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
24-
: base(state)
23+
protected DeclarationInspectionUsingGlobalInformationBaseBase(IDeclarationFinderProvider declarationFinderProvider, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
24+
: base(declarationFinderProvider)
2525
{
2626
RelevantDeclarationTypes = relevantDeclarationTypes;
2727
ExcludeDeclarationTypes = excludeDeclarationTypes;

Rubberduck.CodeAnalysis/Inspections/Abstract/IdentifierReferenceInspectionBase.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ namespace Rubberduck.Inspections.Abstract
1111
{
1212
public abstract class IdentifierReferenceInspectionBase : InspectionBase
1313
{
14-
protected IdentifierReferenceInspectionBase(RubberduckParserState state)
15-
: base(state)
14+
protected IdentifierReferenceInspectionBase(IDeclarationFinderProvider declarationFinderProvider)
15+
: base(declarationFinderProvider)
1616
{}
1717

1818
protected abstract bool IsResultReference(IdentifierReference reference, DeclarationFinder finder);
@@ -64,9 +64,9 @@ protected virtual IInspectionResult InspectionResult(IdentifierReference referen
6464

6565
public abstract class IdentifierReferenceInspectionBase<T> : InspectionBase
6666
{
67-
protected IdentifierReferenceInspectionBase(RubberduckParserState state)
68-
: base(state)
69-
{ }
67+
protected IdentifierReferenceInspectionBase(IDeclarationFinderProvider declarationFinderProvider)
68+
: base(declarationFinderProvider)
69+
{}
7070

7171
protected abstract (bool isResult, T properties) IsResultReferenceWithAdditionalProperties(IdentifierReference reference, DeclarationFinder finder);
7272
protected abstract string ResultDescription(IdentifierReference reference, T properties);

Rubberduck.CodeAnalysis/Inspections/Abstract/IdentifierReferenceInspectionFromDeclarationsBase.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ namespace Rubberduck.Inspections.Abstract
1111
{
1212
public abstract class IdentifierReferenceInspectionFromDeclarationsBase : InspectionBase
1313
{
14-
protected IdentifierReferenceInspectionFromDeclarationsBase(RubberduckParserState state)
15-
: base(state)
14+
protected IdentifierReferenceInspectionFromDeclarationsBase(IDeclarationFinderProvider declarationFinderProvider)
15+
: base(declarationFinderProvider)
1616
{}
1717

1818
protected abstract IEnumerable<Declaration> ObjectionableDeclarations(DeclarationFinder finder);
@@ -69,9 +69,9 @@ protected virtual IInspectionResult InspectionResult(IdentifierReference referen
6969

7070
public abstract class IdentifierReferenceInspectionFromDeclarationsBase<T> : InspectionBase
7171
{
72-
protected IdentifierReferenceInspectionFromDeclarationsBase(RubberduckParserState state)
73-
: base(state)
74-
{ }
72+
protected IdentifierReferenceInspectionFromDeclarationsBase(IDeclarationFinderProvider declarationFinderProvider)
73+
: base(declarationFinderProvider)
74+
{}
7575

7676
protected abstract IEnumerable<Declaration> ObjectionableDeclarations(DeclarationFinder finder);
7777
protected abstract (bool isResult, T properties) IsResultReferenceWithAdditionalProperties(IdentifierReference reference, DeclarationFinder finder);

Rubberduck.CodeAnalysis/Inspections/Abstract/ImplicitTypeInspectionBase.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ namespace Rubberduck.Inspections.Abstract
66
{
77
public abstract class ImplicitTypeInspectionBase : DeclarationInspectionBase
88
{
9-
protected ImplicitTypeInspectionBase(RubberduckParserState state, params DeclarationType[] relevantDeclarationTypes)
10-
: base(state, relevantDeclarationTypes)
9+
protected ImplicitTypeInspectionBase(IDeclarationFinderProvider declarationFinderProvider, params DeclarationType[] relevantDeclarationTypes)
10+
: base(declarationFinderProvider, relevantDeclarationTypes)
1111
{}
1212

13-
protected ImplicitTypeInspectionBase(RubberduckParserState state, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
14-
: base(state, relevantDeclarationTypes, excludeDeclarationTypes)
13+
protected ImplicitTypeInspectionBase(IDeclarationFinderProvider declarationFinderProvider, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
14+
: base(declarationFinderProvider, relevantDeclarationTypes, excludeDeclarationTypes)
1515
{}
1616

1717
protected override bool IsResultDeclaration(Declaration declaration, DeclarationFinder finder)

Rubberduck.CodeAnalysis/Inspections/Abstract/IsMissingInspectionBase.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@ namespace Rubberduck.Inspections.Inspections.Abstract
1010
{
1111
public abstract class IsMissingInspectionBase : ArgumentReferenceInspectionFromDeclarationsBase<ParameterDeclaration>
1212
{
13-
protected IsMissingInspectionBase(RubberduckParserState state)
14-
: base(state) { }
13+
protected IsMissingInspectionBase(IDeclarationFinderProvider declarationFinderProvider)
14+
: base(declarationFinderProvider)
15+
{}
1516

1617
private static readonly List<string> IsMissingQualifiedNames = new List<string>
1718
{

0 commit comments

Comments
 (0)