[CodeCompletion] Deduplicate the two isMemberCompletion functions in ParseExpr.cpp and ParseDecl.cpp

Also:
- propagate the Solution -> Result rename to Solution parameter of deliverDotExprResults
- fixup header comment in CodeCompletionTypeChecking.h
This commit is contained in:
Nathan Hawes
2020-09-09 12:14:53 -07:00
parent 7a06792e5d
commit b15c1fd349
6 changed files with 56 additions and 51 deletions

View File

@@ -5911,7 +5911,7 @@ static void deliverCompletionResults(CodeCompletionContext &CompletionContext,
}
void deliverDotExprResults(
ArrayRef<DotExprTypeCheckCompletionCallback::Result> Solutions,
ArrayRef<DotExprTypeCheckCompletionCallback::Result> Results,
Expr *BaseExpr, DeclContext *DC, SourceLoc DotLoc, bool IsInSelector,
ide::CodeCompletionContext &CompletionCtx,
CodeCompletionConsumer &Consumer) {
@@ -5935,15 +5935,15 @@ void deliverDotExprResults(
Lookup.setPreferFunctionReferencesToCalls();
}
for (auto &Solution: Solutions) {
Lookup.setIsStaticMetatype(Solution.BaseIsStaticMetaType);
Lookup.getPostfixKeywordCompletions(Solution.BaseTy, BaseExpr);
Lookup.setExpectedTypes(Solution.ExpectedTypes,
Solution.IsSingleExpressionBody,
Solution.ExpectsNonVoid);
if (isDynamicLookup(Solution.BaseTy))
for (auto &Result: Results) {
Lookup.setIsStaticMetatype(Result.BaseIsStaticMetaType);
Lookup.getPostfixKeywordCompletions(Result.BaseTy, BaseExpr);
Lookup.setExpectedTypes(Result.ExpectedTypes,
Result.IsSingleExpressionBody,
Result.ExpectsNonVoid);
if (isDynamicLookup(Result.BaseTy))
Lookup.setIsDynamicLookup();
Lookup.getValueExprCompletions(Solution.BaseTy, Solution.BaseDecl);
Lookup.getValueExprCompletions(Result.BaseTy, Result.BaseDecl);
}
SourceFile *SF = DC->getParentSourceFile();