@@ -113,8 +113,7 @@ namespace {
113
113
114
114
// If this isn't a protocol member to be given special
115
115
// treatment, just add the result.
116
- if (!Options.contains (NameLookupFlags::ProtocolMembers) ||
117
- !isa<ProtocolDecl>(foundDC) ||
116
+ if (!isa<ProtocolDecl>(foundDC) ||
118
117
isa<GenericTypeParamDecl>(found) ||
119
118
isa<TypeAliasDecl>(found) ||
120
119
(isa<FuncDecl>(found) && cast<FuncDecl>(found)->isOperator ())) {
@@ -207,11 +206,9 @@ namespace {
207
206
208
207
static UnqualifiedLookupOptions
209
208
convertToUnqualifiedLookupOptions (NameLookupOptions options) {
210
- UnqualifiedLookupOptions newOptions;
209
+ UnqualifiedLookupOptions newOptions = UnqualifiedLookupFlags::AllowProtocolMembers ;
211
210
if (options.contains (NameLookupFlags::KnownPrivate))
212
211
newOptions |= UnqualifiedLookupFlags::KnownPrivate;
213
- if (options.contains (NameLookupFlags::ProtocolMembers))
214
- newOptions |= UnqualifiedLookupFlags::AllowProtocolMembers;
215
212
if (options.contains (NameLookupFlags::IgnoreAccessControl))
216
213
newOptions |= UnqualifiedLookupFlags::IgnoreAccessControl;
217
214
if (options.contains (NameLookupFlags::IncludeOuterResults))
@@ -275,8 +272,7 @@ TypeChecker::lookupUnqualifiedType(DeclContext *dc, DeclNameRef name,
275
272
276
273
auto lookup =
277
274
evaluateOrDefault (ctx.evaluator , UnqualifiedLookupRequest{desc}, {});
278
- if (!lookup.allResults ().empty () ||
279
- !options.contains (NameLookupFlags::ProtocolMembers))
275
+ if (!lookup.allResults ().empty ())
280
276
return lookup;
281
277
}
282
278
@@ -299,15 +295,12 @@ LookupResult TypeChecker::lookupMember(DeclContext *dc,
299
295
assert (type->mayHaveMembers ());
300
296
301
297
LookupResult result;
302
- NLOptions subOptions = NL_QualifiedDefault;
298
+ NLOptions subOptions = ( NL_QualifiedDefault | NL_ProtocolMembers) ;
303
299
if (options.contains (NameLookupFlags::KnownPrivate))
304
300
subOptions |= NL_KnownNonCascadingDependency;
305
301
if (options.contains (NameLookupFlags::IgnoreAccessControl))
306
302
subOptions |= NL_IgnoreAccessControl;
307
303
308
- if (options.contains (NameLookupFlags::ProtocolMembers))
309
- subOptions |= NL_ProtocolMembers;
310
-
311
304
// We handle our own overriding/shadowing filtering.
312
305
subOptions &= ~NL_RemoveOverridden;
313
306
subOptions &= ~NL_RemoveNonVisible;
@@ -381,12 +374,10 @@ LookupTypeResult TypeChecker::lookupMemberType(DeclContext *dc,
381
374
382
375
// Look for members with the given name.
383
376
SmallVector<ValueDecl *, 4 > decls;
384
- NLOptions subOptions = NL_QualifiedDefault | NL_OnlyTypes;
377
+ NLOptions subOptions = ( NL_QualifiedDefault | NL_OnlyTypes | NL_ProtocolMembers) ;
385
378
386
379
if (options.contains (NameLookupFlags::KnownPrivate))
387
380
subOptions |= NL_KnownNonCascadingDependency;
388
- if (options.contains (NameLookupFlags::ProtocolMembers))
389
- subOptions |= NL_ProtocolMembers;
390
381
if (options.contains (NameLookupFlags::IgnoreAccessControl))
391
382
subOptions |= NL_IgnoreAccessControl;
392
383
0 commit comments