Skip to content

Commit 9137c48

Browse files
committed
Merge branch 'next' of https://github.com/rubberduck-vba/Rubberduck into next
2 parents 44eb5af + 760ec98 commit 9137c48

23 files changed

+303
-168
lines changed

RetailCoder.VBE/App.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ public void Startup()
150150
_appMenus.Initialize();
151151
_hooks.HookHotkeys(); // need to hook hotkeys before we localize menus, to correctly display ShortcutTexts
152152
_appMenus.Localize();
153-
Task.Delay(1000).ContinueWith(t => UiDispatcher.Invoke(() => _parser.State.OnParseRequested(this))).ConfigureAwait(false);
153+
Task.Delay(1000).ContinueWith(t => UiDispatcher.Invoke(() => _parser.State.OnParseRequested(this)));
154154
UpdateLoggingLevel();
155155
}
156156

RetailCoder.VBE/Inspections/FunctionReturnValueNotUsedInspectionResult.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
using System.Collections.Generic;
55
using System.Linq;
66
using Rubberduck.Parsing.Symbols;
7+
using Rubberduck.UI;
78

89
namespace Rubberduck.Inspections
910
{
1011
public class FunctionReturnValueNotUsedInspectionResult : InspectionResultBase
1112
{
1213
private readonly IEnumerable<CodeInspectionQuickFix> _quickFixes;
13-
private QualifiedMemberName _memberName;
1414

1515
public FunctionReturnValueNotUsedInspectionResult(
1616
IInspection inspection,
@@ -49,5 +49,10 @@ public override string Description
4949
return string.Format(InspectionsUI.FunctionReturnValueNotUsedInspectionResultFormat, Target.IdentifierName);
5050
}
5151
}
52+
53+
public override NavigateCodeEventArgs GetNavigationArgs()
54+
{
55+
return new NavigateCodeEventArgs(Target);
56+
}
5257
}
5358
}

RetailCoder.VBE/Inspections/IdentifierNotUsedInspectionResult.cs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,19 @@
22
using Antlr4.Runtime;
33
using Rubberduck.Common;
44
using Rubberduck.Parsing.Symbols;
5+
using Rubberduck.UI;
56
using Rubberduck.VBEditor;
67

78
namespace Rubberduck.Inspections
89
{
910
public class IdentifierNotUsedInspectionResult : InspectionResultBase
1011
{
11-
private readonly Declaration _target;
1212
private readonly IEnumerable<CodeInspectionQuickFix> _quickFixes;
1313

1414
public IdentifierNotUsedInspectionResult(IInspection inspection, Declaration target,
1515
ParserRuleContext context, QualifiedModuleName qualifiedName)
16-
: base(inspection, qualifiedName, context)
16+
: base(inspection, qualifiedName, context, target)
1717
{
18-
_target = target;
1918
_quickFixes = new CodeInspectionQuickFix[]
2019
{
2120
new RemoveUnusedDeclarationQuickFix(context, QualifiedSelection),
@@ -28,9 +27,14 @@ public override string Description
2827
{
2928
get
3029
{
31-
return string.Format(InspectionsUI.IdentifierNotUsedInspectionResultFormat, _target.DeclarationType.ToLocalizedString(), _target.IdentifierName);
30+
return string.Format(InspectionsUI.IdentifierNotUsedInspectionResultFormat, Target.DeclarationType.ToLocalizedString(), Target.IdentifierName);
3231
}
3332
}
33+
34+
public override NavigateCodeEventArgs GetNavigationArgs()
35+
{
36+
return new NavigateCodeEventArgs(Target);
37+
}
3438
}
3539

3640
/// <summary>

RetailCoder.VBE/Inspections/ImplicitPublicMemberInspectionResult.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using Rubberduck.Parsing;
44
using Rubberduck.Parsing.Grammar;
55
using Rubberduck.Parsing.Symbols;
6+
using Rubberduck.UI;
67
using Rubberduck.VBEditor;
78

89
namespace Rubberduck.Inspections
@@ -30,6 +31,11 @@ public override string Description
3031
return string.Format(InspectionsUI.ImplicitPublicMemberInspectionResultFormat, Target.IdentifierName);
3132
}
3233
}
34+
35+
public override NavigateCodeEventArgs GetNavigationArgs()
36+
{
37+
return new NavigateCodeEventArgs(Target);
38+
}
3339
}
3440

3541
public class SpecifyExplicitPublicModifierQuickFix : CodeInspectionQuickFix

RetailCoder.VBE/Inspections/ImplicitVariantReturnTypeInspection.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public override IEnumerable<InspectionResultBase> GetInspectionResults()
3232
&& ProcedureTypes.Contains(item.DeclarationType)
3333
&& !item.IsTypeSpecified
3434
let issue = new {Declaration = item, QualifiedContext = new QualifiedContext<ParserRuleContext>(item.QualifiedName, item.Context)}
35-
select new ImplicitVariantReturnTypeInspectionResult(this, issue.Declaration.IdentifierName, issue.QualifiedContext);
35+
select new ImplicitVariantReturnTypeInspectionResult(this, issue.Declaration.IdentifierName, issue.QualifiedContext, item);
3636
return issues;
3737
}
3838
}

RetailCoder.VBE/Inspections/ImplicitVariantReturnTypeInspectionResult.cs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
using Antlr4.Runtime;
33
using Rubberduck.Parsing;
44
using Rubberduck.Parsing.Grammar;
5+
using Rubberduck.Parsing.Symbols;
56
using Rubberduck.Parsing.VBA.Nodes;
7+
using Rubberduck.UI;
68
using Rubberduck.VBEditor;
79

