Skip to content

Commit afa93ab

Browse files
authored
Merge pull request #1981 from Hosch250/resolverPerformance
Revert "Tweak inspection UI performance"
2 parents a01fae0 + 8a6754a commit afa93ab

File tree

7 files changed

+42
-42
lines changed

7 files changed

+42
-42
lines changed

RetailCoder.VBE/Inspections/IInspector.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace Rubberduck.Inspections
88
{
99
public interface IInspector
1010
{
11-
List<ICodeInspectionResult> FindIssuesAsync(RubberduckParserState state, CancellationToken token);
11+
Task<IEnumerable<ICodeInspectionResult>> FindIssuesAsync(RubberduckParserState state, CancellationToken token);
1212
}
1313

1414
public class InspectorIssuesFoundEventArg : EventArgs

RetailCoder.VBE/Inspections/Inspector.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,11 @@ private void UpdateInspectionSeverity()
4848
}
4949
}
5050

51-
public List<ICodeInspectionResult> FindIssuesAsync(RubberduckParserState state, CancellationToken token)
51+
public async Task<IEnumerable<ICodeInspectionResult>> FindIssuesAsync(RubberduckParserState state, CancellationToken token)
5252
{
5353
if (state == null || !state.AllUserDeclarations.Any())
5454
{
55-
return new List<ICodeInspectionResult>();
55+
return new ICodeInspectionResult[] { };
5656
}
5757

5858
state.OnStatusMessageUpdate(RubberduckUI.CodeInspections_Inspecting);
@@ -78,11 +78,11 @@ public List<ICodeInspectionResult> FindIssuesAsync(RubberduckParserState state,
7878
{
7979
allIssues.Add(inspectionResult);
8080
}
81-
}, token)).ToArray();
81+
})).ToList();
8282

83-
Task.WaitAll(inspections);
83+
await Task.WhenAll(inspections);
8484
state.OnStatusMessageUpdate(RubberduckUI.ResourceManager.GetString("ParserState_" + state.Status, UI.Settings.Settings.Culture)); // should be "Ready"
85-
return allIssues.ToList();
85+
return allIssues;
8686
}
8787

8888
private ParseTreeResults GetParseTreeResults(RubberduckParserState state)

RetailCoder.VBE/UI/Inspections/InspectionResultsViewModel.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -259,12 +259,12 @@ private void _state_StateChanged(object sender, EventArgs e)
259259
RefreshInspections();
260260
}
261261

262-
private void RefreshInspections()
262+
private async void RefreshInspections()
263263
{
264264
var stopwatch = Stopwatch.StartNew();
265265
IsBusy = true;
266266

267-
var results = _inspector.FindIssuesAsync(_state, CancellationToken.None);
267+
var results = (await _inspector.FindIssuesAsync(_state, CancellationToken.None)).ToList();
268268
if (GroupByInspectionType)
269269
{
270270
results = results.OrderBy(o => o.Inspection.InspectionType)

RubberduckTests/Inspections/EmptyStringLiteralInspectionTests.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,9 @@ Public Sub Foo(ByRef arg1 As String)
4747
var inspection = new EmptyStringLiteralInspection(null);
4848
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
4949

50-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
50+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
5151

52-
Assert.AreEqual(1, inspectionResults.Count);
52+
Assert.AreEqual(1, inspectionResults.Count());
5353
}
5454

5555
[TestMethod]
@@ -79,9 +79,9 @@ public void EmptyStringLiteral_ReturnsResult_Assignment()
7979
var inspection = new EmptyStringLiteralInspection(null);
8080
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
8181

82-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
82+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
8383

84-
Assert.AreEqual(1, inspectionResults.Count);
84+
Assert.AreEqual(1, inspectionResults.Count());
8585
}
8686

8787
[TestMethod]
@@ -111,9 +111,9 @@ public void NotEmptyStringLiteral_DoesNotReturnResult()
111111
var inspection = new EmptyStringLiteralInspection(null);
112112
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
113113

114-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
114+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
115115

116-
Assert.AreEqual(0, inspectionResults.Count);
116+
Assert.AreEqual(0, inspectionResults.Count());
117117
}
118118

119119
[TestMethod]
@@ -150,7 +150,7 @@ public void EmptyStringLiteral_QuickFixWorks()
150150
var inspection = new EmptyStringLiteralInspection(null);
151151
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
152152

