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 {
149
149
PreconcurrencyImportsUsed;
150
150
151
151
// / The highest access level of declarations referencing each import.
152
- llvm::DenseMap<AttributedImport<ImportedModule>, AccessLevel>
153
- ImportsUseAccessLevel;
152
+ llvm::DenseMap<const ModuleDecl *, AccessLevel> ImportsUseAccessLevel;
154
153
155
154
// / A unique identifier representing this file; used to mark private decls
156
155
// / within the file to keep them from conflicting with other files in the
@@ -418,7 +417,7 @@ class SourceFile final : public FileUnit {
418
417
// / Return the highest access level of the declarations referencing
419
418
// / this import in signature or inlinable code.
420
419
AccessLevel
421
- getMaxAccessLevelUsingImport (AttributedImport<ImportedModule> import ) const ;
420
+ getMaxAccessLevelUsingImport (const ModuleDecl * import ) const ;
422
421
423
422
// / Register the use of \p import from an API with \p accessLevel.
424
423
void registerAccessLevelUsingImport (AttributedImport<ImportedModule> import ,
Original file line number Diff line number Diff line change @@ -3192,8 +3192,8 @@ void SourceFile::setImportUsedPreconcurrency(
3192
3192
3193
3193
AccessLevel
3194
3194
SourceFile::getMaxAccessLevelUsingImport (
3195
- AttributedImport<ImportedModule> import ) const {
3196
- auto known = ImportsUseAccessLevel.find (import );
3195
+ const ModuleDecl *mod ) const {
3196
+ auto known = ImportsUseAccessLevel.find (mod );
3197
3197
if (known == ImportsUseAccessLevel.end ())
3198
3198
return AccessLevel::Internal;
3199
3199
return known->second ;
@@ -3202,11 +3202,12 @@ SourceFile::getMaxAccessLevelUsingImport(
3202
3202
void SourceFile::registerAccessLevelUsingImport (
3203
3203
AttributedImport<ImportedModule> import ,
3204
3204
AccessLevel accessLevel) {
3205
- auto known = ImportsUseAccessLevel.find (import );
3205
+ auto mod = import .module .importedModule ;
3206
+ auto known = ImportsUseAccessLevel.find (mod);
3206
3207
if (known == ImportsUseAccessLevel.end ())
3207
- ImportsUseAccessLevel[import ] = accessLevel;
3208
+ ImportsUseAccessLevel[mod ] = accessLevel;
3208
3209
else
3209
- ImportsUseAccessLevel[import ] = std::max (accessLevel, known->second );
3210
+ ImportsUseAccessLevel[mod ] = std::max (accessLevel, known->second );
3210
3211
}
3211
3212
3212
3213
bool HasImportsMatchingFlagRequest::evaluate (Evaluator &evaluator,
Original file line number Diff line number Diff line change @@ -2440,7 +2440,7 @@ void swift::diagnoseUnnecessaryPublicImports(SourceFile &SF) {
2440
2440
import .accessLevel <= AccessLevel::Internal)
2441
2441
continue ;
2442
2442
2443
- AccessLevel levelUsed = SF.getMaxAccessLevelUsingImport (import );
2443
+ AccessLevel levelUsed = SF.getMaxAccessLevelUsingImport (import . module . importedModule );
2444
2444
if (import .accessLevel > levelUsed) {
2445
2445
auto diagId = import .accessLevel == AccessLevel::Public ?
2446
2446
diag::remove_public_import :
You can’t perform that action at this time.
0 commit comments