[Macros] Track plugin dependencies

* Factor out ASTContext plugin loading to newly introduced 'PluginLoader'
* Insert 'DependencyTracker' to 'PluginLoader'
* Add dependencies right before loading the plugins

rdar://104938481
This commit is contained in:
Rintaro Ishizaki
2023-04-18 11:43:36 -07:00
parent 86927ef39c
commit a551c01d6a
13 changed files with 421 additions and 161 deletions

View File

@@ -759,10 +759,6 @@ bool swift::emitLoadedModuleTraceIfNeeded(ModuleDecl *mainModule,
std::make_pair(loadedDecl->getModuleFilename(), loadedDecl));
}
// Add compiler plugin libraries as dependencies.
for (auto &pluginEntry : ctxt.getLoadedPluginLibraryPaths())
depTracker->addDependency(pluginEntry.getKey(), /*IsSystem*/ false);
std::vector<SwiftModuleTraceInfo> swiftModules;
computeSwiftModuleTraceInfo(ctxt, abiDependencies, pathToModuleDecl,
*depTracker, opts.PrebuiltModuleCachePath,