153-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
153+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
154154

155155
inspectionResults.First().QuickFixes.First().Fix();
156156

RubberduckTests/Inspections/ObsoleteCallStatementInspectionTests.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ Call Foo
4444
var inspection = new ObsoleteCallStatementInspection(parser.State);
4545
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
4646

47-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
47+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
4848

4949
Assert.AreEqual(1, inspectionResults.Count());
5050
}
@@ -76,7 +76,7 @@ public void ObsoleteCallStatement_DoesNotReturnResult()
7676
var inspection = new ObsoleteCallStatementInspection(parser.State);
7777
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
7878

79-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
79+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
8080

8181
Assert.AreEqual(0, inspectionResults.Count());
8282
}
@@ -108,7 +108,7 @@ public void ObsoleteCallStatement_DoesNotReturnResult_InstructionSeparator()
108108
var inspection = new ObsoleteCallStatementInspection(parser.State);
109109
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
110110

111-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
111+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
112112

113113
Assert.AreEqual(0, inspectionResults.Count());
114114
}
@@ -140,7 +140,7 @@ public void ObsoleteCallStatement_ReturnsResult_ColonInComment()
140140
var inspection = new ObsoleteCallStatementInspection(parser.State);
141141
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
142142

143-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
143+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
144144

145145
Assert.AreEqual(1, inspectionResults.Count());
146146
}
@@ -172,7 +172,7 @@ Call Foo("":"")
172172
var inspection = new ObsoleteCallStatementInspection(parser.State);
173173
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
174174

175-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
175+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
176176

177177
Assert.AreEqual(1, inspectionResults.Count());
178178
}
@@ -208,7 +208,7 @@ Call Foo
208208
var inspection = new ObsoleteCallStatementInspection(parser.State);
209209
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
210210

211-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
211+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
212212

213213
Assert.AreEqual(2, inspectionResults.Count());
214214
}
@@ -244,7 +244,7 @@ Sub Goo(arg1 As Integer, arg1 As String)
244244
var inspection = new ObsoleteCallStatementInspection(parser.State);
245245
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
246246

247-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
247+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
248248

249249
Assert.AreEqual(1, inspectionResults.Count());
250250
}
@@ -291,7 +291,7 @@ Sub Goo(arg1 As Integer, arg1 As String)
291291
var inspection = new ObsoleteCallStatementInspection(parser.State);
292292
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
293293

294-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
294+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
295295

296296
foreach (var inspectionResult in inspectionResults)
297297
{

RubberduckTests/Inspections/ObsoleteLetStatementInspectionTests.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Dim var2 As Integer
4747
var inspection = new ObsoleteLetStatementInspection(parser.State);
4848
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
4949

50-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
50+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
5151

5252
Assert.AreEqual(1, inspectionResults.Count());
5353
}
@@ -83,7 +83,7 @@ Dim var2 As Integer
8383
var inspection = new ObsoleteLetStatementInspection(parser.State);
8484
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
8585

86-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
86+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
8787

8888
Assert.AreEqual(2, inspectionResults.Count());
8989
}
@@ -118,7 +118,7 @@ Dim var2 As Integer
118118
var inspection = new ObsoleteLetStatementInspection(parser.State);
119119
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
120120

121-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
121+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
122122

123123
Assert.AreEqual(0, inspectionResults.Count());
124124
}
@@ -154,7 +154,7 @@ Dim var2 As Integer
154154
var inspection = new ObsoleteLetStatementInspection(parser.State);
155155
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
156156

157-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
157+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
158158

159159
Assert.AreEqual(1, inspectionResults.Count());
160160
}
@@ -199,7 +199,7 @@ Dim var2 As Integer
199199
var inspection = new ObsoleteLetStatementInspection(parser.State);
200200
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
201201

202-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
202+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
203203

204204
inspectionResults.First().QuickFixes.First().Fix();
205205

RubberduckTests/Inspections/ProcedureShouldBeFunctionInspectionTests.cs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public void ProcedureShouldBeFunction_ReturnsResult()
4444
var inspection = new ProcedureCanBeWrittenAsFunctionInspection(parser.State);
4545

4646
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
47-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
47+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
4848

4949

5050
Assert.AreEqual(1, inspectionResults.Count());
@@ -79,7 +79,7 @@ Private Sub Goo(ByRef foo As Integer)
7979
var inspection = new ProcedureCanBeWrittenAsFunctionInspection(parser.State);
8080
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
8181

