Remove UnqualifiedLookupFlags::KnownPrivate

This commit is contained in:
Robert Widmann
2020-07-23 18:22:30 -07:00
parent c0375dbe82
commit 259e1a94c9
6 changed files with 7 additions and 22 deletions

View File

@@ -215,18 +215,16 @@ public:
}; };
enum class UnqualifiedLookupFlags { enum class UnqualifiedLookupFlags {
/// This lookup is known to not affect downstream files.
KnownPrivate = 0x01,
/// This lookup should only return types. /// This lookup should only return types.
TypeLookup = 0x02, TypeLookup = 1 << 0,
/// This lookup should consider declarations within protocols to which the /// This lookup should consider declarations within protocols to which the
/// context type conforms. /// context type conforms.
AllowProtocolMembers = 0x04, AllowProtocolMembers = 1 << 2,
/// Don't check access when doing lookup into a type. /// Don't check access when doing lookup into a type.
IgnoreAccessControl = 0x08, IgnoreAccessControl = 1 << 3,
/// This lookup should include results from outside the innermost scope with /// This lookup should include results from outside the innermost scope with
/// results. /// results.
IncludeOuterResults = 0x10, IncludeOuterResults = 1 << 4,
}; };
using UnqualifiedLookupOptions = OptionSet<UnqualifiedLookupFlags>; using UnqualifiedLookupOptions = OptionSet<UnqualifiedLookupFlags>;

View File

@@ -119,7 +119,6 @@ void swift::simple_display(llvm::raw_ostream &out,
{UnqualifiedLookupFlags::AllowProtocolMembers, "AllowProtocolMembers"}, {UnqualifiedLookupFlags::AllowProtocolMembers, "AllowProtocolMembers"},
{UnqualifiedLookupFlags::IgnoreAccessControl, "IgnoreAccessControl"}, {UnqualifiedLookupFlags::IgnoreAccessControl, "IgnoreAccessControl"},
{UnqualifiedLookupFlags::IncludeOuterResults, "IncludeOuterResults"}, {UnqualifiedLookupFlags::IncludeOuterResults, "IncludeOuterResults"},
{UnqualifiedLookupFlags::KnownPrivate, "KnownPrivate"},
{UnqualifiedLookupFlags::TypeLookup, "TypeLookup"}, {UnqualifiedLookupFlags::TypeLookup, "TypeLookup"},
}; };

View File

@@ -439,11 +439,7 @@ evaluator::DependencySource UnqualifiedLookupRequest::readDependencySource(
// with the existing scheme, but the existing scheme is totally ad-hoc. We // with the existing scheme, but the existing scheme is totally ad-hoc. We
// should remove this flag and ensure that non-cascading qualified lookups // should remove this flag and ensure that non-cascading qualified lookups
// occur in the right contexts instead. // occur in the right contexts instead.
auto scope = evaluator::DependencyScope::Cascading; return {desc.DC->getParentSourceFile(), evaluator::DependencyScope::Cascading};
if (desc.Options.contains(UnqualifiedLookupFlags::KnownPrivate)) {
scope = evaluator::DependencyScope::Private;
}
return {desc.DC->getParentSourceFile(), scope};
} }
void UnqualifiedLookupRequest::writeDependencySink( void UnqualifiedLookupRequest::writeDependencySink(

View File

@@ -7291,7 +7291,6 @@ ConstraintSystem::SolutionKind ConstraintSystem::simplifyMemberConstraint(
DeclNameRef(param->getName()), DeclNameRef(param->getName()),
paramDecl->getDeclContext()->getParentSourceFile(), paramDecl->getDeclContext()->getParentSourceFile(),
SourceLoc(), SourceLoc(),
UnqualifiedLookupFlags::KnownPrivate |
UnqualifiedLookupFlags::TypeLookup); UnqualifiedLookupFlags::TypeLookup);
auto lookup = evaluateOrDefault( auto lookup = evaluateOrDefault(
Context.evaluator, UnqualifiedLookupRequest{descriptor}, {}); Context.evaluator, UnqualifiedLookupRequest{descriptor}, {});

View File

@@ -655,8 +655,7 @@ static void diagSyntacticUseRestrictions(const Expr *E, const DeclContext *DC,
DeclContext *topLevelContext = DC->getModuleScopeContext(); DeclContext *topLevelContext = DC->getModuleScopeContext();
auto descriptor = UnqualifiedLookupDescriptor( auto descriptor = UnqualifiedLookupDescriptor(
DeclNameRef(VD->getBaseName()), topLevelContext, SourceLoc(), DeclNameRef(VD->getBaseName()), topLevelContext, SourceLoc());
UnqualifiedLookupFlags::KnownPrivate);
auto lookup = evaluateOrDefault(Ctx.evaluator, auto lookup = evaluateOrDefault(Ctx.evaluator,
UnqualifiedLookupRequest{descriptor}, {}); UnqualifiedLookupRequest{descriptor}, {});

View File

@@ -207,8 +207,6 @@ namespace {
static UnqualifiedLookupOptions static UnqualifiedLookupOptions
convertToUnqualifiedLookupOptions(NameLookupOptions options) { convertToUnqualifiedLookupOptions(NameLookupOptions options) {
UnqualifiedLookupOptions newOptions = UnqualifiedLookupFlags::AllowProtocolMembers; UnqualifiedLookupOptions newOptions = UnqualifiedLookupFlags::AllowProtocolMembers;
if (options.contains(NameLookupFlags::KnownPrivate))
newOptions |= UnqualifiedLookupFlags::KnownPrivate;
if (options.contains(NameLookupFlags::IgnoreAccessControl)) if (options.contains(NameLookupFlags::IgnoreAccessControl))
newOptions |= UnqualifiedLookupFlags::IgnoreAccessControl; newOptions |= UnqualifiedLookupFlags::IgnoreAccessControl;
if (options.contains(NameLookupFlags::IncludeOuterResults)) if (options.contains(NameLookupFlags::IncludeOuterResults))
@@ -312,8 +310,6 @@ LookupResult TypeChecker::lookupMember(DeclContext *dc,
LookupResult result; LookupResult result;
NLOptions subOptions = (NL_QualifiedDefault | NL_ProtocolMembers); NLOptions subOptions = (NL_QualifiedDefault | NL_ProtocolMembers);
if (options.contains(NameLookupFlags::KnownPrivate))
subOptions |= NL_KnownNonCascadingDependency;
if (options.contains(NameLookupFlags::IgnoreAccessControl)) if (options.contains(NameLookupFlags::IgnoreAccessControl))
subOptions |= NL_IgnoreAccessControl; subOptions |= NL_IgnoreAccessControl;
@@ -388,8 +384,6 @@ LookupTypeResult TypeChecker::lookupMemberType(DeclContext *dc,
SmallVector<ValueDecl *, 4> decls; SmallVector<ValueDecl *, 4> decls;
NLOptions subOptions = (NL_QualifiedDefault | NL_OnlyTypes | NL_ProtocolMembers); NLOptions subOptions = (NL_QualifiedDefault | NL_OnlyTypes | NL_ProtocolMembers);
if (options.contains(NameLookupFlags::KnownPrivate))
subOptions |= NL_KnownNonCascadingDependency;
if (options.contains(NameLookupFlags::IgnoreAccessControl)) if (options.contains(NameLookupFlags::IgnoreAccessControl))
subOptions |= NL_IgnoreAccessControl; subOptions |= NL_IgnoreAccessControl;