810
namespace Rubberduck.Inspections
@@ -12,8 +14,8 @@ public sealed class ImplicitVariantReturnTypeInspectionResult : InspectionResult
1214
private readonly string _identifierName;
1315
private readonly IEnumerable<CodeInspectionQuickFix> _quickFixes;
1416

15-
public ImplicitVariantReturnTypeInspectionResult(IInspection inspection, string identifierName, QualifiedContext<ParserRuleContext> qualifiedContext)
16-
: base(inspection, qualifiedContext.ModuleName, qualifiedContext.Context)
17+
public ImplicitVariantReturnTypeInspectionResult(IInspection inspection, string identifierName, QualifiedContext<ParserRuleContext> qualifiedContext, Declaration target)
18+
: base(inspection, qualifiedContext.ModuleName, qualifiedContext.Context, target)
1719
{
1820
_identifierName = identifierName;
1921
_quickFixes = new CodeInspectionQuickFix[]
@@ -33,6 +35,11 @@ public override string Description
3335
_identifierName);
3436
}
3537
}
38+
39+
public override NavigateCodeEventArgs GetNavigationArgs()
40+
{
41+
return new NavigateCodeEventArgs(Target);
42+
}
3643
}
3744

3845
public class SetExplicitVariantReturnTypeQuickFix : CodeInspectionQuickFix

RetailCoder.VBE/Inspections/InspectionResultBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ public override string ToString()
108108
QualifiedSelection.Selection.StartLine);
109109
}
110110

111-
public NavigateCodeEventArgs GetNavigationArgs()
111+
public virtual NavigateCodeEventArgs GetNavigationArgs()
112112
{
113113
return new NavigateCodeEventArgs(QualifiedSelection);
114114
}

RetailCoder.VBE/Inspections/Inspector.cs

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,8 @@ public async Task<IEnumerable<ICodeInspectionResult>> FindIssuesAsync(Rubberduck
5555
return new ICodeInspectionResult[] { };
5656
}
5757

58-
await Task.Yield();
59-
6058
state.OnStatusMessageUpdate(RubberduckUI.CodeInspections_Inspecting);
6159
UpdateInspectionSeverity();
62-
//OnReset();
6360

6461
var allIssues = new ConcurrentBag<ICodeInspectionResult>();
6562

@@ -72,31 +69,23 @@ public async Task<IEnumerable<ICodeInspectionResult>> FindIssuesAsync(Rubberduck
7269

7370
var inspections = _inspections.Where(inspection => inspection.Severity != CodeInspectionSeverity.DoNotShow)
7471
.Select(inspection =>
75-
new Task(() =>
72+
Task.Run(() =>
7673
{
7774
token.ThrowIfCancellationRequested();
7875
var inspectionResults = inspection.GetInspectionResults();
7976
var results = inspectionResults as IEnumerable<InspectionResultBase> ?? inspectionResults;
8077

8178
if (results.Any())
8279
{
83-
//OnIssuesFound(results);
84-
8580
foreach (var inspectionResult in results)
8681
{
8782
allIssues.Add(inspectionResult);
8883
}
8984
}
90-
})).ToArray();
91-
92-
foreach (var inspection in inspections)
93-
{
94-
inspection.Start();
95-
}
85+
})).ToList();
9686

97-
Task.WaitAll(inspections);
87+
await Task.WhenAll(inspections);
9888
state.OnStatusMessageUpdate(RubberduckUI.ResourceManager.GetString("ParserState_" + state.Status)); // should be "Ready"
99-
10089
return allIssues;
10190
}
10291

RetailCoder.VBE/Inspections/NonReturningFunctionInspectionResult.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using Antlr4.Runtime;
33
using Rubberduck.Parsing;
44
using Rubberduck.Parsing.Symbols;
5+
using Rubberduck.UI;
56

67
namespace Rubberduck.Inspections
78
{
@@ -33,5 +34,10 @@ public override string Description
3334
return string.Format(InspectionsUI.NonReturningFunctionInspectionResultFormat, Target.IdentifierName);
3435
}
3536
}
37+
38+
public override NavigateCodeEventArgs GetNavigationArgs()
39+
{
40+
return new NavigateCodeEventArgs(Target);
41+
}
3642
}
3743
}

RetailCoder.VBE/Refactorings/ExtractMethod/ExtractMethodSelectionValidation.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public class ExtractMethodSelectionValidation : IExtractMethodSelectionValidatio
1515
private IEnumerable<Declaration> _declarations;
1616

1717

18-
18+
1919
public ExtractMethodSelectionValidation(IEnumerable<Declaration> declarations)
2020
{
2121
_declarations = declarations;
@@ -56,10 +56,15 @@ public bool withinSingleProcedure(QualifiedSelection qualifiedSelection)
5656
{
5757
procStartContext = procStart.Context as VBAParser.SubStmtContext;
5858
}
59+
// TOOD: Doesn't support properties.
60+
if (procStartContext == null)
61+
{
62+
return false;
63+
}
5964
var procEndOfSignature = procStartContext.endOfStatement() as VBAParser.EndOfStatementContext;
6065
var procSignatureLastLine = procEndOfSignature.Start.Line;
6166

62-
return (procEnd as Declaration).QualifiedSelection.Equals((procStart as Declaration).QualifiedSelection)
67+
return (procEnd as Declaration).QualifiedSelection.Equals((procStart as Declaration).QualifiedSelection)
6368
&& (procSignatureLastLine < startLine);
6469

6570
}

0 commit comments

Comments
 (0)