aboutsummaryrefslogtreecommitdiff
path: root/lldb/utils
diff options
context:
space:
mode:
authorJonas Devlieghere <jonas@devlieghere.com>2022-07-13 20:11:37 -0700
committerJonas Devlieghere <jonas@devlieghere.com>2022-07-14 21:18:07 -0700
commit7ced9fff95473c1794b51a3cfd099b4fea3d1a58 (patch)
tree327c5419e195d917e3a127edc8f5d0c725455fd3 /lldb/utils
parent888673b6e3bf0182fb5f154eb3231c9ae022acca (diff)
downloadllvm-7ced9fff95473c1794b51a3cfd099b4fea3d1a58.zip
llvm-7ced9fff95473c1794b51a3cfd099b4fea3d1a58.tar.gz
llvm-7ced9fff95473c1794b51a3cfd099b4fea3d1a58.tar.bz2
[lldb] Refactor command option enum values (NFC)
Refactor the command option enum values and the command argument table to connect the two. This has two benefits: - We guarantee that two options that use the same argument type have the same accepted values. - We can print the enum values and their description in the help output. (D129707) Differential revision: https://reviews.llvm.org/D129703
Diffstat (limited to 'lldb/utils')
-rw-r--r--lldb/utils/TableGen/LLDBOptionDefEmitter.cpp8
1 files changed, 2 insertions, 6 deletions
diff --git a/lldb/utils/TableGen/LLDBOptionDefEmitter.cpp b/lldb/utils/TableGen/LLDBOptionDefEmitter.cpp
index ccf4827..d73f0a2 100644
--- a/lldb/utils/TableGen/LLDBOptionDefEmitter.cpp
+++ b/lldb/utils/TableGen/LLDBOptionDefEmitter.cpp
@@ -31,7 +31,6 @@ struct CommandOption {
std::string ArgType;
bool OptionalArg = false;
std::string Validator;
- std::string ArgEnum;
std::vector<StringRef> Completions;
std::string Description;
@@ -65,9 +64,6 @@ struct CommandOption {
if (Option->getValue("Validator"))
Validator = std::string(Option->getValueAsString("Validator"));
- if (Option->getValue("ArgEnum"))
- ArgEnum = std::string(Option->getValueAsString("ArgEnum"));
-
if (Option->getValue("Completions"))
Completions = Option->getValueAsListOfStrings("Completions");
@@ -114,8 +110,8 @@ static void emitOption(const CommandOption &O, raw_ostream &OS) {
OS << "nullptr";
OS << ", ";
- if (!O.ArgEnum.empty())
- OS << O.ArgEnum;
+ if (!O.ArgType.empty())
+ OS << "g_argument_table[eArgType" << O.ArgType << "].enum_values";
else
OS << "{}";
OS << ", ";