Skip to content

Commit 4130256

Browse files
committed
Merge branch 'next' of https://github.com/rubberduck-vba/Rubberduck into Fix4694
# Conflicts: # Rubberduck.Main/Root/RubberduckIoCInstaller.cs
2 parents 6bef6a0 + f480325 commit 4130256

File tree

306 files changed

+19328
-9988
lines changed

Some content is hidden

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

306 files changed

+19328
-9988
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
---
2+
name: Bug report
3+
about: Rubberduck does not work as expected
4+
title: ''
5+
labels: bug
6+
assignees: ''
7+
8+
---
9+
**Rubberduck version information**
10+
The info below can be copy-paste-completed from the first lines of Rubberduck's Log or the About box:
11+
12+
Rubberduck version [...]
13+
Operating System: [...]
14+
Host Product: [...]
15+
Host Version: [...]
16+
Host Executable: [...]
17+
18+
19+
**Description**
20+
A clear and concise description of what the bug is.
21+
22+
**To Reproduce**
23+
Steps to reproduce the behavior:
24+
1. Go to '...'
25+
2. Click on '....'
26+
3. Scroll down to '....'
27+
4. See error
28+
29+
**Expected behavior**
30+
A clear and concise description of what you expected to happen.
31+
32+
**Screenshots**
33+
If applicable, add screenshots to help explain your problem.
34+
35+
**Logfile**
36+
Rubberduck generates extensive logging in TRACE-Level. If no log was created at `%APPDATA%\Rubberduck\Logs`, check your settings. Include this Log for bugreports about the behavior of Rubbberduck
37+
38+
**Additional context**
39+
Add any other context about the problem here.

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ If you like this project and would like to thank its contributors, you are welco
1717
[masterBuildStatus]:https://ci.appveyor.com/api/projects/status/we3pdnkeebo4nlck/branch/master?svg=true
1818
[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/Rubberduck-vba/rubberduck.svg)](http://isitmaintained.com/project/Rubberduck-vba/rubberduck "Average time to resolve an issue")
1919
[![Percentage of issues still open](http://isitmaintained.com/badge/open/Rubberduck-vba/rubberduck.svg)](http://isitmaintained.com/project/Rubberduck-vba/rubberduck "Percentage of issues still open")
20+
[![Chat on stackexchange](https://img.shields.io/badge/chat-on%20stackexchange-blue.svg)](https://chat.stackexchange.com/rooms/14929/vba-rubberducking)
21+
[![License](https://img.shields.io/github/license/rubberduck-vba/Rubberduck.svg)](https://github.com/rubberduck-vba/Rubberduck/blob/next/LICENSE)
2022

2123
> **[rubberduckvba.com](http://rubberduckvba.com)** [Wiki](https://github.com/rubberduck-vba/Rubberduck/wiki) [Rubberduck News](https://rubberduckvba.wordpress.com/)
2224
> devs@rubberduckvba.com
@@ -36,7 +38,7 @@ If you like this project and would like to thank its contributors, you are welco
3638

3739
Rubberduck is a COM add-in for the VBA IDE (VBE).
3840

39-
Copyright (C) 2014-2018 Rubberduck project contributors
41+
Copyright (C) 2014-2019 Rubberduck project contributors
4042

4143
This program is free software: you can redistribute it and/or modify
4244
it under the terms of the GNU General Public License as published by

Rubberduck.CodeAnalysis/Inspections/Concrete/NonReturningFunctionInspection.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ protected override IEnumerable<IInspectionResult> DoGetInspectionResults()
5151
private bool IsAssignedByRefArgument(Declaration enclosingProcedure, IdentifierReference reference)
5252
{
5353
var argExpression = reference.Context.GetAncestor<VBAParser.ArgumentExpressionContext>();
54-
var parameter = State.DeclarationFinder.FindParameterFromArgument(argExpression, enclosingProcedure);
54+
var parameter = State.DeclarationFinder.FindParameterOfNonDefaultMemberFromSimpleArgumentNotPassedByValExplicitly(argExpression, enclosingProcedure);
5555

5656
// note: not recursive, by design.
5757
return parameter != null

Rubberduck.CodeAnalysis/Inspections/Concrete/ParameterCanBeByValInspection.cs

Lines changed: 167 additions & 91 deletions
Large diffs are not rendered by default.

Rubberduck.CodeAnalysis/Inspections/Concrete/UnassignedVariableUsageInspection.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ protected override IEnumerable<IInspectionResult> DoGetInspectionResults()
5454
private bool IsAssignedByRefArgument(Declaration enclosingProcedure, IdentifierReference reference)
5555
{
5656
var argExpression = reference.Context.GetAncestor<VBAParser.ArgumentExpressionContext>();
57-
var parameter = State.DeclarationFinder.FindParameterFromArgument(argExpression, enclosingProcedure);
57+
var parameter = State.DeclarationFinder.FindParameterOfNonDefaultMemberFromSimpleArgumentNotPassedByValExplicitly(argExpression, enclosingProcedure);
5858

5959
// note: not recursive, by design.
6060
return parameter != null

Rubberduck.CodeAnalysis/Inspections/Concrete/VariableNotAssignedInspection.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ protected override IEnumerable<IInspectionResult> DoGetInspectionResults()
3737
private bool IsAssignedByRefArgument(Declaration enclosingProcedure, IdentifierReference reference)
3838
{
3939
var argExpression = reference.Context.GetAncestor<VBAParser.ArgumentExpressionContext>();
40-
var parameter = State.DeclarationFinder.FindParameterFromArgument(argExpression, enclosingProcedure);
40+
var parameter = State.DeclarationFinder.FindParameterOfNonDefaultMemberFromSimpleArgumentNotPassedByValExplicitly(argExpression, enclosingProcedure);
4141

4242
// note: not recursive, by design.
4343
return parameter != null

Rubberduck.CodeAnalysis/QuickFixes/EncapsulateFieldQuickFix.cs

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,38 +3,36 @@
33
using Rubberduck.Parsing.Inspections.Abstract;
44
using Rubberduck.Parsing.Rewriter;
55
using Rubberduck.Parsing.VBA;
6+
using Rubberduck.Refactorings;
67
using Rubberduck.Refactorings.EncapsulateField;
78
using Rubberduck.SmartIndenter;
8-
using Rubberduck.UI.Refactorings.EncapsulateField;
99
using Rubberduck.VBEditor.SafeComWrappers.Abstract;
1010

1111
namespace Rubberduck.Inspections.QuickFixes
1212
{
1313
public sealed class EncapsulateFieldQuickFix : QuickFixBase
1414
{
15-
private readonly IVBE _vbe;
1615
private readonly RubberduckParserState _state;
16+
private readonly IVBE _vbe;
1717
private readonly IRewritingManager _rewritingManager;
1818
private readonly IIndenter _indenter;
19-
20-
public EncapsulateFieldQuickFix(IVBE vbe, RubberduckParserState state, IIndenter indenter, IRewritingManager rewritingManager)
19+
private readonly IRefactoringPresenterFactory _factory;
20+
21+
public EncapsulateFieldQuickFix(RubberduckParserState state, IVBE vbe, IIndenter indenter, IRefactoringPresenterFactory factory, IRewritingManager rewritingManager)
2122
: base(typeof(EncapsulatePublicFieldInspection))
2223
{
23-
_vbe = vbe;
2424
_state = state;
25+
_vbe = vbe;
2526
_rewritingManager = rewritingManager;
2627
_indenter = indenter;
28+
_factory = factory;
2729
}
2830

2931
//The rewriteSession is optional since it is not used in this particular quickfix because it is a refactoring quickfix.
3032
public override void Fix(IInspectionResult result, IRewriteSession rewriteSession = null)
3133
{
32-
using (var view = new EncapsulateFieldDialog(new EncapsulateFieldViewModel(_state, _indenter)))
33-
{
34-
var factory = new EncapsulateFieldPresenterFactory(_vbe, _state, view);
35-
var refactoring = new EncapsulateFieldRefactoring(_vbe, _indenter, factory, _rewritingManager);
36-
refactoring.Refactor(result.Target);
37-
}
34+
var refactoring = new EncapsulateFieldRefactoring(_state, _vbe, _indenter, _factory, _rewritingManager);
35+
refactoring.Refactor(result.Target);
3836
}
3937

4038
public override string Description(IInspectionResult result)

Rubberduck.CodeAnalysis/QuickFixes/RemoveUnusedParameterQuickFix.cs

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
using Rubberduck.Inspections.Abstract;
22
using Rubberduck.Inspections.Concrete;
3-
using Rubberduck.Interaction;
43
using Rubberduck.Parsing.Inspections.Abstract;
54
using Rubberduck.Parsing.Rewriter;
65
using Rubberduck.Parsing.VBA;
6+
using Rubberduck.Refactorings;
77
using Rubberduck.Refactorings.RemoveParameters;
8-
using Rubberduck.UI.Refactorings.RemoveParameters;
98
using Rubberduck.VBEditor.SafeComWrappers.Abstract;
109

1110
namespace Rubberduck.Inspections.QuickFixes
@@ -14,30 +13,23 @@ public sealed class RemoveUnusedParameterQuickFix : QuickFixBase
1413
{
1514
private readonly IVBE _vbe;
1615
private readonly RubberduckParserState _state;
16+
private readonly IRefactoringPresenterFactory _factory;
1717
private readonly IRewritingManager _rewritingManager;
18-
private readonly IMessageBox _messageBox;
1918

20-
public RemoveUnusedParameterQuickFix(IVBE vbe, RubberduckParserState state, IMessageBox messageBox, IRewritingManager rewritingManager)
19+
public RemoveUnusedParameterQuickFix(IVBE vbe, RubberduckParserState state, IRefactoringPresenterFactory factory, IRewritingManager rewritingManager)
2120
: base(typeof(ParameterNotUsedInspection))
2221
{
2322
_vbe = vbe;
2423
_state = state;
24+
_factory = factory;
2525
_rewritingManager = rewritingManager;
26-
_messageBox = messageBox;
2726
}
2827

2928
//The rewriteSession is optional since it is not used in this particular quickfix because it is a refactoring quickfix.
3029
public override void Fix(IInspectionResult result, IRewriteSession rewriteSession = null)
3130
{
32-
using (var dialog = new RemoveParametersDialog(new RemoveParametersViewModel(_state)))
33-
{
34-
var refactoring = new RemoveParametersRefactoring(
35-
_vbe,
36-
new RemoveParametersPresenterFactory(_vbe, dialog, _state, _messageBox),
37-
_rewritingManager);
38-
39-
refactoring.QuickFix(_state, result.QualifiedSelection);
40-
}
31+
var refactoring = new RemoveParametersRefactoring(_state, _vbe, _factory, _rewritingManager);
32+
refactoring.QuickFix(_state, result.QualifiedSelection);
4133
}
4234

4335
public override string Description(IInspectionResult result) => Resources.Inspections.QuickFixes.RemoveUnusedParameterQuickFix;

Rubberduck.CodeAnalysis/QuickFixes/RenameDeclarationQuickFix.cs

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
using Rubberduck.Parsing.Inspections.Abstract;
77
using Rubberduck.Parsing.Rewriter;
88
using Rubberduck.Parsing.VBA;
9+
using Rubberduck.Refactorings;
910
using Rubberduck.Refactorings.Rename;
1011
using Rubberduck.Resources;
11-
using Rubberduck.UI.Refactorings.Rename;
1212
using Rubberduck.VBEditor.SafeComWrappers.Abstract;
1313

1414
namespace Rubberduck.Inspections.QuickFixes
@@ -19,8 +19,9 @@ public sealed class RenameDeclarationQuickFix : QuickFixBase
1919
private readonly RubberduckParserState _state;
2020
private readonly IRewritingManager _rewritingManager;
2121
private readonly IMessageBox _messageBox;
22-
23-
public RenameDeclarationQuickFix(IVBE vbe, RubberduckParserState state, IMessageBox messageBox, IRewritingManager rewritingManager)
22+
private readonly IRefactoringPresenterFactory _factory;
23+
24+
public RenameDeclarationQuickFix(IVBE vbe, RubberduckParserState state, IMessageBox messageBox, IRefactoringPresenterFactory factory, IRewritingManager rewritingManager)
2425
: base(typeof(HungarianNotationInspection),
2526
typeof(UseMeaningfulNameInspection),
2627
typeof(DefaultProjectNameInspection),
@@ -31,17 +32,14 @@ public RenameDeclarationQuickFix(IVBE vbe, RubberduckParserState state, IMessage
3132
_state = state;
3233
_rewritingManager = rewritingManager;
3334
_messageBox = messageBox;
35+
_factory = factory;
3436
}
3537

3638
//The rewriteSession is optional since it is not used in this particular quickfix because it is a refactoring quickfix.
3739
public override void Fix(IInspectionResult result, IRewriteSession rewriteSession = null)
3840
{
39-
using (var view = new RenameDialog(new RenameViewModel(_state)))
40-
{
41-
var factory = new RenamePresenterFactory(_vbe, view, _state);
42-
var refactoring = new RenameRefactoring(_vbe, factory, _messageBox, _state, _state.ProjectsProvider, _rewritingManager);
43-
refactoring.Refactor(result.Target);
44-
}
41+
var refactoring = new RenameRefactoring(_vbe, _factory, _messageBox, _state, _state.ProjectsProvider, _rewritingManager);
42+
refactoring.Refactor(result.Target);
4543
}
4644

4745
public override string Description(IInspectionResult result)

Rubberduck.Core/AddRemoveReferences/ReferenceModel.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ public bool Matches(ReferenceInfo info)
183183
FullPath.Equals(info.FullPath, StringComparison.OrdinalIgnoreCase) ||
184184
FullPath32.Equals(info.FullPath, StringComparison.OrdinalIgnoreCase) ||
185185
FullPath64.Equals(info.FullPath, StringComparison.OrdinalIgnoreCase) ||
186-
Guid.Equals(info.Guid);
186+
!Guid.Equals(Guid.Empty) && Guid.Equals(info.Guid);
187187
}
188188

189189
private void NotifyPropertyChanged([CallerMemberName] string propertyName = "")

0 commit comments

Comments
 (0)