Skip to content

Commit e32c457

Browse files
Andrin Meierretailcoder
authored andcommitted
small async fixes (#1690)
1 parent c0f612a commit e32c457

File tree

3 files changed

+11
-17
lines changed

3 files changed

+11
-17
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/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/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)