Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/next' into Issue5408_SettingsW…
Browse files Browse the repository at this point in the history
…indowAccessKeys
  • Loading branch information
IvenBach committed Jul 8, 2020
2 parents 8b4881f + e498d95 commit 12f4f07
Show file tree
Hide file tree
Showing 804 changed files with 26,436 additions and 9,695 deletions.
15 changes: 8 additions & 7 deletions README.md
@@ -1,12 +1,6 @@
<img alt="Rubberduck Open-Source VBE Add-In - VBA6 | VBA7 x86/x64 | VB6" src="https://user-images.githubusercontent.com/5751684/48656196-a507af80-e9ef-11e8-9c09-1ce3c619c019.png" />

<!-- campaign is no longer accepting donations
### Donate!

If you like this project and would like to thank its contributors, you are welcome to support our GoFundMe campaign to finance Rubberduck swag and international shipping - contributors will be getting t-shirts, mugs, and other cool things.
[![GoFundMe campaign](https://user-images.githubusercontent.com/5751684/29191799-e3d20b72-7dec-11e7-8ec6-0c69da4a3135.png)](https://www.gofundme.com/rubberduckvba)
-->
---

|Branch | Description | Build Status | Download link |
|------------|---|--------------|-|
Expand All @@ -20,9 +14,16 @@ If you like this project and would like to thank its contributors, you are welco
[![Chat on stackexchange](https://img.shields.io/badge/chat-on%20stackexchange-blue.svg)](https://chat.stackexchange.com/rooms/14929/vba-rubberducking)
[![License](https://img.shields.io/github/license/rubberduck-vba/Rubberduck.svg)](https://github.com/rubberduck-vba/Rubberduck/blob/next/LICENSE)


> **[rubberduckvba.com](http://rubberduckvba.com)** | **[Rubberduck News](https://rubberduckvba.wordpress.com/)**
| **[Twitter (@rubberduckvba)](https://twitter.com/rubberduckvba)** | **[Wiki](https://github.com/rubberduck-vba/Rubberduck/wiki)**

Rubberduck is free, but keeping it visible online isn't. Donate to help us pay for hosting and keep the blog free of ads!

|Donate|Note |
|:------:|-|
|<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=UY5K5X36B7T2S&currency_code=CAD&source=url"><img alt="Donate via PayPal" src="https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif"></a><p><sub>via PayPal</sub></p>|Donations in excess of what's needed to cover our fees will be donated to the <a href="https://mssociety.ca/">Multiple Sclerosis Society of Canada</a>.|

---

* [Attributions](https://github.com/rubberduck-vba/Rubberduck/blob/next/docs/Attributions.md)
Expand Down
@@ -1,13 +1,12 @@
using System.Collections.Generic;
using System.Linq;
using Rubberduck.Inspections.Abstract;
using Rubberduck.Parsing.Symbols;
using Rubberduck.Parsing.VBA;
using Rubberduck.Parsing.VBA.DeclarationCaching;

namespace Rubberduck.Inspections.Inspections.Abstract
namespace Rubberduck.CodeAnalysis.Inspections.Abstract
{
public abstract class ArgumentReferenceInspectionFromDeclarationsBase : IdentifierReferenceInspectionFromDeclarationsBase
internal abstract class ArgumentReferenceInspectionFromDeclarationsBase : IdentifierReferenceInspectionFromDeclarationsBase
{
protected ArgumentReferenceInspectionFromDeclarationsBase(RubberduckParserState state)
: base(state) { }
Expand All @@ -32,10 +31,11 @@ protected override bool IsResultReference(IdentifierReference reference, Declara
}
}

public abstract class ArgumentReferenceInspectionFromDeclarationsBase<T> : IdentifierReferenceInspectionFromDeclarationsBase<T>
internal abstract class ArgumentReferenceInspectionFromDeclarationsBase<T> : IdentifierReferenceInspectionFromDeclarationsBase<T>
{
protected ArgumentReferenceInspectionFromDeclarationsBase(RubberduckParserState state)
: base(state) { }
protected ArgumentReferenceInspectionFromDeclarationsBase(IDeclarationFinderProvider declarationFinderProvider)
: base(declarationFinderProvider)
{}

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

Expand Down
@@ -1,22 +1,21 @@
using System.Collections.Generic;
using System.Linq;
using Rubberduck.Inspections.Results;
using Rubberduck.Parsing.Inspections.Abstract;
using Rubberduck.CodeAnalysis.Inspections.Results;
using Rubberduck.Parsing.Symbols;
using Rubberduck.Parsing.VBA;
using Rubberduck.Parsing.VBA.DeclarationCaching;
using Rubberduck.VBEditor;

namespace Rubberduck.Inspections.Abstract
namespace Rubberduck.CodeAnalysis.Inspections.Abstract
{
public abstract class DeclarationInspectionBase : DeclarationInspectionBaseBase
internal abstract class DeclarationInspectionBase : DeclarationInspectionBaseBase
{
protected DeclarationInspectionBase(RubberduckParserState state, params DeclarationType[] relevantDeclarationTypes)
: base(state, relevantDeclarationTypes)
protected DeclarationInspectionBase(IDeclarationFinderProvider declarationFinderProvider, params DeclarationType[] relevantDeclarationTypes)
: base(declarationFinderProvider, relevantDeclarationTypes)
{}

protected DeclarationInspectionBase(RubberduckParserState state, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
: base(state, relevantDeclarationTypes, excludeDeclarationTypes)
protected DeclarationInspectionBase(IDeclarationFinderProvider declarationFinderProvider, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
: base(declarationFinderProvider, relevantDeclarationTypes, excludeDeclarationTypes)
{}

protected abstract bool IsResultDeclaration(Declaration declaration, DeclarationFinder finder);
Expand Down Expand Up @@ -44,14 +43,14 @@ protected virtual IInspectionResult InspectionResult(Declaration declaration)
}
}

public abstract class DeclarationInspectionBase<T> : DeclarationInspectionBaseBase
internal abstract class DeclarationInspectionBase<T> : DeclarationInspectionBaseBase
{
protected DeclarationInspectionBase(RubberduckParserState state, params DeclarationType[] relevantDeclarationTypes)
: base(state, relevantDeclarationTypes)
protected DeclarationInspectionBase(IDeclarationFinderProvider declarationFinderProvider, params DeclarationType[] relevantDeclarationTypes)
: base(declarationFinderProvider, relevantDeclarationTypes)
{}

protected DeclarationInspectionBase(RubberduckParserState state, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
: base(state, relevantDeclarationTypes, excludeDeclarationTypes)
protected DeclarationInspectionBase(IDeclarationFinderProvider declarationFinderProvider , DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
: base(declarationFinderProvider, relevantDeclarationTypes, excludeDeclarationTypes)
{}

protected abstract (bool isResult, T properties) IsResultDeclarationWithAdditionalProperties(Declaration declaration, DeclarationFinder finder);
Expand Down
@@ -1,60 +1,52 @@
using System.Collections.Generic;
using System.Linq;
using Rubberduck.Parsing.Inspections.Abstract;
using Rubberduck.Parsing.Symbols;
using Rubberduck.Parsing.VBA;
using Rubberduck.Parsing.VBA.DeclarationCaching;
using Rubberduck.VBEditor;

namespace Rubberduck.Inspections.Abstract
namespace Rubberduck.CodeAnalysis.Inspections.Abstract
{
public abstract class DeclarationInspectionBaseBase : InspectionBase
/// <summary>
/// This is a base class for the other declaration inspection base classes. It should not be implemented directly by concrete inspections.
/// </summary>
internal abstract class DeclarationInspectionBaseBase : InspectionBase
{
protected readonly DeclarationType[] RelevantDeclarationTypes;
protected readonly DeclarationType[] ExcludeDeclarationTypes;
private readonly DeclarationType[] _relevantDeclarationTypes;
private readonly DeclarationType[] _excludeDeclarationTypes;

protected DeclarationInspectionBaseBase(RubberduckParserState state, params DeclarationType[] relevantDeclarationTypes)
: base(state)
protected DeclarationInspectionBaseBase(IDeclarationFinderProvider declarationFinderProvider, params DeclarationType[] relevantDeclarationTypes)
: base(declarationFinderProvider)
{
RelevantDeclarationTypes = relevantDeclarationTypes;
ExcludeDeclarationTypes = new DeclarationType[0];
_relevantDeclarationTypes = relevantDeclarationTypes;
_excludeDeclarationTypes = new DeclarationType[0];
}

protected DeclarationInspectionBaseBase(RubberduckParserState state, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
: base(state)
protected DeclarationInspectionBaseBase(IDeclarationFinderProvider declarationFinderProvider, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
: base(declarationFinderProvider)
{
RelevantDeclarationTypes = relevantDeclarationTypes;
ExcludeDeclarationTypes = excludeDeclarationTypes;
_relevantDeclarationTypes = relevantDeclarationTypes;
_excludeDeclarationTypes = excludeDeclarationTypes;
}

protected abstract IEnumerable<IInspectionResult> DoGetInspectionResults(QualifiedModuleName module, DeclarationFinder finder);

protected override IEnumerable<IInspectionResult> DoGetInspectionResults()
protected override IEnumerable<IInspectionResult> DoGetInspectionResults(DeclarationFinder finder)
{
var finder = DeclarationFinderProvider.DeclarationFinder;

return finder.UserDeclarations(DeclarationType.Module)
.Concat(finder.UserDeclarations(DeclarationType.Project))
.Where(declaration => declaration != null)
.SelectMany(declaration => DoGetInspectionResults(declaration.QualifiedModuleName, finder))
.ToList();
}

protected virtual IEnumerable<IInspectionResult> DoGetInspectionResults(QualifiedModuleName module)
{
var finder = DeclarationFinderProvider.DeclarationFinder;
return DoGetInspectionResults(module, finder);
}

protected virtual IEnumerable<Declaration> RelevantDeclarationsInModule(QualifiedModuleName module, DeclarationFinder finder)
{
var potentiallyRelevantDeclarations = RelevantDeclarationTypes.Length == 0
var potentiallyRelevantDeclarations = _relevantDeclarationTypes.Length == 0
? finder.Members(module)
: RelevantDeclarationTypes
: _relevantDeclarationTypes
.SelectMany(declarationType => finder.Members(module, declarationType))
.Distinct();
return potentiallyRelevantDeclarations
.Where(declaration => !ExcludeDeclarationTypes.Contains(declaration.DeclarationType));
.Where(declaration => !_excludeDeclarationTypes.Contains(declaration.DeclarationType));
}
}
}
@@ -1,22 +1,21 @@
using System.Collections.Generic;
using System.Linq;
using Rubberduck.Inspections.Results;
using Rubberduck.Parsing.Inspections.Abstract;
using Rubberduck.CodeAnalysis.Inspections.Results;
using Rubberduck.Parsing.Symbols;
using Rubberduck.Parsing.VBA;
using Rubberduck.Parsing.VBA.DeclarationCaching;
using Rubberduck.VBEditor;

namespace Rubberduck.Inspections.Abstract
namespace Rubberduck.CodeAnalysis.Inspections.Abstract
{
public abstract class DeclarationInspectionMultiResultBase<T> : DeclarationInspectionBaseBase
internal abstract class DeclarationInspectionMultiResultBase<T> : DeclarationInspectionBaseBase
{
protected DeclarationInspectionMultiResultBase(RubberduckParserState state, params DeclarationType[] relevantDeclarationTypes)
: base(state, relevantDeclarationTypes)
protected DeclarationInspectionMultiResultBase(IDeclarationFinderProvider declarationFinderProvider, params DeclarationType[] relevantDeclarationTypes)
: base(declarationFinderProvider, relevantDeclarationTypes)
{}

protected DeclarationInspectionMultiResultBase(RubberduckParserState state, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
: base(state, relevantDeclarationTypes, excludeDeclarationTypes)
protected DeclarationInspectionMultiResultBase(IDeclarationFinderProvider declarationFinderProvider, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
: base(declarationFinderProvider, relevantDeclarationTypes, excludeDeclarationTypes)
{}

protected abstract IEnumerable<T> ResultProperties(Declaration declaration, DeclarationFinder finder);
Expand Down
@@ -1,22 +1,21 @@
using System.Collections.Generic;
using System.Linq;
using Rubberduck.Inspections.Results;
using Rubberduck.Parsing.Inspections.Abstract;
using Rubberduck.CodeAnalysis.Inspections.Results;
using Rubberduck.Parsing.Symbols;
using Rubberduck.Parsing.VBA;
using Rubberduck.Parsing.VBA.DeclarationCaching;
using Rubberduck.VBEditor;

namespace Rubberduck.Inspections.Abstract
namespace Rubberduck.CodeAnalysis.Inspections.Abstract
{
public abstract class DeclarationInspectionUsingGlobalInformationBase<TGlobalInfo> : DeclarationInspectionUsingGlobalInformationBaseBase<TGlobalInfo>
internal abstract class DeclarationInspectionUsingGlobalInformationBase<TGlobalInfo> : DeclarationInspectionUsingGlobalInformationBaseBase<TGlobalInfo>
{
protected DeclarationInspectionUsingGlobalInformationBase(RubberduckParserState state, params DeclarationType[] relevantDeclarationTypes)
: base(state, relevantDeclarationTypes)
protected DeclarationInspectionUsingGlobalInformationBase(IDeclarationFinderProvider declarationFinderProvider, params DeclarationType[] relevantDeclarationTypes)
: base(declarationFinderProvider, relevantDeclarationTypes)
{}

protected DeclarationInspectionUsingGlobalInformationBase(RubberduckParserState state, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
: base(state, relevantDeclarationTypes, excludeDeclarationTypes)
protected DeclarationInspectionUsingGlobalInformationBase(IDeclarationFinderProvider declarationFinderProvider, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
: base(declarationFinderProvider, relevantDeclarationTypes, excludeDeclarationTypes)
{}

protected abstract bool IsResultDeclaration(Declaration declaration, DeclarationFinder finder, TGlobalInfo globalInfo);
Expand Down Expand Up @@ -44,14 +43,14 @@ protected virtual IInspectionResult InspectionResult(Declaration declaration)
}
}

public abstract class DeclarationInspectionUsingGlobalInformationBase<TGlobalInfo,TProperties> : DeclarationInspectionUsingGlobalInformationBaseBase<TGlobalInfo>
internal abstract class DeclarationInspectionUsingGlobalInformationBase<TGlobalInfo,TProperties> : DeclarationInspectionUsingGlobalInformationBaseBase<TGlobalInfo>
{
protected DeclarationInspectionUsingGlobalInformationBase(RubberduckParserState state, params DeclarationType[] relevantDeclarationTypes)
: base(state, relevantDeclarationTypes)
protected DeclarationInspectionUsingGlobalInformationBase(IDeclarationFinderProvider declarationFinderProvider, params DeclarationType[] relevantDeclarationTypes)
: base(declarationFinderProvider, relevantDeclarationTypes)
{}

protected DeclarationInspectionUsingGlobalInformationBase(RubberduckParserState state, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
: base(state, relevantDeclarationTypes, excludeDeclarationTypes)
protected DeclarationInspectionUsingGlobalInformationBase(IDeclarationFinderProvider declarationFinderProvider, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
: base(declarationFinderProvider, relevantDeclarationTypes, excludeDeclarationTypes)
{}

protected abstract (bool isResult, TProperties properties) IsResultDeclarationWithAdditionalProperties(Declaration declaration, DeclarationFinder finder, TGlobalInfo globalInformation);
Expand Down
@@ -1,27 +1,26 @@
using System.Collections.Generic;
using System.Linq;
using Rubberduck.Parsing.Inspections.Abstract;
using Rubberduck.Parsing.Symbols;
using Rubberduck.Parsing.VBA;
using Rubberduck.Parsing.VBA.DeclarationCaching;
using Rubberduck.VBEditor;

namespace Rubberduck.Inspections.Abstract
namespace Rubberduck.CodeAnalysis.Inspections.Abstract
{
public abstract class DeclarationInspectionUsingGlobalInformationBaseBase<T> : InspectionBase
internal abstract class DeclarationInspectionUsingGlobalInformationBaseBase<T> : InspectionBase
{
protected readonly DeclarationType[] RelevantDeclarationTypes;
protected readonly DeclarationType[] ExcludeDeclarationTypes;

protected DeclarationInspectionUsingGlobalInformationBaseBase(RubberduckParserState state, params DeclarationType[] relevantDeclarationTypes)
: base(state)
protected DeclarationInspectionUsingGlobalInformationBaseBase(IDeclarationFinderProvider declarationFinderProvider, params DeclarationType[] relevantDeclarationTypes)
: base(declarationFinderProvider)
{
RelevantDeclarationTypes = relevantDeclarationTypes;
ExcludeDeclarationTypes = new DeclarationType[0];
}

protected DeclarationInspectionUsingGlobalInformationBaseBase(RubberduckParserState state, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
: base(state)
protected DeclarationInspectionUsingGlobalInformationBaseBase(IDeclarationFinderProvider declarationFinderProvider, DeclarationType[] relevantDeclarationTypes, DeclarationType[] excludeDeclarationTypes)
: base(declarationFinderProvider)
{
RelevantDeclarationTypes = relevantDeclarationTypes;
ExcludeDeclarationTypes = excludeDeclarationTypes;
Expand All @@ -38,9 +37,8 @@ protected virtual T GlobalInformation(QualifiedModuleName module, DeclarationFin
return GlobalInformation(finder);
}

protected override IEnumerable<IInspectionResult> DoGetInspectionResults()
protected override IEnumerable<IInspectionResult> DoGetInspectionResults(DeclarationFinder finder)
{
var finder = DeclarationFinderProvider.DeclarationFinder;
var globalInformation = GlobalInformation(finder);

return finder.UserDeclarations(DeclarationType.Module)
Expand All @@ -50,9 +48,8 @@ protected override IEnumerable<IInspectionResult> DoGetInspectionResults()
.ToList();
}

protected virtual IEnumerable<IInspectionResult> DoGetInspectionResults(QualifiedModuleName module)
protected override IEnumerable<IInspectionResult> DoGetInspectionResults(QualifiedModuleName module, DeclarationFinder finder)
{
var finder = DeclarationFinderProvider.DeclarationFinder;
var globalInformation = GlobalInformation(module, finder);
return DoGetInspectionResults(module, finder, globalInformation);
}
Expand Down

0 comments on commit 12f4f07

Please sign in to comment.