diff options
Diffstat (limited to 'lldb/source/Commands/CommandObjectRegister.cpp')
-rw-r--r-- | lldb/source/Commands/CommandObjectRegister.cpp | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/lldb/source/Commands/CommandObjectRegister.cpp b/lldb/source/Commands/CommandObjectRegister.cpp index 47a079d..8ee6c65 100644 --- a/lldb/source/Commands/CommandObjectRegister.cpp +++ b/lldb/source/Commands/CommandObjectRegister.cpp @@ -38,6 +38,15 @@ using namespace lldb_private; //---------------------------------------------------------------------- // "register read" //---------------------------------------------------------------------- + +static OptionDefinition g_register_read_options[] = { + // clang-format off + { LLDB_OPT_SET_ALL, false, "alternate", 'A', OptionParser::eNoArgument, nullptr, nullptr, 0, eArgTypeNone, "Display register names using the alternate register name if there is one." }, + { LLDB_OPT_SET_1, false, "set", 's', OptionParser::eRequiredArgument, nullptr, nullptr, 0, eArgTypeIndex, "Specify which register sets to dump by index." }, + { LLDB_OPT_SET_2, false, "all", 'a', OptionParser::eNoArgument, nullptr, nullptr, 0, eArgTypeNone, "Show all register sets." }, + // clang-format on +}; + class CommandObjectRegisterRead : public CommandObjectParsed { public: CommandObjectRegisterRead(CommandInterpreter &interpreter) @@ -241,9 +250,9 @@ protected: ~CommandOptions() override = default; - uint32_t GetNumDefinitions() override; - - const OptionDefinition *GetDefinitions() override { return g_option_table; } + llvm::ArrayRef<OptionDefinition> GetDefinitions() override { + return g_register_read_options; + } void OptionParsingStarting(ExecutionContext *execution_context) override { set_indexes.Clear(); @@ -254,7 +263,7 @@ protected: Error SetOptionValue(uint32_t option_idx, const char *option_value, ExecutionContext *execution_context) override { Error error; - const int short_option = g_option_table[option_idx].short_option; + const int short_option = GetDefinitions()[option_idx].short_option; switch (short_option) { case 's': { OptionValueSP value_sp(OptionValueUInt64::Create(option_value, error)); @@ -286,10 +295,6 @@ protected: return error; } - // Options table: Required for subclasses of Options. - - static const OptionDefinition g_option_table[]; - // Instance variables to hold the values for command options. OptionValueArray set_indexes; OptionValueBoolean dump_all_sets; @@ -301,19 +306,6 @@ protected: CommandOptions m_command_options; }; -const OptionDefinition - CommandObjectRegisterRead::CommandOptions::g_option_table[] = { - // clang-format off - {LLDB_OPT_SET_ALL, false, "alternate", 'A', OptionParser::eNoArgument, nullptr, nullptr, 0, eArgTypeNone, "Display register names using the alternate register name if there is one."}, - {LLDB_OPT_SET_1, false, "set", 's', OptionParser::eRequiredArgument, nullptr, nullptr, 0, eArgTypeIndex, "Specify which register sets to dump by index."}, - {LLDB_OPT_SET_2, false, "all", 'a', OptionParser::eNoArgument, nullptr, nullptr, 0, eArgTypeNone, "Show all register sets."}, - // clang-format on -}; - -uint32_t CommandObjectRegisterRead::CommandOptions::GetNumDefinitions() { - return llvm::array_lengthof(g_option_table); -} - //---------------------------------------------------------------------- // "register write" //---------------------------------------------------------------------- |