[Macros] Make 'PluginSearchOption' a external union

Create a 'Kind' enum so that deserialization can use the kind instead of
a string option name.
This commit is contained in:
Rintaro Ishizaki
2023-06-16 11:37:20 -07:00
parent 706985df82
commit 6fa0c14dfb
7 changed files with 141 additions and 58 deletions

View File

@@ -91,7 +91,22 @@ static bool validateModule(
}
llvm::outs() << "- Plugin Search Options:\n";
for (auto opt : extendedInfo.getPluginSearchOptions()) {
llvm::outs() << " " << opt.first << " " << opt.second << "\n";
StringRef optStr;
switch (opt.first) {
case swift::PluginSearchOption::Kind::PluginPath:
optStr = "-plugin-path";
break;
case swift::PluginSearchOption::Kind::ExternalPluginPath:
optStr = "-external-plugin-path";
break;
case swift::PluginSearchOption::Kind::LoadPluginLibrary:
optStr = "-load-plugin-library";
break;
case swift::PluginSearchOption::Kind::LoadPluginExecutable:
optStr = "-load-plugin-executable";
break;
}
llvm::outs() << " " << optStr << " " << opt.second << "\n";
}
}