File tree Expand file tree Collapse file tree 3 files changed +9
-9
lines changed Expand file tree Collapse file tree 3 files changed +9
-9
lines changed Original file line number Diff line number Diff line change @@ -149,8 +149,7 @@ class SourceFile final : public FileUnit {
149149 PreconcurrencyImportsUsed;
150150
151151 // / The highest access level of declarations referencing each import.
152- llvm::DenseMap<AttributedImport<ImportedModule>, AccessLevel>
153- ImportsUseAccessLevel;
152+ llvm::DenseMap<const ModuleDecl *, AccessLevel> ImportsUseAccessLevel;
154153
155154 // / A unique identifier representing this file; used to mark private decls
156155 // / within the file to keep them from conflicting with other files in the
@@ -418,7 +417,7 @@ class SourceFile final : public FileUnit {
418417 // / Return the highest access level of the declarations referencing
419418 // / this import in signature or inlinable code.
420419 AccessLevel
421- getMaxAccessLevelUsingImport (AttributedImport<ImportedModule> import ) const ;
420+ getMaxAccessLevelUsingImport (const ModuleDecl * import ) const ;
422421
423422 // / Register the use of \p import from an API with \p accessLevel.
424423 void registerAccessLevelUsingImport (AttributedImport<ImportedModule> import ,
Original file line number Diff line number Diff line change @@ -3192,8 +3192,8 @@ void SourceFile::setImportUsedPreconcurrency(
31923192
31933193AccessLevel
31943194SourceFile::getMaxAccessLevelUsingImport (
3195- AttributedImport<ImportedModule> import ) const {
3196- auto known = ImportsUseAccessLevel.find (import );
3195+ const ModuleDecl *mod ) const {
3196+ auto known = ImportsUseAccessLevel.find (mod );
31973197 if (known == ImportsUseAccessLevel.end ())
31983198 return AccessLevel::Internal;
31993199 return known->second ;
@@ -3202,11 +3202,12 @@ SourceFile::getMaxAccessLevelUsingImport(
32023202void SourceFile::registerAccessLevelUsingImport (
32033203 AttributedImport<ImportedModule> import ,
32043204 AccessLevel accessLevel) {
3205- auto known = ImportsUseAccessLevel.find (import );
3205+ auto mod = import .module .importedModule ;
3206+ auto known = ImportsUseAccessLevel.find (mod);
32063207 if (known == ImportsUseAccessLevel.end ())
3207- ImportsUseAccessLevel[import ] = accessLevel;
3208+ ImportsUseAccessLevel[mod ] = accessLevel;
32083209 else
3209- ImportsUseAccessLevel[import ] = std::max (accessLevel, known->second );
3210+ ImportsUseAccessLevel[mod ] = std::max (accessLevel, known->second );
32103211}
32113212
32123213bool HasImportsMatchingFlagRequest::evaluate (Evaluator &evaluator,
Original file line number Diff line number Diff line change @@ -2440,7 +2440,7 @@ void swift::diagnoseUnnecessaryPublicImports(SourceFile &SF) {
24402440 import .accessLevel <= AccessLevel::Internal)
24412441 continue ;
24422442
2443- AccessLevel levelUsed = SF.getMaxAccessLevelUsingImport (import );
2443+ AccessLevel levelUsed = SF.getMaxAccessLevelUsingImport (import . module . importedModule );
24442444 if (import .accessLevel > levelUsed) {
24452445 auto diagId = import .accessLevel == AccessLevel::Public ?
24462446 diag::remove_public_import :
You can’t perform that action at this time.
0 commit comments