mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Merge pull request #76732 from cachemeifyoucan/eng/PR-136682810
[Macro] Precise macro plugin dependency during scanning
This commit is contained in:
@@ -1723,38 +1723,9 @@ void InterfaceSubContextDelegateImpl::inheritOptionsForBuildingInterface(
|
||||
genericSubInvocation.setPlatformAvailabilityInheritanceMapPath(*SearchPathOpts.PlatformAvailabilityInheritanceMapPath);
|
||||
}
|
||||
|
||||
for (auto &entry : SearchPathOpts.PluginSearchOpts) {
|
||||
switch (entry.getKind()) {
|
||||
case PluginSearchOption::Kind::LoadPluginLibrary: {
|
||||
auto &val = entry.get<PluginSearchOption::LoadPluginLibrary>();
|
||||
GenericArgs.push_back("-load-plugin-library");
|
||||
GenericArgs.push_back(ArgSaver.save(val.LibraryPath));
|
||||
break;
|
||||
}
|
||||
case PluginSearchOption::Kind::LoadPluginExecutable: {
|
||||
auto &val = entry.get<PluginSearchOption::LoadPluginExecutable>();
|
||||
for (auto &moduleName : val.ModuleNames) {
|
||||
GenericArgs.push_back("-load-plugin-executable");
|
||||
GenericArgs.push_back(
|
||||
ArgSaver.save(val.ExecutablePath + "#" + moduleName));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case PluginSearchOption::Kind::PluginPath: {
|
||||
auto &val = entry.get<PluginSearchOption::PluginPath>();
|
||||
GenericArgs.push_back("-plugin-path");
|
||||
GenericArgs.push_back(ArgSaver.save(val.SearchPath));
|
||||
break;
|
||||
}
|
||||
case PluginSearchOption::Kind::ExternalPluginPath: {
|
||||
auto &val = entry.get<PluginSearchOption::ExternalPluginPath>();
|
||||
GenericArgs.push_back("-external-plugin-path");
|
||||
GenericArgs.push_back(
|
||||
ArgSaver.save(val.SearchPath + "#" + val.ServerPath));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Inherit the plugin search opts but do not inherit the arguments.
|
||||
genericSubInvocation.getSearchPathOptions().PluginSearchOpts =
|
||||
SearchPathOpts.PluginSearchOpts;
|
||||
|
||||
genericSubInvocation.getFrontendOptions().InputMode
|
||||
= FrontendOptions::ParseInputMode::SwiftModuleInterface;
|
||||
|
||||
Reference in New Issue
Block a user