[NFC] Swap CodeCompletion's lookupQualified for TypeChecker's

This call relied on semantic member synthesis, so now it has to go through TypeChecker::lookupQualified.
This commit is contained in:
Robert Widmann
2019-12-06 14:18:31 -08:00
parent dd51251014
commit 00407857d0
3 changed files with 23 additions and 15 deletions

View File

@@ -2738,22 +2738,21 @@ public:
return;
assert(CurrDeclContext);
SmallVector<ValueDecl *, 16> initializers;
if (CurrDeclContext->lookupQualified(type, DeclBaseName::createConstructor(),
NL_QualifiedDefault,
initializers)) {
for (auto *init : initializers) {
if (init->shouldHideFromEditor())
continue;
if (IsUnresolvedMember &&
cast<ConstructorDecl>(init)->isFailable() &&
!cast<ConstructorDecl>(init)->isImplicitlyUnwrappedOptional()) {
continue;
}
addConstructorCall(cast<ConstructorDecl>(init), Reason,
dynamicLookupInfo, type, None,
/*IsOnType=*/true, name);
auto results =
swift::lookupSemanticMember(const_cast<DeclContext *>(CurrDeclContext),
type, DeclBaseName::createConstructor());
for (const auto &entry : results.allResults()) {
auto *init = cast<ConstructorDecl>(entry.getValueDecl());
if (init->shouldHideFromEditor())
continue;
if (IsUnresolvedMember && init->isFailable() &&
!init->isImplicitlyUnwrappedOptional()) {
continue;
}
addConstructorCall(cast<ConstructorDecl>(init), Reason,
dynamicLookupInfo, type, None,
/*IsOnType=*/true, name);
}
}