82-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
82+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
8383

8484
Assert.AreEqual(2, inspectionResults.Count());
8585
}
@@ -111,7 +111,7 @@ public void ProcedureShouldBeFunction_DoesNotReturnResult_Function()
111111
var inspection = new ProcedureCanBeWrittenAsFunctionInspection(parser.State);
112112
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
113113

114-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
114+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
115115

116116
Assert.AreEqual(0, inspectionResults.Count());
117117
}
@@ -142,7 +142,7 @@ public void ProcedureShouldBeFunction_DoesNotReturnResult_SingleByValParam()
142142
var inspection = new ProcedureCanBeWrittenAsFunctionInspection(parser.State);
143143
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
144144

145-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
145+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
146146

147147
Assert.AreEqual(0, inspectionResults.Count());
148148
}
@@ -173,7 +173,7 @@ public void ProcedureShouldBeFunction_DoesNotReturnsResult_MultipleByValParams()
173173
var inspection = new ProcedureCanBeWrittenAsFunctionInspection(parser.State);
174174
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
175175

176-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
176+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
177177

178178
Assert.AreEqual(0, inspectionResults.Count());
179179
}
@@ -204,7 +204,7 @@ public void ProcedureShouldBeFunction_DoesNotReturnsResult_MultipleByRefParams()
204204
var inspection = new ProcedureCanBeWrittenAsFunctionInspection(parser.State);
205205
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
206206

207-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
207+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
208208

209209
Assert.AreEqual(0, inspectionResults.Count());
210210
}
@@ -245,7 +245,7 @@ Private Sub IClass1_DoSomething(ByRef a As Integer)
245245
var inspection = new ProcedureCanBeWrittenAsFunctionInspection(parser.State);
246246
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
247247

248-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
248+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
249249

250250
Assert.AreEqual(0, inspectionResults.Count());
251251
}
@@ -285,7 +285,7 @@ Private Sub abc_Foo(ByRef arg1 As Integer)
285285
var inspection = new ProcedureCanBeWrittenAsFunctionInspection(parser.State);
286286
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
287287

288-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
288+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
289289

290290
Assert.AreEqual(0, inspectionResults.Count());
291291
}
@@ -323,7 +323,7 @@ public void ProcedureShouldBeFunction_QuickFixWorks()
323323
var inspection = new ProcedureCanBeWrittenAsFunctionInspection(parser.State);
324324
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
325325

326-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
326+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
327327

328328
inspectionResults.First().QuickFixes.First().Fix();
329329

@@ -373,7 +373,7 @@ Sub Goo(ByVal a As Integer)
373373
var inspection = new ProcedureCanBeWrittenAsFunctionInspection(parser.State);
374374
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
375375

376-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
376+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
377377

378378
inspectionResults.First().QuickFixes.First().Fix();
379379

@@ -420,7 +420,7 @@ Sub Goo(ByVal a As Integer)
420420
var inspection = new ProcedureCanBeWrittenAsFunctionInspection(parser.State);
421421
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
422422

423-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
423+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
424424

425425
inspectionResults.First().QuickFixes.First().Fix();
426426

@@ -467,7 +467,7 @@ Sub Goo(ByVal a As String)
467467
var inspection = new ProcedureCanBeWrittenAsFunctionInspection(parser.State);
468468
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
469469

470-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
470+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
471471

472472
inspectionResults.First().QuickFixes.First().Fix();
473473

@@ -517,7 +517,7 @@ Private Function Foo(ByVal arg1 As Integer) As Integer
517517
var inspection = new ProcedureCanBeWrittenAsFunctionInspection(parser.State);
518518
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
519519

520-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
520+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
521521

522522
inspectionResults.First().QuickFixes.First().Fix();
523523

@@ -567,7 +567,7 @@ Dim fizz As Integer
567567
var inspection = new ProcedureCanBeWrittenAsFunctionInspection(parser.State);
568568
var inspector = new Inspector(settings.Object, new IInspection[] { inspection });
569569

570-
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None);
570+
var inspectionResults = inspector.FindIssuesAsync(parser.State, CancellationToken.None).Result;
571571

572572
inspectionResults.First().QuickFixes.First().Fix();
573573

0 commit comments

Comments
 (0)