Skip to content

Commit 986f27f

Browse files
[NFC] Separate out trace import filtering into a separate function.
1 parent 930c8f2 commit 986f27f

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

lib/FrontendTool/FrontendTool.cpp

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,20 @@ static void computeSwiftModuleTraceInfo(
404404
});
405405
}
406406

407+
static void extractImportsForTrace(ModuleDecl *module,
408+
SmallPtrSetImpl<ModuleDecl *> &imports) {
409+
ModuleDecl::ImportFilter filter = ModuleDecl::ImportFilterKind::Public;
410+
filter |= ModuleDecl::ImportFilterKind::Private;
411+
filter |= ModuleDecl::ImportFilterKind::ImplementationOnly;
412+
filter |= ModuleDecl::ImportFilterKind::SPIAccessControl;
413+
filter |= ModuleDecl::ImportFilterKind::ShadowedBySeparateOverlay;
414+
SmallVector<ModuleDecl::ImportedModule, 8> importList;
415+
module->getImportedModules(importList, filter);
416+
417+
for (ModuleDecl::ImportedModule &import : importList)
418+
imports.insert(import.importedModule);
419+
}
420+
407421
static bool emitLoadedModuleTraceIfNeeded(ModuleDecl *mainModule,
408422
DependencyTracker *depTracker,
409423
StringRef prebuiltCachePath,
@@ -424,17 +438,8 @@ static bool emitLoadedModuleTraceIfNeeded(ModuleDecl *mainModule,
424438
return true;
425439
}
426440

427-
ModuleDecl::ImportFilter filter = ModuleDecl::ImportFilterKind::Public;
428-
filter |= ModuleDecl::ImportFilterKind::Private;
429-
filter |= ModuleDecl::ImportFilterKind::ImplementationOnly;
430-
filter |= ModuleDecl::ImportFilterKind::SPIAccessControl;
431-
filter |= ModuleDecl::ImportFilterKind::ShadowedBySeparateOverlay;
432-
SmallVector<ModuleDecl::ImportedModule, 8> imports;
433-
mainModule->getImportedModules(imports, filter);
434-
435441
SmallPtrSet<ModuleDecl *, 8> importedModules;
436-
for (ModuleDecl::ImportedModule &import : imports)
437-
importedModules.insert(import.importedModule);
442+
extractImportsForTrace(mainModule, importedModules);
438443

439444
llvm::DenseMap<StringRef, ModuleDecl *> pathToModuleDecl;
440445
for (const auto &module : ctxt.getLoadedModules()) {

0 commit comments

Comments
 (0)