From e1cfbc79420fee0b71bad62f8d413b68a0eca91e Mon Sep 17 00:00:00 2001 From: Todd Fiala Date: Thu, 11 Aug 2016 23:51:28 +0000 Subject: Decoupled Options from CommandInterpreter. Options used to store a reference to the CommandInterpreter instance in the base Options class. This made it impossible to parse options independent of a CommandInterpreter. This change removes the reference from the base class. Instead, it modifies the options-parsing-related methods to take an ExecutionContext pointer, which the options may inspect if they need to do so. Closes https://reviews.llvm.org/D23416 Reviewers: clayborg, jingham llvm-svn: 278440 --- .../Commands/CommandObjectBreakpointCommand.cpp | 24 ++++++++++++---------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'lldb/source/Commands/CommandObjectBreakpointCommand.cpp') diff --git a/lldb/source/Commands/CommandObjectBreakpointCommand.cpp b/lldb/source/Commands/CommandObjectBreakpointCommand.cpp index 57572c8ef144..15c9fee8d43c 100644 --- a/lldb/source/Commands/CommandObjectBreakpointCommand.cpp +++ b/lldb/source/Commands/CommandObjectBreakpointCommand.cpp @@ -42,7 +42,7 @@ public: " If no breakpoint is specified, adds the commands to the last created breakpoint.", nullptr), IOHandlerDelegateMultiline("DONE", IOHandlerDelegate::Completion::LLDBCommand), - m_options(interpreter) + m_options() { SetHelpLong ( R"( @@ -295,8 +295,8 @@ are no syntax errors may indicate that a function was declared but never called. class CommandOptions : public Options { public: - CommandOptions (CommandInterpreter &interpreter) : - Options (interpreter), + CommandOptions () : + Options (), m_use_commands (false), m_use_script_language (false), m_script_language (eScriptLanguageNone), @@ -309,7 +309,8 @@ are no syntax errors may indicate that a function was declared but never called. ~CommandOptions() override = default; Error - SetOptionValue (uint32_t option_idx, const char *option_arg) override + SetOptionValue (uint32_t option_idx, const char *option_arg, + ExecutionContext *execution_context) override { Error error; const int short_option = m_getopt_table[option_idx].val; @@ -363,7 +364,7 @@ are no syntax errors may indicate that a function was declared but never called. } void - OptionParsingStarting () override + OptionParsingStarting (ExecutionContext *execution_context) override { m_use_commands = true; m_use_script_language = false; @@ -566,7 +567,7 @@ public: "delete", "Delete the set of commands from a breakpoint.", nullptr), - m_options (interpreter) + m_options() { CommandArgumentEntry arg; CommandArgumentData bp_id_arg; @@ -593,16 +594,17 @@ public: class CommandOptions : public Options { public: - CommandOptions (CommandInterpreter &interpreter) : - Options (interpreter), - m_use_dummy (false) + CommandOptions() : + Options(), + m_use_dummy(false) { } ~CommandOptions() override = default; Error - SetOptionValue (uint32_t option_idx, const char *option_arg) override + SetOptionValue (uint32_t option_idx, const char *option_arg, + ExecutionContext *execution_context) override { Error error; const int short_option = m_getopt_table[option_idx].val; @@ -622,7 +624,7 @@ public: } void - OptionParsingStarting () override + OptionParsingStarting (ExecutionContext *execution_context) override { m_use_dummy = false; } -- cgit v1.2.3