summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/include/lldb/API/SBDebugger.h18
-rw-r--r--lldb/include/lldb/Core/Debugger.h41
-rw-r--r--lldb/include/lldb/Interpreter/CommandObject.h33
-rw-r--r--lldb/include/lldb/Interpreter/CommandObjectCrossref.h12
-rw-r--r--lldb/include/lldb/Interpreter/CommandObjectMultiword.h14
-rw-r--r--lldb/include/lldb/Interpreter/CommandObjectRegexCommand.h14
-rw-r--r--lldb/include/lldb/Interpreter/Options.h7
-rw-r--r--lldb/include/lldb/Interpreter/ScriptInterpreter.h15
-rw-r--r--lldb/include/lldb/Interpreter/ScriptInterpreterNone.h4
-rw-r--r--lldb/include/lldb/Interpreter/ScriptInterpreterPython.h10
-rw-r--r--lldb/include/lldb/Target/Process.h104
-rw-r--r--lldb/lldb.xcodeproj/project.pbxproj1
-rw-r--r--lldb/source/API/SBDebugger.cpp49
-rw-r--r--lldb/source/Commands/CommandObjectApropos.cpp24
-rw-r--r--lldb/source/Commands/CommandObjectApropos.h5
-rw-r--r--lldb/source/Commands/CommandObjectArgs.cpp10
-rw-r--r--lldb/source/Commands/CommandObjectArgs.h5
-rw-r--r--lldb/source/Commands/CommandObjectBreakpoint.cpp93
-rw-r--r--lldb/source/Commands/CommandObjectBreakpoint.h30
-rw-r--r--lldb/source/Commands/CommandObjectBreakpointCommand.cpp63
-rw-r--r--lldb/source/Commands/CommandObjectBreakpointCommand.h21
-rw-r--r--lldb/source/Commands/CommandObjectCall.cpp1
-rw-r--r--lldb/source/Commands/CommandObjectCall.h3
-rw-r--r--lldb/source/Commands/CommandObjectCommands.cpp63
-rw-r--r--lldb/source/Commands/CommandObjectCrossref.cpp4
-rw-r--r--lldb/source/Commands/CommandObjectDisassemble.cpp24
-rw-r--r--lldb/source/Commands/CommandObjectDisassemble.h5
-rw-r--r--lldb/source/Commands/CommandObjectExpression.cpp22
-rw-r--r--lldb/source/Commands/CommandObjectExpression.h8
-rw-r--r--lldb/source/Commands/CommandObjectFile.cpp53
-rw-r--r--lldb/source/Commands/CommandObjectFile.h8
-rw-r--r--lldb/source/Commands/CommandObjectFrame.cpp59
-rw-r--r--lldb/source/Commands/CommandObjectHelp.cpp43
-rw-r--r--lldb/source/Commands/CommandObjectHelp.h8
-rw-r--r--lldb/source/Commands/CommandObjectImage.cpp150
-rw-r--r--lldb/source/Commands/CommandObjectLog.cpp49
-rw-r--r--lldb/source/Commands/CommandObjectMemory.cpp27
-rw-r--r--lldb/source/Commands/CommandObjectMultiword.cpp35
-rw-r--r--lldb/source/Commands/CommandObjectProcess.cpp313
-rw-r--r--lldb/source/Commands/CommandObjectQuit.cpp7
-rw-r--r--lldb/source/Commands/CommandObjectQuit.h12
-rw-r--r--lldb/source/Commands/CommandObjectRegister.cpp23
-rw-r--r--lldb/source/Commands/CommandObjectSettings.cpp235
-rw-r--r--lldb/source/Commands/CommandObjectSettings.h72
-rw-r--r--lldb/source/Commands/CommandObjectSource.cpp61
-rw-r--r--lldb/source/Commands/CommandObjectSyntax.cpp12
-rw-r--r--lldb/source/Commands/CommandObjectSyntax.h5
-rw-r--r--lldb/source/Commands/CommandObjectTarget.cpp75
-rw-r--r--lldb/source/Commands/CommandObjectThread.cpp182
-rw-r--r--lldb/source/Core/Debugger.cpp50
-rw-r--r--lldb/source/Interpreter/CommandInterpreter.cpp43
-rw-r--r--lldb/source/Interpreter/CommandObject.cpp42
-rw-r--r--lldb/source/Interpreter/CommandObjectRegexCommand.cpp7
-rw-r--r--lldb/source/Interpreter/CommandObjectScript.cpp19
-rw-r--r--lldb/source/Interpreter/CommandObjectScript.h11
-rw-r--r--lldb/source/Interpreter/Options.cpp18
-rw-r--r--lldb/source/Interpreter/ScriptInterpreter.cpp4
-rw-r--r--lldb/source/Interpreter/ScriptInterpreterNone.cpp10
-rw-r--r--lldb/source/Interpreter/ScriptInterpreterPython.cpp20
-rw-r--r--lldb/tools/driver/Driver.cpp7
60 files changed, 1245 insertions, 1118 deletions
diff --git a/lldb/include/lldb/API/SBDebugger.h b/lldb/include/lldb/API/SBDebugger.h
index 927af72afeb..ff14931fd9c 100644
--- a/lldb/include/lldb/API/SBDebugger.h
+++ b/lldb/include/lldb/API/SBDebugger.h
@@ -154,6 +154,24 @@ public:
static lldb::SBStringList
GetInternalVariableValue (const char *var_name, const char *debugger_instance_name);
+ uint32_t
+ GetTerminalWidth () const;
+
+ void
+ SetTerminalWidth (uint32_t term_width);
+
+ const char *
+ GetPrompt() const;
+
+ void
+ SetPrompt (const char *prompt);
+
+ lldb::ScriptLanguage
+ GetScriptLanguage() const;
+
+ void
+ SetScriptLanguage (lldb::ScriptLanguage script_lang);
+
private:
#ifndef SWIG
diff --git a/lldb/include/lldb/Core/Debugger.h b/lldb/include/lldb/Core/Debugger.h
index 0777a128ff6..1eedf6ffcd8 100644
--- a/lldb/include/lldb/Core/Debugger.h
+++ b/lldb/include/lldb/Core/Debugger.h
@@ -65,6 +65,45 @@ public:
const ConstString &var_name,
StringList &value);
+ uint32_t
+ GetTerminalWidth () const
+ {
+ return m_term_width;
+ }
+
+ void
+ SetTerminalWidth (uint32_t term_width)
+ {
+ m_term_width = term_width;
+ }
+
+ const char *
+ GetPrompt() const
+ {
+ return m_prompt.c_str();
+ }
+
+ void
+ SetPrompt(const char *p)
+ {
+ if (p)
+ m_prompt.assign (p);
+ else
+ m_prompt.assign ("(lldb) ");
+ }
+
+ lldb::ScriptLanguage
+ GetScriptLanguage() const
+ {
+ return m_script_lang;
+ }
+
+ void
+ SetScriptLanguage (lldb::ScriptLanguage script_lang)
+ {
+ m_script_lang = script_lang;
+ }
+
protected:
void
@@ -91,7 +130,7 @@ protected:
private:
- int m_term_width;
+ uint32_t m_term_width;
std::string m_prompt;
lldb::ScriptLanguage m_script_lang;
};
diff --git a/lldb/include/lldb/Interpreter/CommandObject.h b/lldb/include/lldb/Interpreter/CommandObject.h
index 3be4c8b2f47..3c5e8a66f55 100644
--- a/lldb/include/lldb/Interpreter/CommandObject.h
+++ b/lldb/include/lldb/Interpreter/CommandObject.h
@@ -28,7 +28,8 @@ public:
typedef std::map<std::string, lldb::CommandObjectSP> CommandMap;
- CommandObject (const char *name,
+ CommandObject (CommandInterpreter &interpreter,
+ const char *name,
const char *help = NULL,
const char *syntax = NULL,
uint32_t flags = 0);
@@ -36,6 +37,12 @@ public:
virtual
~CommandObject ();
+ CommandInterpreter &
+ GetCommandInterpreter ()
+ {
+ return m_interpreter;
+ }
+
const char *
GetHelp ();
@@ -89,23 +96,19 @@ public:
// Do not override this
bool
- ExecuteCommandString (CommandInterpreter &interpreter,
- const char *command,
+ ExecuteCommandString (const char *command,
CommandReturnObject &result);
bool
- ParseOptions (CommandInterpreter &interpreter,
- Args& args,
+ ParseOptions (Args& args,
CommandReturnObject &result);
bool
- ExecuteWithOptions (CommandInterpreter &interpreter,
- Args& command,
+ ExecuteWithOptions (Args& command,
CommandReturnObject &result);
virtual bool
- ExecuteRawCommandString (CommandInterpreter &interpreter,
- const char *command,
+ ExecuteRawCommandString (const char *command,
CommandReturnObject &result)
{
return false;
@@ -113,8 +116,7 @@ public:
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result) = 0;
void
@@ -169,8 +171,7 @@ public:
/// \btrue if we were in an option, \bfalse otherwise.
//------------------------------------------------------------------
virtual int
- HandleCompletion (CommandInterpreter &interpreter,
- Args &input,
+ HandleCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
int match_start_point,
@@ -219,8 +220,7 @@ public:
//------------------------------------------------------------------
virtual int
- HandleArgumentCompletion (CommandInterpreter &interpreter,
- Args &input,
+ HandleArgumentCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
OptionElementVector &opt_element_vector,
@@ -233,7 +233,7 @@ public:
}
bool
- HelpTextContainsWord (const char *search_word, CommandInterpreter &interpreter);
+ HelpTextContainsWord (const char *search_word);
//------------------------------------------------------------------
/// The flags accessor.
@@ -270,6 +270,7 @@ public:
}
protected:
+ CommandInterpreter &m_interpreter;
std::string m_cmd_name;
std::string m_cmd_help_short;
std::string m_cmd_help_long;
diff --git a/lldb/include/lldb/Interpreter/CommandObjectCrossref.h b/lldb/include/lldb/Interpreter/CommandObjectCrossref.h
index c72b8b8b8b6..76c8d561078 100644
--- a/lldb/include/lldb/Interpreter/CommandObjectCrossref.h
+++ b/lldb/include/lldb/Interpreter/CommandObjectCrossref.h
@@ -26,10 +26,11 @@ namespace lldb_private {
class CommandObjectCrossref : public CommandObject
{
public:
- CommandObjectCrossref (const char *name,
- const char *help = NULL,
- const char *syntax = NULL);
-
+ CommandObjectCrossref (CommandInterpreter &interpreter,
+ const char *name,
+ const char *help = NULL,
+ const char *syntax = NULL);
+
virtual
~CommandObjectCrossref ();
@@ -37,8 +38,7 @@ public:
GenerateHelpText (CommandReturnObject &result);
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
virtual bool
diff --git a/lldb/include/lldb/Interpreter/CommandObjectMultiword.h b/lldb/include/lldb/Interpreter/CommandObjectMultiword.h
index 3b8dad00d4e..9f821815e08 100644
--- a/lldb/include/lldb/Interpreter/CommandObjectMultiword.h
+++ b/lldb/include/lldb/Interpreter/CommandObjectMultiword.h
@@ -27,7 +27,8 @@ namespace lldb_private {
class CommandObjectMultiword : public CommandObject
{
public:
- CommandObjectMultiword (const char *name,
+ CommandObjectMultiword (CommandInterpreter &interpreter,
+ const char *name,
const char *help = NULL,
const char *syntax = NULL,
uint32_t flags = 0);
@@ -39,12 +40,11 @@ public:
IsMultiwordObject () { return true; }
bool
- LoadSubCommand (CommandInterpreter &interpreter,
- const char *cmd_name,
+ LoadSubCommand (const char *cmd_name,
const lldb::CommandObjectSP& command_obj);
void
- GenerateHelpText (CommandInterpreter &interpreter, CommandReturnObject &result);
+ GenerateHelpText (CommandReturnObject &result);
lldb::CommandObjectSP
GetSubcommandSP (const char *sub_cmd, StringList *matches = NULL);
@@ -53,13 +53,11 @@ public:
GetSubcommandObject (const char *sub_cmd, StringList *matches = NULL);
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
virtual int
- HandleCompletion (CommandInterpreter &interpreter,
- Args &input,
+ HandleCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
int match_start_point,
diff --git a/lldb/include/lldb/Interpreter/CommandObjectRegexCommand.h b/lldb/include/lldb/Interpreter/CommandObjectRegexCommand.h
index 8eeb88b0e36..1c7c9e4ea79 100644
--- a/lldb/include/lldb/Interpreter/CommandObjectRegexCommand.h
+++ b/lldb/include/lldb/Interpreter/CommandObjectRegexCommand.h
@@ -29,22 +29,24 @@ class CommandObjectRegexCommand : public CommandObject
{
public:
- CommandObjectRegexCommand (const char *name, const char *help, const char *syntax, uint32_t max_matches);
-
+ CommandObjectRegexCommand (CommandInterpreter &interpreter,
+ const char *name,
+ const char *help,
+ const char *syntax,
+ uint32_t max_matches);
+
virtual
~CommandObjectRegexCommand ();
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
virtual bool
WantsRawCommandString() { return true; }
virtual bool
- ExecuteRawCommandString (CommandInterpreter &interpreter,
- const char *command,
+ ExecuteRawCommandString (const char *command,
CommandReturnObject &result);
diff --git a/lldb/include/lldb/Interpreter/Options.h b/lldb/include/lldb/Interpreter/Options.h
index d18a2db6a87..2fa13bfd3ab 100644
--- a/lldb/include/lldb/Interpreter/Options.h
+++ b/lldb/include/lldb/Interpreter/Options.h
@@ -157,10 +157,9 @@ public:
uint32_t output_max_columns);
void
- GenerateOptionUsage (Stream &strm,
- CommandObject *cmd,
- const char *debugger_instance_name,
- const char *program_name = NULL);
+ GenerateOptionUsage (CommandInterpreter &interpreter,
+ Stream &strm,
+ CommandObject *cmd);
// The following two pure virtual functions must be defined by every class that inherits from
// this class.
diff --git a/lldb/include/lldb/Interpreter/ScriptInterpreter.h b/lldb/include/lldb/Interpreter/ScriptInterpreter.h
index b1511d4ce67..ca30baa93aa 100644
--- a/lldb/include/lldb/Interpreter/ScriptInterpreter.h
+++ b/lldb/include/lldb/Interpreter/ScriptInterpreter.h
@@ -38,15 +38,15 @@ public:
} ReturnType;
- ScriptInterpreter (lldb::ScriptLanguage script_lang);
+ ScriptInterpreter (CommandInterpreter &interpreter, lldb::ScriptLanguage script_lang);
virtual ~ScriptInterpreter ();
virtual bool
- ExecuteOneLine (CommandInterpreter &interpreter, const char *command, CommandReturnObject *result) = 0;
+ ExecuteOneLine (const char *command, CommandReturnObject *result) = 0;
virtual void
- ExecuteInterpreterLoop (CommandInterpreter &interpreter) = 0;
+ ExecuteInterpreterLoop () = 0;
virtual bool
ExecuteOneLineWithReturn (const char *in_string, ReturnType return_type, void *ret_value)
@@ -73,14 +73,12 @@ public:
}
virtual void
- CollectDataForBreakpointCommandCallback (CommandInterpreter &interpreter,
- BreakpointOptions *bp_options,
+ CollectDataForBreakpointCommandCallback (BreakpointOptions *bp_options,
CommandReturnObject &result);
/// Set a one-liner as the callback for the breakpoint.
virtual void
- SetBreakpointCommandCallback (CommandInterpreter &interpreter,
- BreakpointOptions *bp_options,
+ SetBreakpointCommandCallback (BreakpointOptions *bp_options,
const char *oneliner)
{
return;
@@ -98,6 +96,9 @@ public:
static std::string
LanguageToString (lldb::ScriptLanguage);
+protected:
+ CommandInterpreter &m_interpreter;
+
private:
lldb::ScriptLanguage m_script_lang;
diff --git a/lldb/include/lldb/Interpreter/ScriptInterpreterNone.h b/lldb/include/lldb/Interpreter/ScriptInterpreterNone.h
index 17cdef50b88..861c64deaca 100644
--- a/lldb/include/lldb/Interpreter/ScriptInterpreterNone.h
+++ b/lldb/include/lldb/Interpreter/ScriptInterpreterNone.h
@@ -23,10 +23,10 @@ public:
~ScriptInterpreterNone ();
bool
- ExecuteOneLine (CommandInterpreter &interpreter, const char *command, CommandReturnObject *result);
+ ExecuteOneLine (const char *command, CommandReturnObject *result);
void
- ExecuteInterpreterLoop (CommandInterpreter &interpreter);
+ ExecuteInterpreterLoop ();
};
diff --git a/lldb/include/lldb/Interpreter/ScriptInterpreterPython.h b/lldb/include/lldb/Interpreter/ScriptInterpreterPython.h
index 4effd15603f..a3d78b84ce4 100644
--- a/lldb/include/lldb/Interpreter/ScriptInterpreterPython.h
+++ b/lldb/include/lldb/Interpreter/ScriptInterpreterPython.h
@@ -25,10 +25,10 @@ public:
~ScriptInterpreterPython ();
bool
- ExecuteOneLine (CommandInterpreter &interpreter, const char *command, CommandReturnObject *result);
+ ExecuteOneLine (const char *command, CommandReturnObject *result);
void
- ExecuteInterpreterLoop (CommandInterpreter &interpreter);
+ ExecuteInterpreterLoop ();
bool
ExecuteOneLineWithReturn (const char *in_string,
@@ -58,14 +58,12 @@ public:
lldb::user_id_t break_loc_id);
void
- CollectDataForBreakpointCommandCallback (CommandInterpreter &interpreter,
- BreakpointOptions *bp_options,
+ CollectDataForBreakpointCommandCallback (BreakpointOptions *bp_options,
CommandReturnObject &result);
/// Set a Python one-liner as the callback for the breakpoint.
void
- SetBreakpointCommandCallback (CommandInterpreter &interpreter,
- BreakpointOptions *bp_options,
+ SetBreakpointCommandCallback (BreakpointOptions *bp_options,
const char *oneliner);
StringList
diff --git a/lldb/include/lldb/Target/Process.h b/lldb/include/lldb/Target/Process.h
index 34ea56893b7..257a6cb211f 100644
--- a/lldb/include/lldb/Target/Process.h
+++ b/lldb/include/lldb/Target/Process.h
@@ -75,6 +75,107 @@ public:
StringList &value);
+ const Args &
+ GetRunArguments () const
+ {
+ return m_run_args;
+ }
+
+ void
+ SetRunArguments (const Args &args)
+ {
+ m_run_args = args;
+ }
+
+ size_t
+ GetEnvironmentAsArgs (Args &env) const
+ {
+ dictionary::const_iterator pos, end = m_env_vars.end();
+ for (pos = m_env_vars.begin(); pos != end; ++pos)
+ {
+ std::string env_var_equal_value (pos->first);
+ env_var_equal_value.append(1, '=');
+ env_var_equal_value.append (pos->second);
+ env.AppendArgument (env_var_equal_value.c_str());
+ }
+ return env.GetArgumentCount();
+ }
+
+ const char *
+ GetStandardInputPath () const
+ {
+ if (m_input_path.empty())
+ return NULL;
+ return m_input_path.c_str();
+ }
+
+ void
+ SetStandardInputPath (const char *path)
+ {
+ if (path && path[0])
+ m_input_path.assign (path);
+ else
+ {
+ // Make sure we deallocate memory in string...
+ std::string tmp;
+ tmp.swap (m_input_path);
+ }
+ }
+
+ const char *
+ GetStandardOutputPath () const
+ {
+ if (m_output_path.empty())
+ return NULL;
+ return m_output_path.c_str();
+ }
+
+ void
+ SetStandardOutputPath (const char *path)
+ {
+ if (path && path[0])
+ m_output_path.assign (path);
+ else
+ {
+ // Make sure we deallocate memory in string...
+ std::string tmp;
+ tmp.swap (m_output_path);
+ }
+ }
+
+ const char *
+ GetStandardErrorPath () const
+ {
+ if (m_error_path.empty())
+ return NULL;
+ return m_error_path.c_str();
+ }
+
+ void
+ SetStandardErrorPath (const char *path)
+ {
+ if (path && path[0])
+ m_error_path.assign (path);
+ else
+ {
+ // Make sure we deallocate memory in string...
+ std::string tmp;
+ tmp.swap (m_error_path);
+ }
+ }
+
+ bool
+ GetDisableASLR () const
+ {
+ return m_disable_aslr;
+ }
+
+ void
+ SetDisableASLR (bool b)
+ {
+ m_disable_aslr = b;
+ }
+
protected:
void
@@ -108,8 +209,9 @@ protected:
private:
+ typedef std::map<std::string, std::string> dictionary;
Args m_run_args;
- std::map<std::string, std::string> m_env_vars;
+ dictionary m_env_vars;
std::string m_input_path;
std::string m_output_path;
std::string m_error_path;
diff --git a/lldb/lldb.xcodeproj/project.pbxproj b/lldb/lldb.xcodeproj/project.pbxproj
index 6faa23593fa..b491e422489 100644
--- a/lldb/lldb.xcodeproj/project.pbxproj
+++ b/lldb/lldb.xcodeproj/project.pbxproj
@@ -2339,6 +2339,7 @@
isa = PBXProject;
buildConfigurationList = 1DEB91EF08733DB70010E9CD /* Build configuration list for PBXProject "lldb" */;
compatibilityVersion = "Xcode 3.1";
+ developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
en,
diff --git a/lldb/source/API/SBDebugger.cpp b/lldb/source/API/SBDebugger.cpp
index 540a1c06df5..0f12890aa38 100644
--- a/lldb/source/API/SBDebugger.cpp
+++ b/lldb/source/API/SBDebugger.cpp
@@ -602,6 +602,55 @@ SBDebugger::GetInternalVariableValue (const char *var_name, const char *debugger
return ret_value;
}
+uint32_t
+SBDebugger::GetTerminalWidth () const
+{
+ if (m_opaque_sp)
+ return m_opaque_sp->GetTerminalWidth ();
+ return 0;
+}
+
+void
+SBDebugger::SetTerminalWidth (uint32_t term_width)
+{
+ if (m_opaque_sp)
+ m_opaque_sp->SetTerminalWidth (term_width);
+}
+
+const char *
+SBDebugger::GetPrompt() const
+{
+ if (m_opaque_sp)
+ return m_opaque_sp->GetPrompt ();
+ return 0;
+}
+
+void
+SBDebugger::SetPrompt (const char *prompt)
+{
+ if (m_opaque_sp)
+ m_opaque_sp->SetPrompt (prompt);
+}
+
+
+lldb::ScriptLanguage
+SBDebugger::GetScriptLanguage() const
+{
+ if (m_opaque_sp)
+ return m_opaque_sp->GetScriptLanguage ();
+ return eScriptLanguageNone;
+}
+
+void
+SBDebugger::SetScriptLanguage (lldb::ScriptLanguage script_lang)
+{
+ if (m_opaque_sp)
+ m_opaque_sp->SetScriptLanguage (script_lang);
+}
+
+
+
+
bool
SBDebugger::SetUseExternalEditor (bool value)
{
diff --git a/lldb/source/Commands/CommandObjectApropos.cpp b/lldb/source/Commands/CommandObjectApropos.cpp
index 36494708b75..a0184646de7 100644
--- a/lldb/source/Commands/CommandObjectApropos.cpp
+++ b/lldb/source/Commands/CommandObjectApropos.cpp
@@ -26,10 +26,11 @@ using namespace lldb_private;
// CommandObjectApropos
//-------------------------------------------------------------------------
-CommandObjectApropos::CommandObjectApropos () :
- CommandObject ("apropos",
- "Find a list of debugger commands related to a particular word/subject.",
- "apropos <search-word>")
+CommandObjectApropos::CommandObjectApropos (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "apropos",
+ "Find a list of debugger commands related to a particular word/subject.",
+ "apropos <search-word>")
{
}
@@ -41,7 +42,6 @@ CommandObjectApropos::~CommandObjectApropos()
bool
CommandObjectApropos::Execute
(
- CommandInterpreter &interpreter,
Args& args,
CommandReturnObject &result
)
@@ -58,7 +58,7 @@ CommandObjectApropos::Execute
// is private.
StringList commands_found;
StringList commands_help;
- interpreter.FindCommandsForApropos (search_word, commands_found, commands_help);
+ m_interpreter.FindCommandsForApropos (search_word, commands_found, commands_help);
if (commands_found.GetSize() == 0)
{
result.AppendMessageWithFormat ("No commands found pertaining to '%s'.", search_word);
@@ -77,12 +77,12 @@ CommandObjectApropos::Execute
}
for (size_t i = 0; i < commands_found.GetSize(); ++i)
- interpreter.OutputFormattedHelpText (result.GetOutputStream(),
- commands_found.GetStringAtIndex(i),
- "--", commands_help.
- GetStringAtIndex(i),
- max_len);
-
+ m_interpreter.OutputFormattedHelpText (result.GetOutputStream(),
+ commands_found.GetStringAtIndex(i),
+ "--", commands_help.
+ GetStringAtIndex(i),
+ max_len);
+
}
result.SetStatus (eReturnStatusSuccessFinishNoResult);
}
diff --git a/lldb/source/Commands/CommandObjectApropos.h b/lldb/source/Commands/CommandObjectApropos.h
index cf5cabe3ade..5a3949e4ba1 100644
--- a/lldb/source/Commands/CommandObjectApropos.h
+++ b/lldb/source/Commands/CommandObjectApropos.h
@@ -26,14 +26,13 @@ class CommandObjectApropos : public CommandObject
{
public:
- CommandObjectApropos ();
+ CommandObjectApropos (CommandInterpreter &interpreter);
virtual
~CommandObjectApropos ();
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
diff --git a/lldb/source/Commands/CommandObjectArgs.cpp b/lldb/source/Commands/CommandObjectArgs.cpp
index 0c8b8b6d270..d6ad9011f57 100644
--- a/lldb/source/Commands/CommandObjectArgs.cpp
+++ b/lldb/source/Commands/CommandObjectArgs.cpp
@@ -77,8 +77,9 @@ CommandObjectArgs::CommandOptions::GetDefinitions ()
return g_option_table;
}
-CommandObjectArgs::CommandObjectArgs () :
- CommandObject ("args",
+CommandObjectArgs::CommandObjectArgs (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "args",
"When stopped at the start of a function, reads function arguments of type (u?)int(8|16|32|64)_t, (void|char)*",
"args")
{
@@ -97,7 +98,6 @@ CommandObjectArgs::GetOptions ()
bool
CommandObjectArgs::Execute
(
- CommandInterpreter &interpreter,
Args& args,
CommandReturnObject &result
)
@@ -105,7 +105,7 @@ CommandObjectArgs::Execute
ConstString target_triple;
- Process *process = interpreter.GetDebugger().GetExecutionContext().process;
+ Process *process = m_interpreter.GetDebugger().GetExecutionContext().process;
if (!process)
{
result.AppendError ("Args found no process.");
@@ -131,7 +131,7 @@ CommandObjectArgs::Execute
return false;
}
- Thread *thread = interpreter.GetDebugger().GetExecutionContext ().thread;
+ Thread *thread = m_interpreter.GetDebugger().GetExecutionContext ().thread;
if (!thread)
{
diff --git a/lldb/source/Commands/CommandObjectArgs.h b/lldb/source/Commands/CommandObjectArgs.h
index 5a73460e361..70f73f041d8 100644
--- a/lldb/source/Commands/CommandObjectArgs.h
+++ b/lldb/source/Commands/CommandObjectArgs.h
@@ -47,7 +47,7 @@ namespace lldb_private {
static lldb::OptionDefinition g_option_table[];
};
- CommandObjectArgs ();
+ CommandObjectArgs (CommandInterpreter &interpreter);
virtual
~CommandObjectArgs ();
@@ -58,8 +58,7 @@ namespace lldb_private {
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute ( Args& command,
CommandReturnObject &result);
virtual bool
diff --git a/lldb/source/Commands/CommandObjectBreakpoint.cpp b/lldb/source/Commands/CommandObjectBreakpoint.cpp
index 40284824d85..a4ad58ce1d5 100644
--- a/lldb/source/Commands/CommandObjectBreakpoint.cpp
+++ b/lldb/source/Commands/CommandObjectBreakpoint.cpp
@@ -247,8 +247,10 @@ CommandObjectBreakpointSet::CommandOptions::ResetOptionValues ()
//-------------------------------------------------------------------------
#pragma mark Set
-CommandObjectBreakpointSet::CommandObjectBreakpointSet () :
- CommandObject ("breakpoint set", "Sets a breakpoint or set of breakpoints in the executable.",
+CommandObjectBreakpointSet::CommandObjectBreakpointSet (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "breakpoint set",
+ "Sets a breakpoint or set of breakpoints in the executable.",
"breakpoint set <cmd-options>")
{
}
@@ -266,12 +268,11 @@ CommandObjectBreakpointSet::GetOptions ()
bool
CommandObjectBreakpointSet::Execute
(
- CommandInterpreter &interpreter,
Args& command,
CommandReturnObject &result
)
{
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
if (target == NULL)
{
result.AppendError ("Invalid target, set executable file using 'file' command.");
@@ -312,7 +313,7 @@ CommandObjectBreakpointSet::Execute
FileSpec file;
if (m_options.m_filename.empty())
{
- StackFrame *cur_frame = interpreter.GetDebugger().GetExecutionContext().frame;
+ StackFrame *cur_frame = m_interpreter.GetDebugger().GetExecutionContext().frame;
if (cur_frame == NULL)
{
result.AppendError ("Attempting to set breakpoint by line number alone with no selected frame.");
@@ -503,19 +504,20 @@ CommandObjectBreakpointSet::Execute
#pragma mark MultiwordBreakpoint
CommandObjectMultiwordBreakpoint::CommandObjectMultiwordBreakpoint (CommandInterpreter &interpreter) :
- CommandObjectMultiword ("breakpoint",
- "A set of commands for operating on breakpoints. Also see regexp-break.",
- "breakpoint <command> [<command-options>]")
+ CommandObjectMultiword (interpreter,
+ "breakpoint",
+ "A set of commands for operating on breakpoints. Also see regexp-break.",
+ "breakpoint <command> [<command-options>]")
{
bool status;
- CommandObjectSP list_command_object (new CommandObjectBreakpointList ());
- CommandObjectSP delete_command_object (new CommandObjectBreakpointDelete ());
- CommandObjectSP enable_command_object (new CommandObjectBreakpointEnable ());
- CommandObjectSP disable_command_object (new CommandObjectBreakpointDisable ());
- CommandObjectSP set_command_object (new CommandObjectBreakpointSet ());
+ CommandObjectSP list_command_object (new CommandObjectBreakpointList (interpreter));
+ CommandObjectSP delete_command_object (new CommandObjectBreakpointDelete (interpreter));
+ CommandObjectSP enable_command_object (new CommandObjectBreakpointEnable (interpreter));
+ CommandObjectSP disable_command_object (new CommandObjectBreakpointDisable (interpreter));
+ CommandObjectSP set_command_object (new CommandObjectBreakpointSet (interpreter));
CommandObjectSP command_command_object (new CommandObjectBreakpointCommand (interpreter));
- CommandObjectSP modify_command_object (new CommandObjectBreakpointModify());
+ CommandObjectSP modify_command_object (new CommandObjectBreakpointModify(interpreter));
command_command_object->SetCommandName ("breakpoint command");
enable_command_object->SetCommandName("breakpoint enable");
@@ -524,13 +526,13 @@ CommandObjectMultiwordBreakpoint::CommandObjectMultiwordBreakpoint (CommandInter
modify_command_object->SetCommandName ("breakpoint modify");
set_command_object->SetCommandName("breakpoint set");
- status = LoadSubCommand (interpreter, "list", list_command_object);
- status = LoadSubCommand (interpreter, "enable", enable_command_object);
- status = LoadSubCommand (interpreter, "disable", disable_command_object);
- status = LoadSubCommand (interpreter, "delete", delete_command_object);
- status = LoadSubCommand (interpreter, "set", set_command_object);
- status = LoadSubCommand (interpreter, "command", command_command_object);
- status = LoadSubCommand (interpreter, "modify", modify_command_object);
+ status = LoadSubCommand ("list", list_command_object);
+ status = LoadSubCommand ("enable", enable_command_object);
+ status = LoadSubCommand ("disable", disable_command_object);
+ status = LoadSubCommand ("delete", delete_command_object);
+ status = LoadSubCommand ("set", set_command_object);
+ status = LoadSubCommand ("command", command_command_object);
+ status = LoadSubCommand ("modify", modify_command_object);
}
CommandObjectMultiwordBreakpoint::~CommandObjectMultiwordBreakpoint ()
@@ -679,10 +681,11 @@ CommandObjectBreakpointList::CommandOptions::ResetOptionValues ()
//-------------------------------------------------------------------------
#pragma mark List
-CommandObjectBreakpointList::CommandObjectBreakpointList () :
- CommandObject ("breakpoint list",
- "List some or all breakpoints at configurable levels of detail.",
- "breakpoint list [<breakpoint-id>]")
+CommandObjectBreakpointList::CommandObjectBreakpointList (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "breakpoint list",
+ "List some or all breakpoints at configurable levels of detail.",
+ "breakpoint list [<breakpoint-id>]")
{
}
@@ -699,12 +702,11 @@ CommandObjectBreakpointList::GetOptions ()
bool
CommandObjectBreakpointList::Execute
(
- CommandInterpreter &interpreter,
Args& args,
CommandReturnObject &result
)
{
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
if (target == NULL)
{
result.AppendError ("Invalid target, set executable file using 'file' command.");
@@ -769,10 +771,11 @@ CommandObjectBreakpointList::Execute
//-------------------------------------------------------------------------
#pragma mark Enable
-CommandObjectBreakpointEnable::CommandObjectBreakpointEnable () :
- CommandObject ("enable",
- "Enable the specified disabled breakpoint(s). If no breakpoints are specified, enable all of them.",
- "breakpoint enable [<breakpoint-id> | <breakpoint-id-list>]")
+CommandObjectBreakpointEnable::CommandObjectBreakpointEnable (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "enable",
+ "Enable the specified disabled breakpoint(s). If no breakpoints are specified, enable all of them.",
+ "breakpoint enable [<breakpoint-id> | <breakpoint-id-list>]")
{
// This command object can either be called via 'enable' or 'breakpoint enable'. Because it has two different
// potential invocation methods, we need to be a little tricky about generating the syntax string.
@@ -790,12 +793,11 @@ CommandObjectBreakpointEnable::~CommandObjectBreakpointEnable ()
bool
CommandObjectBreakpointEnable::Execute
(
- CommandInterpreter &interpreter,
Args& args,
CommandReturnObject &result
)
{
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
if (target == NULL)
{
result.AppendError ("Invalid target, set executable file using 'file' command.");
@@ -871,8 +873,9 @@ CommandObjectBreakpointEnable::Execute
//-------------------------------------------------------------------------
#pragma mark Disable
-CommandObjectBreakpointDisable::CommandObjectBreakpointDisable () :
- CommandObject ("disable",
+CommandObjectBreakpointDisable::CommandObjectBreakpointDisable (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "disable",
"Disable the specified breakpoint(s) without removing it/them. If no breakpoints are specified, disable them all.",
"disable [<breakpoint-id> | <breakpoint-id-list>]")
{
@@ -890,12 +893,11 @@ CommandObjectBreakpointDisable::~CommandObjectBreakpointDisable ()
bool
CommandObjectBreakpointDisable::Execute
(
- CommandInterpreter &interpreter,
Args& args,
CommandReturnObject &result
)
{
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
if (target == NULL)
{
result.AppendError ("Invalid target, set executable file using 'file' command.");
@@ -971,8 +973,9 @@ CommandObjectBreakpointDisable::Execute
//-------------------------------------------------------------------------
#pragma mark Delete
-CommandObjectBreakpointDelete::CommandObjectBreakpointDelete() :
- CommandObject ("breakpoint delete",
+CommandObjectBreakpointDelete::CommandObjectBreakpointDelete(CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "breakpoint delete",
"Delete the specified breakpoint(s). If no breakpoints are specified, delete them all.",
"breakpoint delete [<breakpoint-id> | <breakpoint-id-list>]")
{
@@ -986,12 +989,11 @@ CommandObjectBreakpointDelete::~CommandObjectBreakpointDelete ()
bool
CommandObjectBreakpointDelete::Execute
(
- CommandInterpreter &interpreter,
Args& args,
CommandReturnObject &result
)
{
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
if (target == NULL)
{
result.AppendError ("Invalid target, set executable file using 'file' command.");
@@ -1207,8 +1209,10 @@ CommandObjectBreakpointModify::CommandOptions::ResetOptionValues ()
//-------------------------------------------------------------------------
#pragma mark Modify
-CommandObjectBreakpointModify::CommandObjectBreakpointModify () :
- CommandObject ("breakpoint modify", "Modify the options on a breakpoint or set of breakpoints in the executable.",
+CommandObjectBreakpointModify::CommandObjectBreakpointModify (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "breakpoint modify",
+ "Modify the options on a breakpoint or set of breakpoints in the executable.",
"breakpoint modify <cmd-options> <breakpoint-id> [<breakpoint-id> ...]")
{
}
@@ -1226,7 +1230,6 @@ CommandObjectBreakpointModify::GetOptions ()
bool
CommandObjectBreakpointModify::Execute
(
- CommandInterpreter &interpreter,
Args& command,
CommandReturnObject &result
)
@@ -1238,7 +1241,7 @@ CommandObjectBreakpointModify::Execute
return false;
}
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
if (target == NULL)
{
result.AppendError ("Invalid target, set executable file using 'file' command.");
diff --git a/lldb/source/Commands/CommandObjectBreakpoint.h b/lldb/source/Commands/CommandObjectBreakpoint.h
index b998e3d07c3..cdff75a0b48 100644
--- a/lldb/source/Commands/CommandObjectBreakpoint.h
+++ b/lldb/source/Commands/CommandObjectBreakpoint.h
@@ -60,14 +60,13 @@ public:
eSetTypeFunctionRegexp
} BreakpointSetType;
- CommandObjectBreakpointSet ();
+ CommandObjectBreakpointSet (CommandInterpreter &interpreter);
virtual
~CommandObjectBreakpointSet ();
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
virtual Options *
@@ -127,14 +126,13 @@ class CommandObjectBreakpointModify : public CommandObject
{
public:
- CommandObjectBreakpointModify ();
+ CommandObjectBreakpointModify (CommandInterpreter &interpreter);
virtual
~CommandObjectBreakpointModify ();
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
virtual Options *
@@ -187,14 +185,13 @@ private:
class CommandObjectBreakpointEnable : public CommandObject
{
public:
- CommandObjectBreakpointEnable ();
+ CommandObjectBreakpointEnable (CommandInterpreter &interpreter);
virtual
~CommandObjectBreakpointEnable ();
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
private:
@@ -207,14 +204,13 @@ private:
class CommandObjectBreakpointDisable : public CommandObject
{
public:
- CommandObjectBreakpointDisable ();
+ CommandObjectBreakpointDisable (CommandInterpreter &interpreter);
virtual
~CommandObjectBreakpointDisable ();
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
private:
@@ -227,14 +223,13 @@ private:
class CommandObjectBreakpointList : public CommandObject
{
public:
- CommandObjectBreakpointList ();
+ CommandObjectBreakpointList (CommandInterpreter &interpreter);
virtual
~CommandObjectBreakpointList ();
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
virtual Options *
@@ -280,14 +275,13 @@ private:
class CommandObjectBreakpointDelete : public CommandObject
{
public:
- CommandObjectBreakpointDelete ();
+ CommandObjectBreakpointDelete (CommandInterpreter &interpreter);
virtual
~CommandObjectBreakpointDelete ();
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
private:
diff --git a/lldb/source/Commands/CommandObjectBreakpointCommand.cpp b/lldb/source/Commands/CommandObjectBreakpointCommand.cpp
index 84f402cbf90..ca39084c3b1 100644
--- a/lldb/source/Commands/CommandObjectBreakpointCommand.cpp
+++ b/lldb/source/Commands/CommandObjectBreakpointCommand.cpp
@@ -125,8 +125,9 @@ CommandObjectBreakpointCommandAdd::CommandOptions::ResetOptionValues ()
//-------------------------------------------------------------------------
-CommandObjectBreakpointCommandAdd::CommandObjectBreakpointCommandAdd () :
- CommandObject ("add",
+CommandObjectBreakpointCommandAdd::CommandObjectBreakpointCommandAdd (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "add",
"Add a set of commands to a breakpoint, to be executed whenever the breakpoint is hit.",
"breakpoint command add <cmd-options> <breakpoint-id>")
{
@@ -239,12 +240,11 @@ CommandObjectBreakpointCommandAdd::~CommandObjectBreakpointCommandAdd ()
bool
CommandObjectBreakpointCommandAdd::Execute
(
- CommandInterpreter &interpreter,
Args& command,
CommandReturnObject &result
)
{
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
if (target == NULL)
{
@@ -307,24 +307,20 @@ CommandObjectBreakpointCommandAdd::Execute
{
// Special handling for one-liner specified inline.
if (m_options.m_use_one_liner)
- interpreter.GetScriptInterpreter()->SetBreakpointCommandCallback (interpreter,
- bp_options,
- m_options.m_one_liner.c_str());
+ m_interpreter.GetScriptInterpreter()->SetBreakpointCommandCallback (bp_options,
+ m_options.m_one_liner.c_str());
else
- interpreter.GetScriptInterpreter()->CollectDataForBreakpointCommandCallback (interpreter,
- bp_options,
- result);
+ m_interpreter.GetScriptInterpreter()->CollectDataForBreakpointCommandCallback (bp_options,
+ result);
}
else
{
// Special handling for one-liner specified inline.
if (m_options.m_use_one_liner)
- SetBreakpointCommandCallback (interpreter,
- bp_options,
+ SetBreakpointCommandCallback (bp_options,
m_options.m_one_liner.c_str());
else
- CollectDataForBreakpointCommandCallback (interpreter,
- bp_options,
+ CollectDataForBreakpointCommandCallback (bp_options,
result);
}
}
@@ -345,12 +341,11 @@ const char *g_reader_instructions = "Enter your debugger command(s). Type 'DONE
void
CommandObjectBreakpointCommandAdd::CollectDataForBreakpointCommandCallback
(
- CommandInterpreter &interpreter,
BreakpointOptions *bp_options,
CommandReturnObject &result
)
{
- InputReaderSP reader_sp (new InputReader(interpreter.GetDebugger()));
+ InputReaderSP reader_sp (new InputReader(m_interpreter.GetDebugger()));
std::auto_ptr<BreakpointOptions::CommandData> data_ap(new BreakpointOptions::CommandData());
if (reader_sp && data_ap.get())
{
@@ -365,7 +360,7 @@ CommandObjectBreakpointCommandAdd::CollectDataForBreakpointCommandCallback
true)); // echo input
if (err.Success())
{
- interpreter.GetDebugger().PushInputReader (reader_sp);
+ m_interpreter.GetDebugger().PushInputReader (reader_sp);
result.SetStatus (eReturnStatusSuccessFinishNoResult);
}
else
@@ -384,8 +379,7 @@ CommandObjectBreakpointCommandAdd::CollectDataForBreakpointCommandCallback
// Set a one-liner as the callback for the breakpoint.
void
-CommandObjectBreakpointCommandAdd::SetBreakpointCommandCallback (CommandInterpreter &interpreter,
- BreakpointOptions *bp_options,
+CommandObjectBreakpointCommandAdd::SetBreakpointCommandCallback (BreakpointOptions *bp_options,
const char *oneliner)
{
std::auto_ptr<BreakpointOptions::CommandData> data_ap(new BreakpointOptions::CommandData());
@@ -460,8 +454,9 @@ CommandObjectBreakpointCommandAdd::GenerateBreakpointCommandCallback
// CommandObjectBreakpointCommandRemove
//-------------------------------------------------------------------------
-CommandObjectBreakpointCommandRemove::CommandObjectBreakpointCommandRemove () :
- CommandObject ("remove",
+CommandObjectBreakpointCommandRemove::CommandObjectBreakpointCommandRemove (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "remove",
"Remove the set of commands from a breakpoint.",
"breakpoint command remove <breakpoint-id>")
{
@@ -474,12 +469,11 @@ CommandObjectBreakpointCommandRemove::~CommandObjectBreakpointCommandRemove ()
bool
CommandObjectBreakpointCommandRemove::Execute
(
- CommandInterpreter &interpreter,
Args& command,
CommandReturnObject &result
)
{
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
if (target == NULL)
{
@@ -546,8 +540,9 @@ CommandObjectBreakpointCommandRemove::Execute
// CommandObjectBreakpointCommandList
//-------------------------------------------------------------------------
-CommandObjectBreakpointCommandList::CommandObjectBreakpointCommandList () :
- CommandObject ("List",
+CommandObjectBreakpointCommandList::CommandObjectBreakpointCommandList (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "list",
"List the script or set of commands to be executed when the breakpoint is hit.",
"breakpoint command list <breakpoint-id>")
{
@@ -560,12 +555,11 @@ CommandObjectBreakpointCommandList::~CommandObjectBreakpointCommandList ()
bool
CommandObjectBreakpointCommandList::Execute
(
- CommandInterpreter &interpreter,
Args& command,
CommandReturnObject &result
)
{
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
if (target == NULL)
{
@@ -663,22 +657,23 @@ CommandObjectBreakpointCommandList::Execute
//-------------------------------------------------------------------------
CommandObjectBreakpointCommand::CommandObjectBreakpointCommand (CommandInterpreter &interpreter) :
- CommandObjectMultiword ("command",
+ CommandObjectMultiword (interpreter,
+ "command",
"A set of commands for adding, removing and examining bits of code to be executed when the breakpoint is hit (breakpoint 'commmands').",
"command <sub-command> [<sub-command-options>] <breakpoint-id>")
{
bool status;
- CommandObjectSP add_command_object (new CommandObjectBreakpointCommandAdd ());
- CommandObjectSP remove_command_object (new CommandObjectBreakpointCommandRemove ());
- CommandObjectSP list_command_object (new CommandObjectBreakpointCommandList ());
+ CommandObjectSP add_command_object (new CommandObjectBreakpointCommandAdd (interpreter));
+ CommandObjectSP remove_command_object (new CommandObjectBreakpointCommandRemove (interpreter));
+ CommandObjectSP list_command_object (new CommandObjectBreakpointCommandList (interpreter));
add_command_object->SetCommandName ("breakpoint command add");
remove_command_object->SetCommandName ("breakpoint command remove");
list_command_object->SetCommandName ("breakpoint command list");
- status = LoadSubCommand (interpreter, "add", add_command_object);
- status = LoadSubCommand (interpreter, "remove", remove_command_object);
- status = LoadSubCommand (interpreter, "list", list_command_object);
+ status = LoadSubCommand ("add", add_command_object);
+ status = LoadSubCommand ("remove", remove_command_object);
+ status = LoadSubCommand ("list", list_command_object);
}
diff --git a/lldb/source/Commands/CommandObjectBreakpointCommand.h b/lldb/source/Commands/CommandObjectBreakpointCommand.h
index e315515a28c..034a0e80727 100644
--- a/lldb/source/Commands/CommandObjectBreakpointCommand.h
+++ b/lldb/source/Commands/CommandObjectBreakpointCommand.h
@@ -56,28 +56,25 @@ class CommandObjectBreakpointCommandAdd : public CommandObject
{
public:
- CommandObjectBreakpointCommandAdd ();
+ CommandObjectBreakpointCommandAdd (CommandInterpreter &interpreter);
virtual
~CommandObjectBreakpointCommandAdd ();
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
virtual Options *
GetOptions ();
void
- CollectDataForBreakpointCommandCallback (CommandInterpreter &interpreter,
- BreakpointOptions *bp_options,
+ CollectDataForBreakpointCommandCallback (BreakpointOptions *bp_options,
CommandReturnObject &result);
/// Set a one-liner as the callback for the breakpoint.
void
- SetBreakpointCommandCallback (CommandInterpreter &interpreter,
- BreakpointOptions *bp_options,
+ SetBreakpointCommandCallback (BreakpointOptions *bp_options,
const char *oneliner);
static size_t
@@ -138,14 +135,13 @@ private:
class CommandObjectBreakpointCommandRemove : public CommandObject
{
public:
- CommandObjectBreakpointCommandRemove ();
+ CommandObjectBreakpointCommandRemove (CommandInterpreter &interpreter);
virtual
~CommandObjectBreakpointCommandRemove ();
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
private:
@@ -158,14 +154,13 @@ private:
class CommandObjectBreakpointCommandList : public CommandObject
{
public:
- CommandObjectBreakpointCommandList ();
+ CommandObjectBreakpointCommandList (CommandInterpreter &interpreter);
virtual
~CommandObjectBreakpointCommandList ();
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
private:
diff --git a/lldb/source/Commands/CommandObjectCall.cpp b/lldb/source/Commands/CommandObjectCall.cpp
index fe0ee534437..cedbd7a2ce1 100644
--- a/lldb/source/Commands/CommandObjectCall.cpp
+++ b/lldb/source/Commands/CommandObjectCall.cpp
@@ -128,7 +128,6 @@ CommandObjectCall::GetOptions ()
bool
CommandObjectCall::Execute
(
- CommandInterpreter &interpreter,
Args &command,
CommandReturnObject &result
)
diff --git a/lldb/source/Commands/CommandObjectCall.h b/lldb/source/Commands/CommandObjectCall.h
index 1a5ae1db1e2..33c6f56b257 100644
--- a/lldb/source/Commands/CommandObjectCall.h
+++ b/lldb/source/Commands/CommandObjectCall.h
@@ -66,8 +66,7 @@ public:
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
virtual bool
diff --git a/lldb/source/Commands/CommandObjectCommands.cpp b/lldb/source/Commands/CommandObjectCommands.cpp
index b301d8f3bf1..fc761587c82 100644
--- a/lldb/source/Commands/CommandObjectCommands.cpp
+++ b/lldb/source/Commands/CommandObjectCommands.cpp
@@ -31,10 +31,11 @@ const char *k_space_characters = "\t\n\v\f\r ";
class CommandObjectCommandsSource : public CommandObject
{
public:
- CommandObjectCommandsSource() :
- CommandObject ("commands source",
- "Read in debugger commands from the file <filename> and execute them.",
- "command source <filename>")
+ CommandObjectCommandsSource(CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "commands source",
+ "Read in debugger commands from the file <filename> and execute them.",
+ "command source <filename>")
{
}
@@ -45,7 +46,6 @@ public:
bool
Execute
(
- CommandInterpreter &interpreter,
Args& args,
CommandReturnObject &result
)
@@ -89,8 +89,10 @@ public:
size_t i;
for (i = 0; i<num_commands; ++i)
{
- result.GetOutputStream().Printf("%s %s\n", interpreter.GetPrompt(), commands[i].c_str());
- if (!interpreter.HandleCommand(commands[i].c_str(), false, result))
+ result.GetOutputStream().Printf ("%s %s\n",
+ m_interpreter.GetPrompt(),
+ commands[i].c_str());
+ if (!m_interpreter.HandleCommand(commands[i].c_str(), false, result))
break;
}
@@ -137,8 +139,9 @@ public:
class CommandObjectCommandsAlias : public CommandObject
{
public:
- CommandObjectCommandsAlias () :
- CommandObject ("commands alias",
+ CommandObjectCommandsAlias (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "commands alias",
"Allow users to define their own debugger command abbreviations.",
"commands alias <new_command> <old_command> [<options-for-aliased-command>]")
{
@@ -200,7 +203,6 @@ public:
bool
Execute
(
- CommandInterpreter &interpreter,
Args& args,
CommandReturnObject &result
)
@@ -222,7 +224,7 @@ public:
// Verify that the command is alias'able, and get the appropriate command object.
- if (interpreter.CommandExists (alias_command.c_str()))
+ if (m_interpreter.CommandExists (alias_command.c_str()))
{
result.AppendErrorWithFormat ("'%s' is a permanent debugger command and cannot be redefined.\n",
alias_command.c_str());
@@ -230,7 +232,7 @@ public:
}
else
{
- CommandObjectSP command_obj_sp(interpreter.GetCommandSPExact (actual_command.c_str(), true));
+ CommandObjectSP command_obj_sp(m_interpreter.GetCommandSPExact (actual_command.c_str(), true));
CommandObjectSP subcommand_obj_sp;
bool use_subcommand = false;
if (command_obj_sp.get())
@@ -307,25 +309,25 @@ public:
// Create the alias.
- if (interpreter.AliasExists (alias_command.c_str())
- || interpreter.UserCommandExists (alias_command.c_str()))
+ if (m_interpreter.AliasExists (alias_command.c_str())
+ || m_interpreter.UserCommandExists (alias_command.c_str()))
{
- OptionArgVectorSP tmp_option_arg_sp (interpreter.GetAliasOptions (alias_command.c_str()));
+ OptionArgVectorSP tmp_option_arg_sp (m_interpreter.GetAliasOptions (alias_command.c_str()));
if (tmp_option_arg_sp.get())
{
if (option_arg_vector->size() == 0)
- interpreter.RemoveAliasOptions (alias_command.c_str());
+ m_interpreter.RemoveAliasOptions (alias_command.c_str());
}
result.AppendWarningWithFormat ("Overwriting existing definition for '%s'.\n",
alias_command.c_str());
}
if (use_subcommand)
- interpreter.AddAlias (alias_command.c_str(), subcommand_obj_sp);
+ m_interpreter.AddAlias (alias_command.c_str(), subcommand_obj_sp);
else
- interpreter.AddAlias (alias_command.c_str(), command_obj_sp);
+ m_interpreter.AddAlias (alias_command.c_str(), command_obj_sp);
if (option_arg_vector->size() > 0)
- interpreter.AddOrReplaceAliasOptions (alias_command.c_str(), option_arg_vector_sp);
+ m_interpreter.AddOrReplaceAliasOptions (alias_command.c_str(), option_arg_vector_sp);
result.SetStatus (eReturnStatusSuccessFinishNoResult);
}
else
@@ -347,8 +349,9 @@ public:
class CommandObjectCommandsUnalias : public CommandObject
{
public:
- CommandObjectCommandsUnalias () :
- CommandObject ("commands unalias",
+ CommandObjectCommandsUnalias (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "commands unalias",
"Allow the user to remove/delete a user-defined command abbreviation.",
"unalias <alias-name-to-be-removed>")
{
@@ -362,7 +365,6 @@ public:
bool
Execute
(
- CommandInterpreter &interpreter,
Args& args,
CommandReturnObject &result
)
@@ -373,10 +375,10 @@ public:
if (args.GetArgumentCount() != 0)
{
const char *command_name = args.GetArgumentAtIndex(0);
- cmd_obj = interpreter.GetCommandObject(command_name);
+ cmd_obj = m_interpreter.GetCommandObject(command_name);
if (cmd_obj)
{
- if (interpreter.CommandExists (command_name))
+ if (m_interpreter.CommandExists (command_name))
{
result.AppendErrorWithFormat ("'%s' is a permanent debugger command and cannot be removed.\n",
command_name);
@@ -385,9 +387,9 @@ public:
else
{
- if (interpreter.RemoveAlias (command_name) == false)
+ if (m_interpreter.RemoveAlias (command_name) == false)
{
- if (interpreter.AliasExists (command_name))
+ if (m_interpreter.AliasExists (command_name))
result.AppendErrorWithFormat ("Error occurred while attempting to unalias '%s'.\n",
command_name);
else
@@ -423,13 +425,14 @@ public:
//-------------------------------------------------------------------------
CommandObjectMultiwordCommands::CommandObjectMultiwordCommands (CommandInterpreter &interpreter) :
- CommandObjectMultiword ("commands",
+ CommandObjectMultiword (interpreter,
+ "commands",
"A set of commands for managing or customizing the debugger commands.",
"commands <subcommand> [<subcommand-options>]")
{
- LoadSubCommand (interpreter, "source", CommandObjectSP (new CommandObjectCommandsSource ()));
- LoadSubCommand (interpreter, "alias", CommandObjectSP (new CommandObjectCommandsAlias ()));
- LoadSubCommand (interpreter, "unalias", CommandObjectSP (new CommandObjectCommandsUnalias ()));
+ LoadSubCommand ("source", CommandObjectSP (new CommandObjectCommandsSource (interpreter)));
+ LoadSubCommand ("alias", CommandObjectSP (new CommandObjectCommandsAlias (interpreter)));
+ LoadSubCommand ("unalias", CommandObjectSP (new CommandObjectCommandsUnalias (interpreter)));
}
CommandObjectMultiwordCommands::~CommandObjectMultiwordCommands ()
diff --git a/lldb/source/Commands/CommandObjectCrossref.cpp b/lldb/source/Commands/CommandObjectCrossref.cpp
index a9e833e3a4d..461c7e85de8 100644
--- a/lldb/source/Commands/CommandObjectCrossref.cpp
+++ b/lldb/source/Commands/CommandObjectCrossref.cpp
@@ -24,11 +24,12 @@ using namespace lldb_private;
CommandObjectCrossref::CommandObjectCrossref
(
+ CommandInterpreter &interpreter,
const char *name,
const char *help,
const char *syntax
) :
- CommandObject (name, help, syntax),
+ CommandObject (interpreter, name, help, syntax),
m_crossref_object_types()
{
}
@@ -40,7 +41,6 @@ CommandObjectCrossref::~CommandObjectCrossref ()
bool
CommandObjectCrossref::Execute
(
- CommandInterpreter &interpreter,
Args& command,
CommandReturnObject &result
)
diff --git a/lldb/source/Commands/CommandObjectDisassemble.cpp b/lldb/source/Commands/CommandObjectDisassemble.cpp
index a5fc7f6cfab..5e135376813 100644
--- a/lldb/source/Commands/CommandObjectDisassemble.cpp
+++ b/lldb/source/Commands/CommandObjectDisassemble.cpp
@@ -141,10 +141,11 @@ CommandObjectDisassemble::CommandOptions::g_option_table[] =
// CommandObjectDisassemble
//-------------------------------------------------------------------------
-CommandObjectDisassemble::CommandObjectDisassemble () :
- CommandObject ("disassemble",
- "Disassemble bytes in the current function, or elsewhere in the executable program as specified by the user.",
- "disassemble [<cmd-options>]")
+CommandObjectDisassemble::CommandObjectDisassemble (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "disassemble",
+ "Disassemble bytes in the current function, or elsewhere in the executable program as specified by the user.",
+ "disassemble [<cmd-options>]")
{
}
@@ -155,12 +156,11 @@ CommandObjectDisassemble::~CommandObjectDisassemble()
bool
CommandObjectDisassemble::Execute
(
- CommandInterpreter &interpreter,
Args& command,
CommandReturnObject &result
)
{
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
if (target == NULL)
{
result.AppendError ("invalid target, set executable file using 'file' command");
@@ -189,11 +189,15 @@ CommandObjectDisassemble::Execute
if (command.GetArgumentCount() != 0)
{
- result.AppendErrorWithFormat ("\"disassemble\" doesn't take any arguments.\n");
+ result.AppendErrorWithFormat ("\"disassemble\" arguments are specified as options.\n");
+ GetOptions()->GenerateOptionUsage (m_interpreter,
+ result.GetErrorStream(),
+ this);
+
result.SetStatus (eReturnStatusFailed);
return false;
}
- ExecutionContext exe_ctx(interpreter.GetDebugger().GetExecutionContext());
+ ExecutionContext exe_ctx(m_interpreter.GetDebugger().GetExecutionContext());
if (m_options.show_mixed && m_options.num_lines_context == 0)
m_options.num_lines_context = 1;
@@ -202,7 +206,7 @@ CommandObjectDisassemble::Execute
{
ConstString name(m_options.m_func_name.c_str());
- if (Disassembler::Disassemble (interpreter.GetDebugger(),
+ if (Disassembler::Disassemble (m_interpreter.GetDebugger(),
arch,
exe_ctx,
name,
@@ -260,7 +264,7 @@ CommandObjectDisassemble::Execute
if (range.GetByteSize() == 0)
range.SetByteSize(DEFAULT_DISASM_BYTE_SIZE);
- if (Disassembler::Disassemble (interpreter.GetDebugger(),
+ if (Disassembler::Disassemble (m_interpreter.GetDebugger(),
arch,
exe_ctx,
range,
diff --git a/lldb/source/Commands/CommandObjectDisassemble.h b/lldb/source/Commands/CommandObjectDisassemble.h
index 8ea992707f6..9b0e0ab2afe 100644
--- a/lldb/source/Commands/CommandObjectDisassemble.h
+++ b/lldb/source/Commands/CommandObjectDisassemble.h
@@ -54,7 +54,7 @@ public:
static lldb::OptionDefinition g_option_table[];
};
- CommandObjectDisassemble ();
+ CommandObjectDisassemble (CommandInterpreter &interpreter);
virtual
~CommandObjectDisassemble ();
@@ -67,8 +67,7 @@ public:
}
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
protected:
diff --git a/lldb/source/Commands/CommandObjectExpression.cpp b/lldb/source/Commands/CommandObjectExpression.cpp
index 61ada69e48f..1e2d0235598 100644
--- a/lldb/source/Commands/CommandObjectExpression.cpp
+++ b/lldb/source/Commands/CommandObjectExpression.cpp
@@ -95,12 +95,12 @@ CommandObjectExpression::CommandOptions::GetDefinitions ()
return g_option_table;
}
-CommandObjectExpression::CommandObjectExpression () :
- CommandObject (
- "expression",
- "Evaluate an Objective-C++ expression in the current program context, using variables currently in scope.",
- "expression [<cmd-options>] <expr>"),
- m_expr_line_count (0),
+CommandObjectExpression::CommandObjectExpression (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "expression",
+ "Evaluate an Objective-C++ expression in the current program context, using variables currently in scope.",
+ "expression [<cmd-options>] <expr>"),
+m_expr_line_count (0),
m_expr_lines ()
{
SetHelpLong(
@@ -125,7 +125,6 @@ CommandObjectExpression::GetOptions ()
bool
CommandObjectExpression::Execute
(
- CommandInterpreter &interpreter,
Args& command,
CommandReturnObject &result
)
@@ -259,12 +258,11 @@ CommandObjectExpression::EvaluateExpression (const char *expr, bool bare, Stream
bool
CommandObjectExpression::ExecuteRawCommandString
(
- CommandInterpreter &interpreter,
const char *command,
CommandReturnObject &result
)
{
- m_exe_ctx = interpreter.GetDebugger().GetExecutionContext();
+ m_exe_ctx = m_interpreter.GetDebugger().GetExecutionContext();
m_options.ResetOptionValues();
@@ -275,7 +273,7 @@ CommandObjectExpression::ExecuteRawCommandString
m_expr_lines.clear();
m_expr_line_count = 0;
- InputReaderSP reader_sp (new InputReader(interpreter.GetDebugger()));
+ InputReaderSP reader_sp (new InputReader(m_interpreter.GetDebugger()));
if (reader_sp)
{
Error err (reader_sp->Initialize (CommandObjectExpression::MultiLineExpressionCallback,
@@ -286,7 +284,7 @@ CommandObjectExpression::ExecuteRawCommandString
true)); // echo input
if (err.Success())
{
- interpreter.GetDebugger().PushInputReader (reader_sp);
+ m_interpreter.GetDebugger().PushInputReader (reader_sp);
result.SetStatus (eReturnStatusSuccessFinishNoResult);
}
else
@@ -328,7 +326,7 @@ CommandObjectExpression::ExecuteRawCommandString
if (end_options)
{
Args args (command, end_options - command);
- if (!ParseOptions (interpreter, args, result))
+ if (!ParseOptions (args, result))
return false;
}
}
diff --git a/lldb/source/Commands/CommandObjectExpression.h b/lldb/source/Commands/CommandObjectExpression.h
index f4805634c4b..4aed304a793 100644
--- a/lldb/source/Commands/CommandObjectExpression.h
+++ b/lldb/source/Commands/CommandObjectExpression.h
@@ -54,7 +54,7 @@ public:
bool show_summary;
};
- CommandObjectExpression ();
+ CommandObjectExpression (CommandInterpreter &interpreter);
virtual
~CommandObjectExpression ();
@@ -65,16 +65,14 @@ public:
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
virtual bool
WantsRawCommandString() { return true; }
virtual bool
- ExecuteRawCommandString (CommandInterpreter &interpreter,
- const char *command,
+ ExecuteRawCommandString (const char *command,
CommandReturnObject &result);
protected:
diff --git a/lldb/source/Commands/CommandObjectFile.cpp b/lldb/source/Commands/CommandObjectFile.cpp
index 54bd975a07e..4a560ab558e 100644
--- a/lldb/source/Commands/CommandObjectFile.cpp
+++ b/lldb/source/Commands/CommandObjectFile.cpp
@@ -85,8 +85,9 @@ CommandObjectFile::CommandOptions::ResetOptionValues ()
// CommandObjectFile
//-------------------------------------------------------------------------
-CommandObjectFile::CommandObjectFile() :
- CommandObject ("file",
+CommandObjectFile::CommandObjectFile(CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "file",
"Set the file to be used as the main executable by the debugger.",
"file [<cmd-options>] <filename>")
{
@@ -105,7 +106,6 @@ CommandObjectFile::GetOptions ()
bool
CommandObjectFile::Execute
(
- CommandInterpreter &interpreter,
Args& command,
CommandReturnObject &result
)
@@ -127,7 +127,7 @@ CommandObjectFile::Execute
TargetSP target_sp;
ArchSpec arch = m_options.m_arch;
- Debugger &debugger = interpreter.GetDebugger();
+ Debugger &debugger = m_interpreter.GetDebugger();
Error error = debugger.GetTargetList().CreateTarget (debugger, file_spec, m_options.m_arch, NULL, true, target_sp);
if (target_sp)
@@ -152,27 +152,28 @@ CommandObjectFile::Execute
}
int
-CommandObjectFile::HandleArgumentCompletion (CommandInterpreter &interpreter,
- Args &input,
- int &cursor_index,
- int &cursor_char_position,
- OptionElementVector &opt_element_vector,
- int match_start_point,
- int max_return_elements,
- bool &word_complete,
- StringList &matches)
+CommandObjectFile::HandleArgumentCompletion
+(
+ Args &input,
+ int &cursor_index,
+ int &cursor_char_position,
+ OptionElementVector &opt_element_vector,
+ int match_start_point,
+ int max_return_elements,
+ bool &word_complete,
+ StringList &matches
+)
{
- std::string completion_str (input.GetArgumentAtIndex(cursor_index));
- completion_str.erase (cursor_char_position);
-
- CommandCompletions::InvokeCommonCompletionCallbacks (interpreter,
- CommandCompletions::eDiskFileCompletion,
- completion_str.c_str(),
- match_start_point,
- max_return_elements,
- NULL,
- word_complete,
- matches);
- return matches.GetSize();
-
+ std::string completion_str (input.GetArgumentAtIndex(cursor_index));
+ completion_str.erase (cursor_char_position);
+
+ CommandCompletions::InvokeCommonCompletionCallbacks (m_interpreter,
+ CommandCompletions::eDiskFileCompletion,
+ completion_str.c_str(),
+ match_start_point,
+ max_return_elements,
+ NULL,
+ word_complete,
+ matches);
+ return matches.GetSize();
}
diff --git a/lldb/source/Commands/CommandObjectFile.h b/lldb/source/Commands/CommandObjectFile.h
index b42f753ada1..4820b20a12b 100644
--- a/lldb/source/Commands/CommandObjectFile.h
+++ b/lldb/source/Commands/CommandObjectFile.h
@@ -28,14 +28,13 @@ class CommandObjectFile : public CommandObject
{
public:
- CommandObjectFile ();
+ CommandObjectFile (CommandInterpreter &interpreter);
virtual
~CommandObjectFile ();
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
virtual Options *
@@ -69,8 +68,7 @@ public:
};
virtual int
- HandleArgumentCompletion (CommandInterpreter &interpreter,
- Args &input,
+ HandleArgumentCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
OptionElementVector &opt_element_vector,
diff --git a/lldb/source/Commands/CommandObjectFrame.cpp b/lldb/source/Commands/CommandObjectFrame.cpp
index 1593488f4c1..04136642f15 100644
--- a/lldb/source/Commands/CommandObjectFrame.cpp
+++ b/lldb/source/Commands/CommandObjectFrame.cpp
@@ -51,11 +51,12 @@ class CommandObjectFrameInfo : public CommandObject
{
public:
- CommandObjectFrameInfo () :
- CommandObject ("frame info",
- "List information about the currently selected frame in the current thread.",
- "frame info",
- eFlagProcessMustBeLaunched | eFlagProcessMustBePaused)
+ CommandObjectFrameInfo (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "frame info",
+ "List information about the currently selected frame in the current thread.",
+ "frame info",
+ eFlagProcessMustBeLaunched | eFlagProcessMustBePaused)
{
}
@@ -64,11 +65,10 @@ public:
}
bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result)
{
- ExecutionContext exe_ctx(interpreter.GetDebugger().GetExecutionContext());
+ ExecutionContext exe_ctx(m_interpreter.GetDebugger().GetExecutionContext());
if (exe_ctx.frame)
{
exe_ctx.frame->Dump (&result.GetOutputStream(), true, false);
@@ -94,12 +94,12 @@ class CommandObjectFrameSelect : public CommandObject
{
public:
- CommandObjectFrameSelect () :
- CommandObject ("frame select",
- //"Select the current frame by index in the current thread.",
- "Select a frame by index from within the current thread and make it the current frame.",
- "frame select <frame-index>",
- eFlagProcessMustBeLaunched | eFlagProcessMustBePaused)
+ CommandObjectFrameSelect (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "frame select",
+ "Select a frame by index from within the current thread and make it the current frame.",
+ "frame select <frame-index>",
+ eFlagProcessMustBeLaunched | eFlagProcessMustBePaused)
{
}
@@ -108,11 +108,10 @@ public:
}
bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result)
{
- ExecutionContext exe_ctx (interpreter.GetDebugger().GetExecutionContext());
+ ExecutionContext exe_ctx (m_interpreter.GetDebugger().GetExecutionContext());
if (exe_ctx.thread)
{
if (command.GetArgumentCount() == 1)
@@ -130,14 +129,14 @@ public:
{
bool already_shown = false;
SymbolContext frame_sc(exe_ctx.frame->GetSymbolContext(eSymbolContextLineEntry));
- if (interpreter.GetDebugger().UseExternalEditor() && frame_sc.line_entry.file && frame_sc.line_entry.line != 0)
+ if (m_interpreter.GetDebugger().UseExternalEditor() && frame_sc.line_entry.file && frame_sc.line_entry.line != 0)
{
already_shown = Host::OpenFileInExternalEditor (frame_sc.line_entry.file, frame_sc.line_entry.line);
}
if (DisplayFrameForExecutionContext (exe_ctx.thread,
exe_ctx.frame,
- interpreter,
+ m_interpreter,
result.GetOutputStream(),
true,
!already_shown,
@@ -288,11 +287,11 @@ public:
// Instance variables to hold the values for command options.
};
- CommandObjectFrameVariable () :
- CommandObject (
- "frame variable",
- "Show specified argument, local variable, static variable or global variable for the current frame. If none specified, list them all.",
- "frame variable [<cmd-options>] [<var-name1> [<var-name2>...]]")
+ CommandObjectFrameVariable (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "frame variable",
+ "Show specified argument, local variable, static variable or global variable for the current frame. If none specified, list them all.",
+ "frame variable [<cmd-options>] [<var-name1> [<var-name2>...]]")
{
}
@@ -431,12 +430,11 @@ public:
virtual bool
Execute
(
- CommandInterpreter &interpreter,
Args& command,
CommandReturnObject &result
)
{
- ExecutionContext exe_ctx(interpreter.GetDebugger().GetExecutionContext());
+ ExecutionContext exe_ctx(m_interpreter.GetDebugger().GetExecutionContext());
if (exe_ctx.frame == NULL)
{
result.AppendError ("invalid frame");
@@ -789,13 +787,14 @@ CommandObjectFrameVariable::CommandOptions::g_option_table[] =
//-------------------------------------------------------------------------
CommandObjectMultiwordFrame::CommandObjectMultiwordFrame (CommandInterpreter &interpreter) :
- CommandObjectMultiword ("frame",
+ CommandObjectMultiword (interpreter,
+ "frame",
"A set of commands for operating on the current thread's frames.",
"frame <subcommand> [<subcommand-options>]")
{
- LoadSubCommand (interpreter, "info", CommandObjectSP (new CommandObjectFrameInfo ()));
- LoadSubCommand (interpreter, "select", CommandObjectSP (new CommandObjectFrameSelect ()));
- LoadSubCommand (interpreter, "variable", CommandObjectSP (new CommandObjectFrameVariable ()));
+ LoadSubCommand ("info", CommandObjectSP (new CommandObjectFrameInfo (interpreter)));
+ LoadSubCommand ("select", CommandObjectSP (new CommandObjectFrameSelect (interpreter)));
+ LoadSubCommand ("variable", CommandObjectSP (new CommandObjectFrameVariable (interpreter)));
}
CommandObjectMultiwordFrame::~CommandObjectMultiwordFrame ()
diff --git a/lldb/source/Commands/CommandObjectHelp.cpp b/lldb/source/Commands/CommandObjectHelp.cpp
index 9541d368d03..2d4b9f28482 100644
--- a/lldb/source/Commands/CommandObjectHelp.cpp
+++ b/lldb/source/Commands/CommandObjectHelp.cpp
@@ -25,8 +25,9 @@ using namespace lldb_private;
// CommandObjectHelp
//-------------------------------------------------------------------------
-CommandObjectHelp::CommandObjectHelp () :
- CommandObject ("help",
+CommandObjectHelp::CommandObjectHelp (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "help",
"Show a list of all debugger commands, or give details about specific commands.",
"help [<cmd-name>]")
{
@@ -38,7 +39,7 @@ CommandObjectHelp::~CommandObjectHelp()
bool
-CommandObjectHelp::Execute (CommandInterpreter &interpreter, Args& command, CommandReturnObject &result)
+CommandObjectHelp::Execute (Args& command, CommandReturnObject &result)
{
CommandObject::CommandMap::iterator pos;
CommandObject *cmd_obj;
@@ -49,13 +50,13 @@ CommandObjectHelp::Execute (CommandInterpreter &interpreter, Args& command, Comm
if (argc == 0)
{
result.SetStatus (eReturnStatusSuccessFinishNoResult);
- interpreter.GetHelp (result); // General help, for ALL commands.
+ m_interpreter.GetHelp (result); // General help, for ALL commands.
}
else
{
// Get command object for the first command argument. Only search built-in command dictionary.
StringList matches;
- cmd_obj = interpreter.GetCommandObject (command.GetArgumentAtIndex (0), &matches);
+ cmd_obj = m_interpreter.GetCommandObject (command.GetArgumentAtIndex (0), &matches);
if (cmd_obj != NULL)
{
@@ -94,10 +95,9 @@ CommandObjectHelp::Execute (CommandInterpreter &interpreter, Args& command, Comm
Stream &output_strm = result.GetOutputStream();
if (sub_cmd_obj->GetOptions() != NULL)
{
- interpreter.OutputFormattedHelpText (output_strm, "", "", sub_cmd_obj->GetHelp(), 1);
+ m_interpreter.OutputFormattedHelpText (output_strm, "", "", sub_cmd_obj->GetHelp(), 1);
output_strm.Printf ("\nSyntax: %s\n", sub_cmd_obj->GetSyntax());
- sub_cmd_obj->GetOptions()->GenerateOptionUsage (output_strm, sub_cmd_obj,
- interpreter.GetDebugger().GetInstanceName().AsCString());
+ sub_cmd_obj->GetOptions()->GenerateOptionUsage (m_interpreter, output_strm, sub_cmd_obj);
const char *long_help = sub_cmd_obj->GetHelpLong();
if ((long_help != NULL)
&& (strlen (long_help) > 0))
@@ -105,8 +105,8 @@ CommandObjectHelp::Execute (CommandInterpreter &interpreter, Args& command, Comm
}
else if (sub_cmd_obj->IsMultiwordObject())
{
- interpreter.OutputFormattedHelpText (output_strm, "", "", sub_cmd_obj->GetHelp(), 1);
- ((CommandObjectMultiword *) sub_cmd_obj)->GenerateHelpText (interpreter, result);
+ m_interpreter.OutputFormattedHelpText (output_strm, "", "", sub_cmd_obj->GetHelp(), 1);
+ ((CommandObjectMultiword *) sub_cmd_obj)->GenerateHelpText (result);
}
else
{
@@ -115,7 +115,7 @@ CommandObjectHelp::Execute (CommandInterpreter &interpreter, Args& command, Comm
&& (strlen (long_help) > 0))
output_strm.Printf ("\n%s", long_help);
else
- interpreter.OutputFormattedHelpText (output_strm, "", "", sub_cmd_obj->GetHelp(), 1);
+ m_interpreter.OutputFormattedHelpText (output_strm, "", "", sub_cmd_obj->GetHelp(), 1);
output_strm.Printf ("\nSyntax: %s\n", sub_cmd_obj->GetSyntax());
}
}
@@ -145,7 +145,6 @@ CommandObjectHelp::Execute (CommandInterpreter &interpreter, Args& command, Comm
int
CommandObjectHelp::HandleCompletion
(
- CommandInterpreter &interpreter,
Args &input,
int &cursor_index,
int &cursor_char_position,
@@ -158,15 +157,25 @@ CommandObjectHelp::HandleCompletion
// Return the completions of the commands in the help system:
if (cursor_index == 0)
{
- return interpreter.HandleCompletionMatches(input, cursor_index, cursor_char_position, match_start_point,
- max_return_elements, word_complete, matches);
+ return m_interpreter.HandleCompletionMatches (input,
+ cursor_index,
+ cursor_char_position,
+ match_start_point,
+ max_return_elements,
+ word_complete,
+ matches);
}
else
{
- CommandObject *cmd_obj = interpreter.GetCommandObject (input.GetArgumentAtIndex(0));
+ CommandObject *cmd_obj = m_interpreter.GetCommandObject (input.GetArgumentAtIndex(0));
input.Shift();
cursor_index--;
- return cmd_obj->HandleCompletion (interpreter, input, cursor_index, cursor_char_position, match_start_point,
- max_return_elements, word_complete, matches);
+ return cmd_obj->HandleCompletion (input,
+ cursor_index,
+ cursor_char_position,
+ match_start_point,
+ max_return_elements,
+ word_complete,
+ matches);
}
}
diff --git a/lldb/source/Commands/CommandObjectHelp.h b/lldb/source/Commands/CommandObjectHelp.h
index cf16e5d35a2..9e6c90b5e87 100644
--- a/lldb/source/Commands/CommandObjectHelp.h
+++ b/lldb/source/Commands/CommandObjectHelp.h
@@ -26,19 +26,17 @@ class CommandObjectHelp : public CommandObject
{
public:
- CommandObjectHelp ();
+ CommandObjectHelp (CommandInterpreter &interpreter);
virtual
~CommandObjectHelp ();
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
virtual int
- HandleCompletion (CommandInterpreter &interpreter,
- Args &input,
+ HandleCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
int match_start_point,
diff --git a/lldb/source/Commands/CommandObjectImage.cpp b/lldb/source/Commands/CommandObjectImage.cpp
index 414e0315fde..8c17221b9a7 100644
--- a/lldb/source/Commands/CommandObjectImage.cpp
+++ b/lldb/source/Commands/CommandObjectImage.cpp
@@ -476,10 +476,11 @@ class CommandObjectImageDumpModuleList : public CommandObject
{
public:
- CommandObjectImageDumpModuleList (const char *name,
+ CommandObjectImageDumpModuleList (CommandInterpreter &interpreter,
+ const char *name,
const char *help,
const char *syntax) :
- CommandObject (name, help, syntax)
+ CommandObject (interpreter, name, help, syntax)
{
}
@@ -489,8 +490,7 @@ public:
}
virtual int
- HandleArgumentCompletion (CommandInterpreter &interpreter,
- Args &input,
+ HandleArgumentCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
OptionElementVector &opt_element_vector,
@@ -503,7 +503,7 @@ public:
std::string completion_str (input.GetArgumentAtIndex(cursor_index));
completion_str.erase (cursor_char_position);
- CommandCompletions::InvokeCommonCompletionCallbacks (interpreter,
+ CommandCompletions::InvokeCommonCompletionCallbacks (m_interpreter,
CommandCompletions::eModuleCompletion,
completion_str.c_str(),
match_start_point,
@@ -519,10 +519,11 @@ class CommandObjectImageDumpSourceFileList : public CommandObject
{
public:
- CommandObjectImageDumpSourceFileList (const char *name,
+ CommandObjectImageDumpSourceFileList (CommandInterpreter &interpreter,
+ const char *name,
const char *help,
const char *syntax) :
- CommandObject (name, help, syntax)
+ CommandObject (interpreter, name, help, syntax)
{
}
@@ -532,8 +533,7 @@ public:
}
virtual int
- HandleArgumentCompletion (CommandInterpreter &interpreter,
- Args &input,
+ HandleArgumentCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
OptionElementVector &opt_element_vector,
@@ -546,7 +546,7 @@ public:
std::string completion_str (input.GetArgumentAtIndex(cursor_index));
completion_str.erase (cursor_char_position);
- CommandCompletions::InvokeCommonCompletionCallbacks (interpreter,
+ CommandCompletions::InvokeCommonCompletionCallbacks (m_interpreter,
CommandCompletions::eSourceFileCompletion,
completion_str.c_str(),
match_start_point,
@@ -562,10 +562,11 @@ public:
class CommandObjectImageDumpSymtab : public CommandObjectImageDumpModuleList
{
public:
- CommandObjectImageDumpSymtab () :
- CommandObjectImageDumpModuleList ("image dump symtab",
- "Dump the symbol table from one or more executable images.",
- "image dump symtab [<file1> ...]")
+ CommandObjectImageDumpSymtab (CommandInterpreter &interpreter) :
+ CommandObjectImageDumpModuleList (interpreter,
+ "image dump symtab",
+ "Dump the symbol table from one or more executable images.",
+ "image dump symtab [<file1> ...]")
{
}
@@ -575,11 +576,10 @@ public:
}
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result)
{
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
if (target == NULL)
{
result.AppendError ("invalid target, set executable file using 'file' command");
@@ -604,7 +604,7 @@ public:
for (uint32_t image_idx = 0; image_idx<num_modules; ++image_idx)
{
num_dumped++;
- DumpModuleSymtab (interpreter, result.GetOutputStream(), target->GetImages().GetModulePointerAtIndex(image_idx));
+ DumpModuleSymtab (m_interpreter, result.GetOutputStream(), target->GetImages().GetModulePointerAtIndex(image_idx));
}
}
else
@@ -642,7 +642,7 @@ public:
if (image_module)
{
num_dumped++;
- DumpModuleSymtab (interpreter, result.GetOutputStream(), image_module);
+ DumpModuleSymtab (m_interpreter, result.GetOutputStream(), image_module);
}
}
}
@@ -670,8 +670,9 @@ public:
class CommandObjectImageDumpSections : public CommandObjectImageDumpModuleList
{
public:
- CommandObjectImageDumpSections () :
- CommandObjectImageDumpModuleList ("image dump sections",
+ CommandObjectImageDumpSections (CommandInterpreter &interpreter) :
+ CommandObjectImageDumpModuleList (interpreter,
+ "image dump sections",
"Dump the sections from one or more executable images.",
"image dump sections [<file1> ...]")
{
@@ -683,11 +684,10 @@ public:
}
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result)
{
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
if (target == NULL)
{
result.AppendError ("invalid target, set executable file using 'file' command");
@@ -712,7 +712,7 @@ public:
for (uint32_t image_idx = 0; image_idx<num_modules; ++image_idx)
{
num_dumped++;
- DumpModuleSections (interpreter, result.GetOutputStream(), target->GetImages().GetModulePointerAtIndex(image_idx));
+ DumpModuleSections (m_interpreter, result.GetOutputStream(), target->GetImages().GetModulePointerAtIndex(image_idx));
}
}
else
@@ -750,7 +750,7 @@ public:
if (image_module)
{
num_dumped++;
- DumpModuleSections (interpreter, result.GetOutputStream(), image_module);
+ DumpModuleSections (m_interpreter, result.GetOutputStream(), image_module);
}
}
}
@@ -777,10 +777,11 @@ public:
class CommandObjectImageDumpSymfile : public CommandObjectImageDumpModuleList
{
public:
- CommandObjectImageDumpSymfile () :
- CommandObjectImageDumpModuleList ("image dump symfile",
- "Dump the debug symbol file for one or more executable images.",
- "image dump symfile [<file1> ...]")
+ CommandObjectImageDumpSymfile (CommandInterpreter &interpreter) :
+ CommandObjectImageDumpModuleList (interpreter,
+ "image dump symfile",
+ "Dump the debug symbol file for one or more executable images.",
+ "image dump symfile [<file1> ...]")
{
}
@@ -790,11 +791,10 @@ public:
}
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result)
{
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
if (target == NULL)
{
result.AppendError ("invalid target, set executable file using 'file' command");
@@ -884,10 +884,11 @@ public:
class CommandObjectImageDumpLineTable : public CommandObjectImageDumpSourceFileList
{
public:
- CommandObjectImageDumpLineTable () :
- CommandObjectImageDumpSourceFileList ("image dump line-table",
- "Dump the debug symbol file for one or more executable images.",
- "image dump line-table <source-file1> [<source-file2> ...]")
+ CommandObjectImageDumpLineTable (CommandInterpreter &interpreter) :
+ CommandObjectImageDumpSourceFileList (interpreter,
+ "image dump line-table",
+ "Dump the debug symbol file for one or more executable images.",
+ "image dump line-table <source-file1> [<source-file2> ...]")
{
}
@@ -897,11 +898,10 @@ public:
}
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result)
{
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
if (target == NULL)
{
result.AppendError ("invalid target, set executable file using 'file' command");
@@ -910,7 +910,7 @@ public:
}
else
{
- ExecutionContext exe_ctx(interpreter.GetDebugger().GetExecutionContext());
+ ExecutionContext exe_ctx(m_interpreter.GetDebugger().GetExecutionContext());
uint32_t total_num_dumped = 0;
uint32_t addr_byte_size = target->GetArchitecture().GetAddressByteSize();
@@ -935,7 +935,7 @@ public:
uint32_t num_dumped = 0;
for (uint32_t i = 0; i<num_modules; ++i)
{
- if (DumpCompileUnitLineTable (interpreter,
+ if (DumpCompileUnitLineTable (m_interpreter,
result.GetOutputStream(),
target->GetImages().GetModulePointerAtIndex(i),
file_spec,
@@ -973,14 +973,15 @@ public:
// Constructors and Destructors
//------------------------------------------------------------------
CommandObjectImageDump(CommandInterpreter &interpreter) :
- CommandObjectMultiword ("image dump",
+ CommandObjectMultiword (interpreter,
+ "image dump",
"A set of commands for dumping information about one or more executable images; 'line-table' expects a source file name",
"image dump [symtab|sections|symfile|line-table] [<file1> <file2> ...]")
{
- LoadSubCommand (interpreter, "symtab", CommandObjectSP (new CommandObjectImageDumpSymtab ()));
- LoadSubCommand (interpreter, "sections", CommandObjectSP (new CommandObjectImageDumpSections ()));
- LoadSubCommand (interpreter, "symfile", CommandObjectSP (new CommandObjectImageDumpSymfile ()));
- LoadSubCommand (interpreter, "line-table", CommandObjectSP (new CommandObjectImageDumpLineTable ()));
+ LoadSubCommand ("symtab", CommandObjectSP (new CommandObjectImageDumpSymtab (interpreter)));
+ LoadSubCommand ("sections", CommandObjectSP (new CommandObjectImageDumpSections (interpreter)));
+ LoadSubCommand ("symfile", CommandObjectSP (new CommandObjectImageDumpSymfile (interpreter)));
+ LoadSubCommand ("line-table", CommandObjectSP (new CommandObjectImageDumpLineTable (interpreter)));
}
virtual
@@ -1045,11 +1046,11 @@ public:
FormatWidthCollection m_format_array;
};
- CommandObjectImageList () :
- CommandObject (
- "image list",
- "List current executable and dependent shared library images.",
- "image list [<cmd-options>]")
+ CommandObjectImageList (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "image list",
+ "List current executable and dependent shared library images.",
+ "image list [<cmd-options>]")
{
}
@@ -1066,11 +1067,10 @@ public:
}
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result)
{
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
if (target == NULL)
{
result.AppendError ("invalid target, set executable file using 'file' command");
@@ -1322,11 +1322,11 @@ public:
};
- CommandObjectImageLookup () :
- CommandObject (
- "image lookup",
- "Look up information within executable and dependent shared library images.",
- "image lookup [<cmd-options>] [<file1>...]")
+ CommandObjectImageLookup (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "image lookup",
+ "Look up information within executable and dependent shared library images.",
+ "image lookup [<cmd-options>] [<file1>...]")
{
}
@@ -1351,7 +1351,7 @@ public:
case eLookupTypeAddress:
if (m_options.m_addr != LLDB_INVALID_ADDRESS)
{
- if (LookupAddressInModule (interpreter,
+ if (LookupAddressInModule (m_interpreter,
result.GetOutputStream(),
module,
eSymbolContextEverything,
@@ -1368,7 +1368,7 @@ public:
case eLookupTypeSymbol:
if (!m_options.m_str.empty())
{
- if (LookupSymbolInModule (interpreter, result.GetOutputStream(), module, m_options.m_str.c_str(), m_options.m_use_regex))
+ if (LookupSymbolInModule (m_interpreter, result.GetOutputStream(), module, m_options.m_str.c_str(), m_options.m_use_regex))
{
result.SetStatus(eReturnStatusSuccessFinishResult);
return true;
@@ -1380,7 +1380,7 @@ public:
if (m_options.m_file)
{
- if (LookupFileAndLineInModule (interpreter,
+ if (LookupFileAndLineInModule (m_interpreter,
result.GetOutputStream(),
module,
m_options.m_file,
@@ -1396,7 +1396,7 @@ public:
case eLookupTypeFunction:
if (!m_options.m_str.empty())
{
- if (LookupFunctionInModule (interpreter,
+ if (LookupFunctionInModule (m_interpreter,
result.GetOutputStream(),
module,
m_options.m_str.c_str(),
@@ -1411,7 +1411,7 @@ public:
case eLookupTypeType:
if (!m_options.m_str.empty())
{
- if (LookupTypeInModule (interpreter,
+ if (LookupTypeInModule (m_interpreter,
result.GetOutputStream(),
module,
m_options.m_str.c_str(),
@@ -1424,7 +1424,7 @@ public:
break;
default:
- m_options.GenerateOptionUsage (result.GetErrorStream(), this, interpreter.GetDebugger().GetInstanceName().AsCString());
+ m_options.GenerateOptionUsage (m_interpreter, result.GetErrorStream(), this);
syntax_error = true;
break;
}
@@ -1434,11 +1434,10 @@ public:
}
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result)
{
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
if (target == NULL)
{
result.AppendError ("invalid target, set executable file using 'file' command");
@@ -1463,7 +1462,7 @@ public:
{
for (i = 0; i<num_modules && syntax_error == false; ++i)
{
- if (LookupInModule (interpreter, target->GetImages().GetModulePointerAtIndex(i), result, syntax_error))
+ if (LookupInModule (m_interpreter, target->GetImages().GetModulePointerAtIndex(i), result, syntax_error))
{
result.GetOutputStream().EOL();
num_successful_lookups++;
@@ -1504,7 +1503,7 @@ public:
Module * image_module = matching_modules.GetModulePointerAtIndex(j);
if (image_module)
{
- if (LookupInModule (interpreter, image_module, result, syntax_error))
+ if (LookupInModule (m_interpreter, image_module, result, syntax_error))
{
result.GetOutputStream().EOL();
num_successful_lookups++;
@@ -1553,13 +1552,14 @@ CommandObjectImageLookup::CommandOptions::g_option_table[] =
// CommandObjectImage constructor
//----------------------------------------------------------------------
CommandObjectImage::CommandObjectImage(CommandInterpreter &interpreter) :
- CommandObjectMultiword ("image",
+ CommandObjectMultiword (interpreter,
+ "image",
"A set of commands for accessing information for one or more executable images.",
"image <sub-command> ...")
{
- LoadSubCommand (interpreter, "dump", CommandObjectSP (new CommandObjectImageDump (interpreter)));
- LoadSubCommand (interpreter, "list", CommandObjectSP (new CommandObjectImageList ()));
- LoadSubCommand (interpreter, "lookup", CommandObjectSP (new CommandObjectImageLookup ()));
+ LoadSubCommand ("dump", CommandObjectSP (new CommandObjectImageDump (interpreter)));
+ LoadSubCommand ("list", CommandObjectSP (new CommandObjectImageList (interpreter)));
+ LoadSubCommand ("lookup", CommandObjectSP (new CommandObjectImageLookup (interpreter)));
}
//----------------------------------------------------------------------
diff --git a/lldb/source/Commands/CommandObjectLog.cpp b/lldb/source/Commands/CommandObjectLog.cpp
index f5ad33d5df5..d2e0652639a 100644
--- a/lldb/source/Commands/CommandObjectLog.cpp
+++ b/lldb/source/Commands/CommandObjectLog.cpp
@@ -58,8 +58,9 @@ public:
//------------------------------------------------------------------
// Constructors and Destructors
//------------------------------------------------------------------
- CommandObjectLogEnable() :
- CommandObject ("log enable",
+ CommandObjectLogEnable(CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "log enable",
"Enable logging for a single log channel.",
"log enable [<cmd-options>] <channel>")
{
@@ -77,8 +78,7 @@ public:
}
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& args,
+ Execute (Args& args,
CommandReturnObject &result)
{
if (args.GetArgumentCount() < 1)
@@ -95,7 +95,7 @@ public:
if (m_options.log_file.empty())
{
- log_stream_sp.reset(new StreamFile(interpreter.GetDebugger().GetOutputFileHandle()));
+ log_stream_sp.reset(new StreamFile(m_interpreter.GetDebugger().GetOutputFileHandle()));
}
else
{
@@ -234,10 +234,11 @@ public:
//------------------------------------------------------------------
// Constructors and Destructors
//------------------------------------------------------------------
- CommandObjectLogDisable() :
- CommandObject ("log disable",
- "Disable one or more log channels.",
- "log disable <channel> [<channel> ...]")
+ CommandObjectLogDisable(CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "log disable",
+ "Disable one or more log channels.",
+ "log disable <channel> [<channel> ...]")
{
}
@@ -247,8 +248,7 @@ public:
}
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& args,
+ Execute (Args& args,
CommandReturnObject &result)
{
const size_t argc = args.GetArgumentCount();
@@ -295,8 +295,9 @@ public:
//------------------------------------------------------------------
// Constructors and Destructors
//------------------------------------------------------------------
- CommandObjectLogList() :
- CommandObject ("log list",
+ CommandObjectLogList(CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "log list",
"List the log categories for one or more log channels.",
"log list <channel> [<channel> ...]")
{
@@ -308,8 +309,7 @@ public:
}
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& args,
+ Execute (Args& args,
CommandReturnObject &result)
{
const size_t argc = args.GetArgumentCount();
@@ -358,8 +358,9 @@ public:
//------------------------------------------------------------------
// Constructors and Destructors
//------------------------------------------------------------------
- CommandObjectLogTimer() :
- CommandObject ("log timers",
+ CommandObjectLogTimer(CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "log timers",
"Enable, disable, dump, and reset LLDB internal performance timers.",
"log timers < enable | disable | dump | reset >")
{
@@ -371,8 +372,7 @@ public:
}
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& args,
+ Execute (Args& args,
CommandReturnObject &result)
{
const size_t argc = args.GetArgumentCount();
@@ -418,14 +418,15 @@ public:
// CommandObjectLog constructor
//----------------------------------------------------------------------
CommandObjectLog::CommandObjectLog(CommandInterpreter &interpreter) :
- CommandObjectMultiword ("log",
+ CommandObjectMultiword (interpreter,
+ "log",
"A set of commands for operating on logs.",
"log <command> [<command-options>]")
{
- LoadSubCommand (interpreter, "enable", CommandObjectSP (new CommandObjectLogEnable));
- LoadSubCommand (interpreter, "disable", CommandObjectSP (new CommandObjectLogDisable));
- LoadSubCommand (interpreter, "list", CommandObjectSP (new CommandObjectLogList));
- LoadSubCommand (interpreter, "timers", CommandObjectSP (new CommandObjectLogTimer));
+ LoadSubCommand ("enable", CommandObjectSP (new CommandObjectLogEnable (interpreter)));
+ LoadSubCommand ("disable", CommandObjectSP (new CommandObjectLogDisable (interpreter)));
+ LoadSubCommand ("list", CommandObjectSP (new CommandObjectLogList (interpreter)));
+ LoadSubCommand ("timers", CommandObjectSP (new CommandObjectLogTimer (interpreter)));
}
//----------------------------------------------------------------------
diff --git a/lldb/source/Commands/CommandObjectMemory.cpp b/lldb/source/Commands/CommandObjectMemory.cpp
index f5fe0ec62c2..22eccca9015 100644
--- a/lldb/source/Commands/CommandObjectMemory.cpp
+++ b/lldb/source/Commands/CommandObjectMemory.cpp
@@ -176,8 +176,9 @@ public:
uint32_t m_num_per_line;
};
- CommandObjectMemoryRead () :
- CommandObject ("memory read",
+ CommandObjectMemoryRead (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "memory read",
"Read from the memory of the process being debugged.",
"memory read [<cmd-options>] <start-addr> [<end-addr>]",
eFlagProcessMustBeLaunched)
@@ -196,11 +197,10 @@ public:
}
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result)
{
- Process *process = interpreter.GetDebugger().GetExecutionContext().process;
+ Process *process = m_interpreter.GetDebugger().GetExecutionContext().process;
if (process == NULL)
{
result.AppendError("need a process to read memory");
@@ -394,8 +394,9 @@ public:
uint32_t m_byte_size;
};
- CommandObjectMemoryWrite () :
- CommandObject ("memory write",
+ CommandObjectMemoryWrite (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "memory write",
"Write to the memory of the process being debugged.",
"memory write [<cmd-options>] <addr> [value1 value2 ...]",
eFlagProcessMustBeLaunched)
@@ -441,11 +442,10 @@ public:
}
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result)
{
- Process *process = interpreter.GetDebugger().GetExecutionContext().process;
+ Process *process = m_interpreter.GetDebugger().GetExecutionContext().process;
if (process == NULL)
{
result.AppendError("need a process to read memory");
@@ -677,12 +677,13 @@ CommandObjectMemoryWrite::CommandOptions::g_option_table[] =
//-------------------------------------------------------------------------
CommandObjectMemory::CommandObjectMemory (CommandInterpreter &interpreter) :
- CommandObjectMultiword ("memory",
+ CommandObjectMultiword (interpreter,
+ "memory",
"A set of commands for operating on memory.",
"memory <subcommand> [<subcommand-options>]")
{
- LoadSubCommand (interpreter, "read", CommandObjectSP (new CommandObjectMemoryRead ()));
- LoadSubCommand (interpreter, "write", CommandObjectSP (new CommandObjectMemoryWrite ()));
+ LoadSubCommand ("read", CommandObjectSP (new CommandObjectMemoryRead (interpreter)));
+ LoadSubCommand ("write", CommandObjectSP (new CommandObjectMemoryWrite (interpreter)));
}
CommandObjectMemory::~CommandObjectMemory ()
diff --git a/lldb/source/Commands/CommandObjectMultiword.cpp b/lldb/source/Commands/CommandObjectMultiword.cpp
index 0a2987cf380..9530adf8668 100644
--- a/lldb/source/Commands/CommandObjectMultiword.cpp
+++ b/lldb/source/Commands/CommandObjectMultiword.cpp
@@ -26,12 +26,13 @@ using namespace lldb_private;
CommandObjectMultiword::CommandObjectMultiword
(
+ CommandInterpreter &interpreter,
const char *name,
const char *help,
const char *syntax,
uint32_t flags
) :
- CommandObject (name, help, syntax, flags)
+ CommandObject (interpreter, name, help, syntax, flags)
{
}
@@ -82,7 +83,6 @@ CommandObjectMultiword::GetSubcommandObject (const char *sub_cmd, StringList *ma
bool
CommandObjectMultiword::LoadSubCommand
(
- CommandInterpreter &interpreter,
const char *name,
const CommandObjectSP& cmd_obj
)
@@ -94,7 +94,7 @@ CommandObjectMultiword::LoadSubCommand
if (pos == m_subcommand_dict.end())
{
m_subcommand_dict[name] = cmd_obj;
- interpreter.CrossRegisterCommand (name, GetCommandName());
+ m_interpreter.CrossRegisterCommand (name, GetCommandName());
}
else
success = false;
@@ -105,7 +105,6 @@ CommandObjectMultiword::LoadSubCommand
bool
CommandObjectMultiword::Execute
(
- CommandInterpreter &interpreter,
Args& args,
CommandReturnObject &result
)
@@ -113,7 +112,7 @@ CommandObjectMultiword::Execute
const size_t argc = args.GetArgumentCount();
if (argc == 0)
{
- GenerateHelpText (interpreter, result);
+ GenerateHelpText (result);
}
else
{
@@ -123,7 +122,7 @@ CommandObjectMultiword::Execute
{
if (::strcasecmp (sub_command, "help") == 0)
{
- GenerateHelpText (interpreter, result);
+ GenerateHelpText (result);
}
else if (!m_subcommand_dict.empty())
{
@@ -136,7 +135,7 @@ CommandObjectMultiword::Execute
args.Shift();
- sub_cmd_obj->ExecuteWithOptions (interpreter, args, result);
+ sub_cmd_obj->ExecuteWithOptions (args, result);
}
else
{
@@ -179,7 +178,7 @@ CommandObjectMultiword::Execute
}
void
-CommandObjectMultiword::GenerateHelpText (CommandInterpreter &interpreter, CommandReturnObject &result)
+CommandObjectMultiword::GenerateHelpText (CommandReturnObject &result)
{
// First time through here, generate the help text for the object and
// push it to the return result object as well
@@ -188,7 +187,7 @@ CommandObjectMultiword::GenerateHelpText (CommandInterpreter &interpreter, Comma
output_stream.PutCString ("The following subcommands are supported:\n\n");
CommandMap::iterator pos;
- uint32_t max_len = interpreter.FindLongestCommandWord (m_subcommand_dict);
+ uint32_t max_len = m_interpreter.FindLongestCommandWord (m_subcommand_dict);
if (max_len)
max_len += 4; // Indent the output by 4 spaces.
@@ -197,11 +196,11 @@ CommandObjectMultiword::GenerateHelpText (CommandInterpreter &interpreter, Comma
{
std::string indented_command (" ");
indented_command.append (pos->first);
- interpreter.OutputFormattedHelpText (result.GetOutputStream(),
- indented_command.c_str(),
- "--",
- pos->second->GetHelp(),
- max_len);
+ m_interpreter.OutputFormattedHelpText (result.GetOutputStream(),
+ indented_command.c_str(),
+ "--",
+ pos->second->GetHelp(),
+ max_len);
}
output_stream.PutCString ("\nFor more help on any particular subcommand, type 'help <command> <subcommand>'.\n");
@@ -212,7 +211,6 @@ CommandObjectMultiword::GenerateHelpText (CommandInterpreter &interpreter, Comma
int
CommandObjectMultiword::HandleCompletion
(
- CommandInterpreter &interpreter,
Args &input,
int &cursor_index,
int &cursor_char_position,
@@ -245,8 +243,8 @@ CommandObjectMultiword::HandleCompletion
input.Shift();
cursor_char_position = 0;
input.AppendArgument ("");
- return cmd_obj->HandleCompletion (interpreter,
- input, cursor_index,
+ return cmd_obj->HandleCompletion (input,
+ cursor_index,
cursor_char_position,
match_start_point,
max_return_elements,
@@ -273,8 +271,7 @@ CommandObjectMultiword::HandleCompletion
matches.DeleteStringAtIndex(0);
input.Shift();
cursor_index--;
- return sub_command_object->HandleCompletion (interpreter,
- input,
+ return sub_command_object->HandleCompletion (input,
cursor_index,
cursor_char_position,
match_start_point,
diff --git a/lldb/source/Commands/CommandObjectProcess.cpp b/lldb/source/Commands/CommandObjectProcess.cpp
index cd1e013b671..f04f1fa48ff 100644
--- a/lldb/source/Commands/CommandObjectProcess.cpp
+++ b/lldb/source/Commands/CommandObjectProcess.cpp
@@ -101,8 +101,9 @@ public:
};
- CommandObjectProcessLaunch () :
- CommandObject ("process launch",
+ CommandObjectProcessLaunch (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "process launch",
"Launch the executable in the debugger.",
"process launch [<cmd-options>] [<arguments-for-running-the-program>]")
{
@@ -120,12 +121,11 @@ public:
}
bool
- Execute (CommandInterpreter &interpreter,
- Args& launch_args,
+ Execute (Args& launch_args,
CommandReturnObject &result)
{
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
- bool synchronous_execution = interpreter.GetSynchronous ();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
+ bool synchronous_execution = m_interpreter.GetSynchronous ();
// bool launched = false;
// bool stopped_after_launch = false;
@@ -141,16 +141,13 @@ public:
Module *exe_module = target->GetExecutableModule().get();
exe_module->GetFileSpec().GetPath(filename, sizeof(filename));
- Process *process = interpreter.GetDebugger().GetExecutionContext().process;
- if (process)
+ Process *process = m_interpreter.GetDebugger().GetExecutionContext().process;
+ if (process && process->IsAlive())
{
- if (process->IsAlive())
- {
- result.AppendErrorWithFormat ("Process %u is currently being debugged, kill the process before running again.\n",
- process->GetID());
- result.SetStatus (eReturnStatusFailed);
- return false;
- }
+ result.AppendErrorWithFormat ("Process %u is currently being debugged, kill the process before running again.\n",
+ process->GetID());
+ result.SetStatus (eReturnStatusFailed);
+ return false;
}
const char *plugin_name;
@@ -159,130 +156,91 @@ public:
else
plugin_name = NULL;
- process = target->CreateProcess (interpreter.GetDebugger().GetListener(), plugin_name).get();
-
- const char *process_name = process->GetInstanceName().AsCString();
- const char *debugger_instance_name = interpreter.GetDebugger().GetInstanceName().AsCString();
- StreamString run_args_var_name;
- StreamString env_vars_var_name;
- StreamString disable_aslr_var_name;
- lldb::SettableVariableType var_type;
-
- Args *run_args = NULL;
- run_args_var_name.Printf ("process.[%s].run-args", process_name);
- StringList run_args_value = Debugger::GetSettingsController()->GetVariable (run_args_var_name.GetData(),
- var_type, debugger_instance_name);
+ process = target->CreateProcess (m_interpreter.GetDebugger().GetListener(), plugin_name).get();
- if (run_args_value.GetSize() > 0)
+ if (process == NULL)
{
- run_args = new Args;
- for (unsigned i = 0, e = run_args_value.GetSize(); i != e; ++i)
- run_args->AppendArgument(run_args_value.GetStringAtIndex(i));
+ result.AppendErrorWithFormat ("Failed to find a process plugin for executable");
+ result.SetStatus (eReturnStatusFailed);
+ return false;
}
-
- Args *environment = NULL;
- env_vars_var_name.Printf ("process.[%s].env-vars", process_name);
- StringList env_vars_value = Debugger::GetSettingsController()->GetVariable (env_vars_var_name.GetData(),
- var_type, debugger_instance_name);
- if (env_vars_value.GetSize() > 0)
+ // If no launch args were given on the command line, then use any that
+ // might have been set using the "run-args" set variable.
+ if (launch_args.GetArgumentCount() == 0)
{
- environment = new Args;
- for (unsigned i = 0, e = env_vars_value.GetSize(); i != e; ++i)
- environment->AppendArgument (env_vars_value.GetStringAtIndex (i));
+ if (process->GetRunArguments().GetArgumentCount() > 0)
+ launch_args = process->GetRunArguments();
}
-
+
+ Args environment;
+
+ process->GetEnvironmentAsArgs (environment);
+
uint32_t launch_flags = eLaunchFlagNone;
- disable_aslr_var_name.Printf ("process.[%s].disable-aslr", process_name);
- StringList disable_aslr_value = Debugger::GetSettingsController()->GetVariable(disable_aslr_var_name.GetData(),
- var_type,
- debugger_instance_name);
-
- if (disable_aslr_value.GetSize() > 0)
- {
- if (strcmp (disable_aslr_value.GetStringAtIndex(0), "true") == 0)
- launch_flags |= eLaunchFlagDisableASLR;
+
+ if (process->GetDisableASLR())
+ launch_flags |= eLaunchFlagDisableASLR;
- }
+ const char *archname = exe_module->GetArchitecture().AsCString();
- // There are two possible sources of args to be passed to the process upon launching: Those the user
- // typed at the run command (launch_args); or those the user pre-set in the run-args variable (run_args).
+ const char * stdin_path = NULL;
+ const char * stdout_path = NULL;
+ const char * stderr_path = NULL;
- // If launch_args is empty, use run_args.
- if (launch_args.GetArgumentCount() == 0)
+ // Were any standard input/output/error paths given on the command line?
+ if (m_options.stdin_path.empty() &&
+ m_options.stdout_path.empty() &&
+ m_options.stderr_path.empty())
{
- if (run_args != NULL)
- launch_args.AppendArguments (*run_args);
+ // No standard file handles were given on the command line, check
+ // with the process object in case they were give using "set settings"
+ stdin_path = process->GetStandardInputPath();
+ stdout_path = process->GetStandardOutputPath();
+ stderr_path = process->GetStandardErrorPath();
}
else
{
- // launch-args was not empty; use that, AND re-set run-args to contains launch-args values.
- std::string new_run_args;
- launch_args.GetCommandString (new_run_args);
- Debugger::GetSettingsController()->SetVariable (run_args_var_name.GetData(), new_run_args.c_str(),
- lldb::eVarSetOperationAssign, false,
- interpreter.GetDebugger().GetInstanceName().AsCString());
+ stdin_path = m_options.stdin_path.empty() ? NULL : m_options.stdin_path.c_str();
+ stdout_path = m_options.stdout_path.empty() ? NULL : m_options.stdout_path.c_str();
+ stderr_path = m_options.stderr_path.empty() ? NULL : m_options.stderr_path.c_str();
}
-
- if (process)
+ if (stdin_path == NULL)
+ stdin_path = "/dev/null";
+ if (stdout_path == NULL)
+ stdout_path = "/dev/null";
+ if (stderr_path == NULL)
+ stderr_path = "/dev/null";
+
+ Error error (process->Launch (launch_args.GetArgumentCount() ? launch_args.GetConstArgumentVector() : NULL,
+ environment.GetArgumentCount() ? environment.GetConstArgumentVector() : NULL,
+ launch_flags,
+ stdin_path,
+ stdout_path,
+ stderr_path));
+
+ if (error.Success())
{
- const char *archname = exe_module->GetArchitecture().AsCString();
-
- const char * stdin_path = NULL;
- const char * stdout_path = NULL;
- const char * stderr_path = NULL;
-
- if (!(m_options.stdin_path.empty() &&
- m_options.stdout_path.empty() &&
- m_options.stderr_path.empty()))
+ result.AppendMessageWithFormat ("Launching '%s' (%s)\n", filename, archname);
+ result.SetStatus (eReturnStatusSuccessContinuingNoResult);
+ if (m_options.stop_at_entry == false)
{
- stdin_path = m_options.stdin_path.empty() ? "/dev/null" : m_options.stdin_path.c_str();
- stdout_path = m_options.stdout_path.empty() ? "/dev/null" : m_options.stdout_path.c_str();
- stderr_path = m_options.stderr_path.empty() ? "/dev/null" : m_options.stderr_path.c_str();
- }
+ StateType state = process->WaitForProcessToStop (NULL);
- Error error (process->Launch (launch_args.GetConstArgumentVector(),
- environment ? environment->GetConstArgumentVector() : NULL,
- launch_flags,
- stdin_path,
- stdout_path,
- stderr_path));
-
- if (error.Success())
- {
- result.AppendMessageWithFormat ("Launching '%s' (%s)\n", filename, archname);
- result.SetStatus (eReturnStatusSuccessContinuingNoResult);
- if (m_options.stop_at_entry == false)
+ if (state == eStateStopped)
{
- StateType state = process->WaitForProcessToStop (NULL);
-
- if (state == eStateStopped)
- {
- // Call continue_command.
- CommandReturnObject continue_result;
- interpreter.HandleCommand("process continue", false, continue_result);
- }
+ // Call continue_command.
+ CommandReturnObject continue_result;
+ m_interpreter.HandleCommand("process continue", false, continue_result);
+ }
- if (synchronous_execution)
- {
- result.SetDidChangeProcessState (true);
- result.SetStatus (eReturnStatusSuccessFinishNoResult);
- }
+ if (synchronous_execution)
+ {
+ result.SetDidChangeProcessState (true);
+ result.SetStatus (eReturnStatusSuccessFinishNoResult);
}
}
- else
- {
- result.AppendErrorWithFormat ("Process launch failed: %s",
- error.AsCString());
- result.SetStatus (eReturnStatusFailed);
- }
- }
- else
- {
- result.AppendErrorWithFormat ("Process launch failed: unable to create a process object.\n");
- result.SetStatus (eReturnStatusFailed);
- return false;
}
return result.Succeeded();
@@ -386,7 +344,7 @@ public:
}
virtual bool
- HandleOptionArgumentCompletion (CommandInterpreter &interpreter,
+ HandleOptionArgumentCompletion (CommandInterpreter &interpeter,
Args &input,
int cursor_index,
int char_pos,
@@ -409,7 +367,7 @@ public:
// Look to see if there is a -P argument provided, and if so use that plugin, otherwise
// use the default plugin.
- Process *process = interpreter.GetDebugger().GetExecutionContext().process;
+ Process *process = interpeter.GetDebugger().GetExecutionContext().process;
bool need_to_delete_process = false;
const char *partial_name = NULL;
@@ -418,7 +376,7 @@ public:
if (process && process->IsAlive())
return true;
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = interpeter.GetDebugger().GetSelectedTarget().get();
if (target == NULL)
{
// No target has been set yet, for now do host completion. Otherwise I don't know how we would
@@ -429,7 +387,7 @@ public:
}
if (!process)
{
- process = target->CreateProcess (interpreter.GetDebugger().GetListener(), partial_name).get();
+ process = target->CreateProcess (interpeter.GetDebugger().GetListener(), partial_name).get();
need_to_delete_process = true;
}
@@ -459,8 +417,9 @@ public:
bool waitfor;
};
- CommandObjectProcessAttach () :
- CommandObject ("process attach",
+ CommandObjectProcessAttach (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "process attach",
"Attach to a process.",
"process attach <cmd-options>")
{
@@ -471,13 +430,12 @@ public:
}
bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result)
{
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
- Process *process = interpreter.GetDebugger().GetExecutionContext().process;
+ Process *process = m_interpreter.GetDebugger().GetExecutionContext().process;
if (process)
{
if (process->IsAlive())
@@ -497,19 +455,19 @@ public:
ArchSpec emptyArchSpec;
Error error;
- error = interpreter.GetDebugger().GetTargetList().CreateTarget(interpreter.GetDebugger(),
- emptyFileSpec,
- emptyArchSpec,
- NULL,
- false,
- new_target_sp);
+ error = m_interpreter.GetDebugger().GetTargetList().CreateTarget (m_interpreter.GetDebugger(),
+ emptyFileSpec,
+ emptyArchSpec,
+ NULL,
+ false,
+ new_target_sp);
target = new_target_sp.get();
if (target == NULL || error.Fail())
{
result.AppendError(error.AsCString("Error creating empty target"));
return false;
}
- interpreter.GetDebugger().GetTargetList().SetSelectedTarget(target);
+ m_interpreter.GetDebugger().GetTargetList().SetSelectedTarget(target);
}
// Record the old executable module, we want to issue a warning if the process of attaching changed the
@@ -530,7 +488,7 @@ public:
if (!m_options.plugin_name.empty())
plugin_name = m_options.plugin_name.c_str();
- process = target->CreateProcess (interpreter.GetDebugger().GetListener(), plugin_name).get();
+ process = target->CreateProcess (m_interpreter.GetDebugger().GetListener(), plugin_name).get();
if (process)
{
@@ -562,7 +520,7 @@ public:
return false;
}
- interpreter.GetDebugger().GetOutputStream().Printf("Waiting to attach to a process named \"%s\".\n", wait_name);
+ m_interpreter.GetDebugger().GetOutputStream().Printf("Waiting to attach to a process named \"%s\".\n", wait_name);
error = process->Attach (wait_name, m_options.waitfor);
if (error.Success())
{
@@ -700,8 +658,9 @@ class CommandObjectProcessContinue : public CommandObject
{
public:
- CommandObjectProcessContinue () :
- CommandObject ("process continue",
+ CommandObjectProcessContinue (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "process continue",
"Continue execution of all threads in the current process.",
"process continue",
eFlagProcessMustBeLaunched | eFlagProcessMustBePaused)
@@ -714,12 +673,11 @@ public:
}
bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result)
{
- Process *process = interpreter.GetDebugger().GetExecutionContext().process;
- bool synchronous_execution = interpreter.GetSynchronous ();
+ Process *process = m_interpreter.GetDebugger().GetExecutionContext().process;
+ bool synchronous_execution = m_interpreter.GetSynchronous ();
if (process == NULL)
{
@@ -787,8 +745,9 @@ class CommandObjectProcessDetach : public CommandObject
{
public:
- CommandObjectProcessDetach () :
- CommandObject ("process detach",
+ CommandObjectProcessDetach (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "process detach",
"Detach from the current process being debugged.",
"process detach",
eFlagProcessMustBeLaunched)
@@ -800,11 +759,10 @@ public:
}
bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result)
{
- Process *process = interpreter.GetDebugger().GetExecutionContext().process;
+ Process *process = m_interpreter.GetDebugger().GetExecutionContext().process;
if (process == NULL)
{
result.AppendError ("must have a valid process in order to detach");
@@ -835,8 +793,9 @@ class CommandObjectProcessSignal : public CommandObject
{
public:
- CommandObjectProcessSignal () :
- CommandObject ("process signal",
+ CommandObjectProcessSignal (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "process signal",
"Send a UNIX signal to the current process being debugged.",
"process signal <unix-signal-number>")
{
@@ -847,11 +806,10 @@ public:
}
bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result)
{
- Process *process = interpreter.GetDebugger().GetExecutionContext().process;
+ Process *process = m_interpreter.GetDebugger().GetExecutionContext().process;
if (process == NULL)
{
result.AppendError ("no process to signal");
@@ -901,8 +859,9 @@ class CommandObjectProcessInterrupt : public CommandObject
public:
- CommandObjectProcessInterrupt () :
- CommandObject ("process interrupt",
+ CommandObjectProcessInterrupt (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "process interrupt",
"Interrupt the current process being debugged.",
"process interrupt",
eFlagProcessMustBeLaunched)
@@ -914,11 +873,10 @@ public:
}
bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result)
{
- Process *process = interpreter.GetDebugger().GetExecutionContext().process;
+ Process *process = m_interpreter.GetDebugger().GetExecutionContext().process;
if (process == NULL)
{
result.AppendError ("no process to halt");
@@ -962,8 +920,9 @@ class CommandObjectProcessKill : public CommandObject
{
public:
- CommandObjectProcessKill () :
- CommandObject ("process kill",
+ CommandObjectProcessKill (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "process kill",
"Terminate the current process being debugged.",
"process kill",
eFlagProcessMustBeLaunched)
@@ -975,11 +934,10 @@ public:
}
bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result)
{
- Process *process = interpreter.GetDebugger().GetExecutionContext().process;
+ Process *process = m_interpreter.GetDebugger().GetExecutionContext().process;
if (process == NULL)
{
result.AppendError ("no process to kill");
@@ -1017,8 +975,9 @@ public:
class CommandObjectProcessStatus : public CommandObject
{
public:
- CommandObjectProcessStatus () :
- CommandObject ("process status",
+ CommandObjectProcessStatus (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "process status",
"Show the current status and location of executing process.",
"process status",
0)
@@ -1033,14 +992,13 @@ public:
bool
Execute
(
- CommandInterpreter &interpreter,
Args& command,
CommandReturnObject &result
)
{
StreamString &output_stream = result.GetOutputStream();
result.SetStatus (eReturnStatusSuccessFinishNoResult);
- ExecutionContext exe_ctx(interpreter.GetDebugger().GetExecutionContext());
+ ExecutionContext exe_ctx(m_interpreter.GetDebugger().GetExecutionContext());
if (exe_ctx.process)
{
const StateType state = exe_ctx.process->GetState();
@@ -1063,7 +1021,7 @@ public:
exe_ctx.thread = exe_ctx.process->GetThreadList().GetThreadAtIndex(0).get();
if (exe_ctx.thread != NULL)
{
- DisplayThreadsInfo (interpreter, &exe_ctx, result, true, true);
+ DisplayThreadsInfo (m_interpreter, &exe_ctx, result, true, true);
}
else
{
@@ -1092,18 +1050,19 @@ public:
//-------------------------------------------------------------------------
CommandObjectMultiwordProcess::CommandObjectMultiwordProcess (CommandInterpreter &interpreter) :
- CommandObjectMultiword ("process",
- "A set of commands for operating on a process.",
- "process <subcommand> [<subcommand-options>]")
+ CommandObjectMultiword (interpreter,
+ "process",
+ "A set of commands for operating on a process.",
+ "process <subcommand> [<subcommand-options>]")
{
- LoadSubCommand (interpreter, "attach", CommandObjectSP (new CommandObjectProcessAttach ()));
- LoadSubCommand (interpreter, "launch", CommandObjectSP (new CommandObjectProcessLaunch ()));
- LoadSubCommand (interpreter, "continue", CommandObjectSP (new CommandObjectProcessContinue ()));
- LoadSubCommand (interpreter, "detach", CommandObjectSP (new CommandObjectProcessDetach ()));
- LoadSubCommand (interpreter, "signal", CommandObjectSP (new CommandObjectProcessSignal ()));
- LoadSubCommand (interpreter, "status", CommandObjectSP (new CommandObjectProcessStatus ()));
- LoadSubCommand (interpreter, "interrupt", CommandObjectSP (new CommandObjectProcessInterrupt ()));
- LoadSubCommand (interpreter, "kill", CommandObjectSP (new CommandObjectProcessKill ()));
+ LoadSubCommand ("attach", CommandObjectSP (new CommandObjectProcessAttach (interpreter)));
+ LoadSubCommand ("launch", CommandObjectSP (new CommandObjectProcessLaunch (interpreter)));
+ LoadSubCommand ("continue", CommandObjectSP (new CommandObjectProcessContinue (interpreter)));
+ LoadSubCommand ("detach", CommandObjectSP (new CommandObjectProcessDetach (interpreter)));
+ LoadSubCommand ("signal", CommandObjectSP (new CommandObjectProcessSignal (interpreter)));
+ LoadSubCommand ("status", CommandObjectSP (new CommandObjectProcessStatus (interpreter)));
+ LoadSubCommand ("interrupt", CommandObjectSP (new CommandObjectProcessInterrupt (interpreter)));
+ LoadSubCommand ("kill", CommandObjectSP (new CommandObjectProcessKill (interpreter)));
}
CommandObjectMultiwordProcess::~CommandObjectMultiwordProcess ()
diff --git a/lldb/source/Commands/CommandObjectQuit.cpp b/lldb/source/Commands/CommandObjectQuit.cpp
index f1d32361e30..36fdf32e3a7 100644
--- a/lldb/source/Commands/CommandObjectQuit.cpp
+++ b/lldb/source/Commands/CommandObjectQuit.cpp
@@ -23,8 +23,8 @@ using namespace lldb_private;
// CommandObjectQuit
//-------------------------------------------------------------------------
-CommandObjectQuit::CommandObjectQuit () :
- CommandObject ("quit", "Quit out of the LLDB debugger.", "quit")
+CommandObjectQuit::CommandObjectQuit (CommandInterpreter &interpreter) :
+ CommandObject (interpreter, "quit", "Quit out of the LLDB debugger.", "quit")
{
}
@@ -35,12 +35,11 @@ CommandObjectQuit::~CommandObjectQuit ()
bool
CommandObjectQuit::Execute
(
- CommandInterpreter &interpreter,
Args& args,
CommandReturnObject &result
)
{
- interpreter.BroadcastEvent (CommandInterpreter::eBroadcastBitQuitCommandReceived);
+ m_interpreter.BroadcastEvent (CommandInterpreter::eBroadcastBitQuitCommandReceived);
result.SetStatus (eReturnStatusQuit);
return true;
}
diff --git a/lldb/source/Commands/CommandObjectQuit.h b/lldb/source/Commands/CommandObjectQuit.h
index f696828237b..0609aedc8c8 100644
--- a/lldb/source/Commands/CommandObjectQuit.h
+++ b/lldb/source/Commands/CommandObjectQuit.h
@@ -22,25 +22,17 @@ namespace lldb_private {
// CommandObjectQuit
//-------------------------------------------------------------------------
-// SPECIAL NOTE!! The CommandObjectQuit is special, because the actual function to execute
-// when the user types 'quit' is passed (via function pointer) to the Command Interpreter when it
-// is constructed. The function pointer is then stored in this CommandObjectQuit, and is invoked
-// via the CommandObjectQuit::Execute function. This is the only command object that works this
-// way; it was done this way because different Command Interpreter callers may want or need different things
-// to be done in order to shut down properly.
-
class CommandObjectQuit : public CommandObject
{
public:
- CommandObjectQuit ();
+ CommandObjectQuit (CommandInterpreter &interpreter);
virtual
~CommandObjectQuit ();
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& args,
+ Execute (Args& args,
CommandReturnObject &result);
};
diff --git a/lldb/source/Commands/CommandObjectRegister.cpp b/lldb/source/Commands/CommandObjectRegister.cpp
index 7d11a6e93db..6182509ee80 100644
--- a/lldb/source/Commands/CommandObjectRegister.cpp
+++ b/lldb/source/Commands/CommandObjectRegister.cpp
@@ -31,8 +31,9 @@ using namespace lldb_private;
class CommandObjectRegisterRead : public CommandObject
{
public:
- CommandObjectRegisterRead () :
- CommandObject ("register read",
+ CommandObjectRegisterRead (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "register read",
"Dump the contents of one or more register values from the current frame.",
"register read [<reg-name1> [<reg-name2> [...]]]",
eFlagProcessMustBeLaunched | eFlagProcessMustBePaused)
@@ -47,14 +48,13 @@ public:
virtual bool
Execute
(
- CommandInterpreter &interpreter,
Args& command,
CommandReturnObject &result
)
{
StreamString &output_stream = result.GetOutputStream();
DataExtractor reg_data;
- ExecutionContext exe_ctx(interpreter.GetDebugger().GetExecutionContext());
+ ExecutionContext exe_ctx(m_interpreter.GetDebugger().GetExecutionContext());
RegisterContext *reg_context = exe_ctx.GetRegisterContext ();
if (reg_context)
@@ -139,8 +139,9 @@ public:
class CommandObjectRegisterWrite : public CommandObject
{
public:
- CommandObjectRegisterWrite () :
- CommandObject ("register write",
+ CommandObjectRegisterWrite (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "register write",
"Modify a single register value.",
"register write <reg-name> <value>",
eFlagProcessMustBeLaunched | eFlagProcessMustBePaused)
@@ -155,13 +156,12 @@ public:
virtual bool
Execute
(
- CommandInterpreter &interpreter,
Args& command,
CommandReturnObject &result
)
{
DataExtractor reg_data;
- ExecutionContext exe_ctx(interpreter.GetDebugger().GetExecutionContext());
+ ExecutionContext exe_ctx(m_interpreter.GetDebugger().GetExecutionContext());
RegisterContext *reg_context = exe_ctx.GetRegisterContext ();
if (reg_context)
@@ -219,12 +219,13 @@ public:
// CommandObjectRegister constructor
//----------------------------------------------------------------------
CommandObjectRegister::CommandObjectRegister(CommandInterpreter &interpreter) :
- CommandObjectMultiword ("register",
+ CommandObjectMultiword (interpreter,
+ "register",
"A set of commands to access thread registers.",
"register [read|write] ...")
{
- LoadSubCommand (interpreter, "read", CommandObjectSP (new CommandObjectRegisterRead ()));
- LoadSubCommand (interpreter, "write", CommandObjectSP (new CommandObjectRegisterWrite ()));
+ LoadSubCommand ("read", CommandObjectSP (new CommandObjectRegisterRead (interpreter)));
+ LoadSubCommand ("write", CommandObjectSP (new CommandObjectRegisterWrite (interpreter)));
}
diff --git a/lldb/source/Commands/CommandObjectSettings.cpp b/lldb/source/Commands/CommandObjectSettings.cpp
index 8e6a5b1184c..ceb5d47579e 100644
--- a/lldb/source/Commands/CommandObjectSettings.cpp
+++ b/lldb/source/Commands/CommandObjectSettings.cpp
@@ -25,31 +25,32 @@ using namespace lldb_private;
//-------------------------------------------------------------------------
CommandObjectMultiwordSettings::CommandObjectMultiwordSettings (CommandInterpreter &interpreter) :
- CommandObjectMultiword ("settings",
+ CommandObjectMultiword (interpreter,
+ "settings",
"A set of commands for manipulating internal settable debugger variables.",
"settings <command> [<command-options>]")
{
bool status;
- CommandObjectSP set_command_object (new CommandObjectSettingsSet ());
- CommandObjectSP show_command_object (new CommandObjectSettingsShow ());
- CommandObjectSP list_command_object (new CommandObjectSettingsList ());
- CommandObjectSP remove_command_object (new CommandObjectSettingsRemove ());
- CommandObjectSP replace_command_object (new CommandObjectSettingsReplace ());
- CommandObjectSP insert_before_command_object (new CommandObjectSettingsInsertBefore ());
- CommandObjectSP insert_after_command_object (new CommandObjectSettingsInsertAfter());
- CommandObjectSP append_command_object (new CommandObjectSettingsAppend());
- CommandObjectSP clear_command_object (new CommandObjectSettingsClear());
-
- status = LoadSubCommand (interpreter, "set", set_command_object);
- status = LoadSubCommand (interpreter, "show", show_command_object);
- status = LoadSubCommand (interpreter, "list", list_command_object);
- status = LoadSubCommand (interpreter, "remove", remove_command_object);
- status = LoadSubCommand (interpreter, "replace", replace_command_object);
- status = LoadSubCommand (interpreter, "insert-before", insert_before_command_object);
- status = LoadSubCommand (interpreter, "insert-after", insert_after_command_object);
- status = LoadSubCommand (interpreter, "append", append_command_object);
- status = LoadSubCommand (interpreter, "clear", clear_command_object);
+ CommandObjectSP set_command_object (new CommandObjectSettingsSet (interpreter));
+ CommandObjectSP show_command_object (new CommandObjectSettingsShow (interpreter));
+ CommandObjectSP list_command_object (new CommandObjectSettingsList (interpreter));
+ CommandObjectSP remove_command_object (new CommandObjectSettingsRemove (interpreter));
+ CommandObjectSP replace_command_object (new CommandObjectSettingsReplace (interpreter));
+ CommandObjectSP insert_before_command_object (new CommandObjectSettingsInsertBefore (interpreter));
+ CommandObjectSP insert_after_command_object (new CommandObjectSettingsInsertAfter(interpreter));
+ CommandObjectSP append_command_object (new CommandObjectSettingsAppend(interpreter));
+ CommandObjectSP clear_command_object (new CommandObjectSettingsClear(interpreter));
+
+ status = LoadSubCommand ("set", set_command_object);
+ status = LoadSubCommand ("show", show_command_object);
+ status = LoadSubCommand ("list", list_command_object);
+ status = LoadSubCommand ("remove", remove_command_object);
+ status = LoadSubCommand ("replace", replace_command_object);
+ status = LoadSubCommand ("insert-before", insert_before_command_object);
+ status = LoadSubCommand ("insert-after", insert_after_command_object);
+ status = LoadSubCommand ("append", append_command_object);
+ status = LoadSubCommand ("clear", clear_command_object);
}
CommandObjectMultiwordSettings::~CommandObjectMultiwordSettings ()
@@ -60,8 +61,9 @@ CommandObjectMultiwordSettings::~CommandObjectMultiwordSettings ()
// CommandObjectSettingsSet
//-------------------------------------------------------------------------
-CommandObjectSettingsSet::CommandObjectSettingsSet () :
- CommandObject ("settings set",
+CommandObjectSettingsSet::CommandObjectSettingsSet (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "settings set",
"Set or change the value of a single debugger setting variable.",
"settings set [<cmd-options>] <setting-variable-name> <value>"),
m_options ()
@@ -74,9 +76,7 @@ CommandObjectSettingsSet::~CommandObjectSettingsSet()
bool
-CommandObjectSettingsSet::Execute (CommandInterpreter &interpreter,
- Args& command,
- CommandReturnObject &result)
+CommandObjectSettingsSet::Execute (Args& command, CommandReturnObject &result)
{
UserSettingsControllerSP root_settings = Debugger::GetSettingsController ();
@@ -116,9 +116,11 @@ CommandObjectSettingsSet::Execute (CommandInterpreter &interpreter,
}
else
{
- Error err = root_settings->SetVariable (var_name_string.c_str(), var_value, lldb::eVarSetOperationAssign,
+ Error err = root_settings->SetVariable (var_name_string.c_str(),
+ var_value,
+ lldb::eVarSetOperationAssign,
m_options.m_override,
- interpreter.GetDebugger().GetInstanceName().AsCString());
+ m_interpreter.GetDebugger().GetInstanceName().AsCString());
if (err.Fail ())
{
result.AppendError (err.AsCString());
@@ -132,8 +134,7 @@ CommandObjectSettingsSet::Execute (CommandInterpreter &interpreter,
}
int
-CommandObjectSettingsSet::HandleArgumentCompletion (CommandInterpreter &interpreter,
- Args &input,
+CommandObjectSettingsSet::HandleArgumentCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
OptionElementVector &opt_element_vector,
@@ -147,7 +148,7 @@ CommandObjectSettingsSet::HandleArgumentCompletion (CommandInterpreter &interpre
// Attempting to complete variable name
if (cursor_index == 1)
- CommandCompletions::InvokeCommonCompletionCallbacks (interpreter,
+ CommandCompletions::InvokeCommonCompletionCallbacks (m_interpreter,
CommandCompletions::eSettingsNameCompletion,
completion_str.c_str(),
match_start_point,
@@ -258,10 +259,11 @@ CommandObjectSettingsSet::GetOptions ()
// CommandObjectSettingsShow -- Show current values
//-------------------------------------------------------------------------
-CommandObjectSettingsShow::CommandObjectSettingsShow () :
- CommandObject ("settings show",
- "Show the specified internal debugger setting variable and its value, or show all the currently set variables and their values, if nothing is specified.",
- "settings show [<setting-variable-name>]")
+CommandObjectSettingsShow::CommandObjectSettingsShow (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "settings show",
+ "Show the specified internal debugger setting variable and its value, or show all the currently set variables and their values, if nothing is specified.",
+ "settings show [<setting-variable-name>]")
{
}
@@ -271,8 +273,7 @@ CommandObjectSettingsShow::~CommandObjectSettingsShow()
bool
-CommandObjectSettingsShow::Execute (CommandInterpreter &interpreter,
- Args& command,
+CommandObjectSettingsShow::Execute ( Args& command,
CommandReturnObject &result)
{
UserSettingsControllerSP root_settings = Debugger::GetSettingsController ();
@@ -286,7 +287,7 @@ CommandObjectSettingsShow::Execute (CommandInterpreter &interpreter,
lldb::SettableVariableType var_type;
const char *variable_name = command.GetArgumentAtIndex (0);
StringList value = root_settings->GetVariable (variable_name, var_type,
- interpreter.GetDebugger().GetInstanceName().AsCString());
+ m_interpreter.GetDebugger().GetInstanceName().AsCString());
if (value.GetSize() == 0)
{
@@ -320,8 +321,11 @@ CommandObjectSettingsShow::Execute (CommandInterpreter &interpreter,
}
else
{
- UserSettingsController::GetAllVariableValues (interpreter, root_settings, current_prefix,
- result.GetOutputStream(), err);
+ UserSettingsController::GetAllVariableValues (m_interpreter,
+ root_settings,
+ current_prefix,
+ result.GetOutputStream(),
+ err);
if (err.Fail ())
{
result.AppendError (err.AsCString());
@@ -337,8 +341,7 @@ CommandObjectSettingsShow::Execute (CommandInterpreter &interpreter,
}
int
-CommandObjectSettingsShow::HandleArgumentCompletion (CommandInterpreter &interpreter,
- Args &input,
+CommandObjectSettingsShow::HandleArgumentCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
OptionElementVector &opt_element_vector,
@@ -350,7 +353,7 @@ CommandObjectSettingsShow::HandleArgumentCompletion (CommandInterpreter &interpr
std::string completion_str (input.GetArgumentAtIndex (cursor_index));
completion_str.erase (cursor_char_position);
- CommandCompletions::InvokeCommonCompletionCallbacks (interpreter,
+ CommandCompletions::InvokeCommonCompletionCallbacks (m_interpreter,
CommandCompletions::eSettingsNameCompletion,
completion_str.c_str(),
match_start_point,
@@ -365,8 +368,9 @@ CommandObjectSettingsShow::HandleArgumentCompletion (CommandInterpreter &interpr
// CommandObjectSettingsList
//-------------------------------------------------------------------------
-CommandObjectSettingsList::CommandObjectSettingsList () :
- CommandObject ("settings list",
+CommandObjectSettingsList::CommandObjectSettingsList (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "settings list",
"List and describe all the internal debugger settings variables that are available to the user to 'set' or 'show', or describe a particular variable or set of variables (by specifying the variable name or a common prefix).",
"settings list [<setting-name> | <setting-name-prefix>]")
{
@@ -378,8 +382,7 @@ CommandObjectSettingsList::~CommandObjectSettingsList()
bool
-CommandObjectSettingsList::Execute (CommandInterpreter &interpreter,
- Args& command,
+CommandObjectSettingsList::Execute ( Args& command,
CommandReturnObject &result)
{
UserSettingsControllerSP root_settings = Debugger::GetSettingsController ();
@@ -389,14 +392,21 @@ CommandObjectSettingsList::Execute (CommandInterpreter &interpreter,
if (command.GetArgumentCount() == 0)
{
- UserSettingsController::FindAllSettingsDescriptions (interpreter, root_settings, current_prefix,
- result.GetOutputStream(), err);
+ UserSettingsController::FindAllSettingsDescriptions (m_interpreter,
+ root_settings,
+ current_prefix,
+ result.GetOutputStream(),
+ err);
}
else if (command.GetArgumentCount() == 1)
{
const char *search_name = command.GetArgumentAtIndex (0);
- UserSettingsController::FindSettingsDescriptions (interpreter, root_settings, current_prefix,
- search_name, result.GetOutputStream(), err);
+ UserSettingsController::FindSettingsDescriptions (m_interpreter,
+ root_settings,
+ current_prefix,
+ search_name,
+ result.GetOutputStream(),
+ err);
}
else
{
@@ -419,8 +429,7 @@ CommandObjectSettingsList::Execute (CommandInterpreter &interpreter,
}
int
-CommandObjectSettingsList::HandleArgumentCompletion (CommandInterpreter &interpreter,
- Args &input,
+CommandObjectSettingsList::HandleArgumentCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
OptionElementVector &opt_element_vector,
@@ -432,7 +441,7 @@ CommandObjectSettingsList::HandleArgumentCompletion (CommandInterpreter &interpr
std::string completion_str (input.GetArgumentAtIndex (cursor_index));
completion_str.erase (cursor_char_position);
- CommandCompletions::InvokeCommonCompletionCallbacks (interpreter,
+ CommandCompletions::InvokeCommonCompletionCallbacks (m_interpreter,
CommandCompletions::eSettingsNameCompletion,
completion_str.c_str(),
match_start_point,
@@ -447,8 +456,9 @@ CommandObjectSettingsList::HandleArgumentCompletion (CommandInterpreter &interpr
// CommandObjectSettingsRemove
//-------------------------------------------------------------------------
-CommandObjectSettingsRemove::CommandObjectSettingsRemove () :
- CommandObject ("settings remove",
+CommandObjectSettingsRemove::CommandObjectSettingsRemove (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "settings remove",
"Remove the specified element from an internal debugger settings array or dictionary variable.",
"settings remove <setting-variable-name> [<index>|\"key\"]")
{
@@ -459,8 +469,7 @@ CommandObjectSettingsRemove::~CommandObjectSettingsRemove ()
}
bool
-CommandObjectSettingsRemove::Execute (CommandInterpreter &interpreter,
- Args& command,
+CommandObjectSettingsRemove::Execute ( Args& command,
CommandReturnObject &result)
{
UserSettingsControllerSP root_settings = Debugger::GetSettingsController ();
@@ -497,8 +506,11 @@ CommandObjectSettingsRemove::Execute (CommandInterpreter &interpreter,
index_value_string = index_value;
- Error err = root_settings->SetVariable (var_name_string.c_str(), NULL, lldb::eVarSetOperationRemove,
- false, interpreter.GetDebugger().GetInstanceName().AsCString(),
+ Error err = root_settings->SetVariable (var_name_string.c_str(),
+ NULL,
+ lldb::eVarSetOperationRemove,
+ false,
+ m_interpreter.GetDebugger().GetInstanceName().AsCString(),
index_value_string.c_str());
if (err.Fail ())
{
@@ -512,8 +524,7 @@ CommandObjectSettingsRemove::Execute (CommandInterpreter &interpreter,
}
int
-CommandObjectSettingsRemove::HandleArgumentCompletion (CommandInterpreter &interpreter,
- Args &input,
+CommandObjectSettingsRemove::HandleArgumentCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
OptionElementVector &opt_element_vector,
@@ -527,7 +538,7 @@ CommandObjectSettingsRemove::HandleArgumentCompletion (CommandInterpreter &inter
// Attempting to complete variable name
if (cursor_index < 2)
- CommandCompletions::InvokeCommonCompletionCallbacks (interpreter,
+ CommandCompletions::InvokeCommonCompletionCallbacks (m_interpreter,
CommandCompletions::eSettingsNameCompletion,
completion_str.c_str(),
match_start_point,
@@ -543,8 +554,9 @@ CommandObjectSettingsRemove::HandleArgumentCompletion (CommandInterpreter &inter
// CommandObjectSettingsReplace
//-------------------------------------------------------------------------
-CommandObjectSettingsReplace::CommandObjectSettingsReplace () :
- CommandObject ("settings replace",
+CommandObjectSettingsReplace::CommandObjectSettingsReplace (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "settings replace",
"Replace the specified element from an internal debugger settings array or dictionary variable with the specified new value.",
"settings replace <setting-variable-name> [<index>|\"<key>\"] <new-value>")
{
@@ -555,8 +567,7 @@ CommandObjectSettingsReplace::~CommandObjectSettingsReplace ()
}
bool
-CommandObjectSettingsReplace::Execute (CommandInterpreter &interpreter,
- Args& command,
+CommandObjectSettingsReplace::Execute ( Args& command,
CommandReturnObject &result)
{
UserSettingsControllerSP root_settings = Debugger::GetSettingsController ();
@@ -607,8 +618,11 @@ CommandObjectSettingsReplace::Execute (CommandInterpreter &interpreter,
}
else
{
- Error err = root_settings->SetVariable (var_name_string.c_str(), var_value, lldb::eVarSetOperationReplace,
- false, interpreter.GetDebugger().GetInstanceName().AsCString(),
+ Error err = root_settings->SetVariable (var_name_string.c_str(),
+ var_value,
+ lldb::eVarSetOperationReplace,
+ false,
+ m_interpreter.GetDebugger().GetInstanceName().AsCString(),
index_value_string.c_str());
if (err.Fail ())
{
@@ -623,8 +637,7 @@ CommandObjectSettingsReplace::Execute (CommandInterpreter &interpreter,
}
int
-CommandObjectSettingsReplace::HandleArgumentCompletion (CommandInterpreter &interpreter,
- Args &input,
+CommandObjectSettingsReplace::HandleArgumentCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
OptionElementVector &opt_element_vector,
@@ -638,7 +651,7 @@ CommandObjectSettingsReplace::HandleArgumentCompletion (CommandInterpreter &inte
// Attempting to complete variable name
if (cursor_index < 2)
- CommandCompletions::InvokeCommonCompletionCallbacks (interpreter,
+ CommandCompletions::InvokeCommonCompletionCallbacks (m_interpreter,
CommandCompletions::eSettingsNameCompletion,
completion_str.c_str(),
match_start_point,
@@ -654,8 +667,9 @@ CommandObjectSettingsReplace::HandleArgumentCompletion (CommandInterpreter &inte
// CommandObjectSettingsInsertBefore
//-------------------------------------------------------------------------
-CommandObjectSettingsInsertBefore::CommandObjectSettingsInsertBefore () :
- CommandObject ("settings insert-before",
+CommandObjectSettingsInsertBefore::CommandObjectSettingsInsertBefore (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "settings insert-before",
"Insert value(s) into an internal debugger settings array variable, immediately before the specified element.",
"settings insert-before <setting-variable-name> [<index>] <new-value>")
{
@@ -666,8 +680,7 @@ CommandObjectSettingsInsertBefore::~CommandObjectSettingsInsertBefore ()
}
bool
-CommandObjectSettingsInsertBefore::Execute (CommandInterpreter &interpreter,
- Args& command,
+CommandObjectSettingsInsertBefore::Execute ( Args& command,
CommandReturnObject &result)
{
UserSettingsControllerSP root_settings = Debugger::GetSettingsController ();
@@ -719,8 +732,11 @@ CommandObjectSettingsInsertBefore::Execute (CommandInterpreter &interpreter,
}
else
{
- Error err = root_settings->SetVariable (var_name_string.c_str(), var_value, lldb::eVarSetOperationInsertBefore,
- false, interpreter.GetDebugger().GetInstanceName().AsCString(),
+ Error err = root_settings->SetVariable (var_name_string.c_str(),
+ var_value,
+ lldb::eVarSetOperationInsertBefore,
+ false,
+ m_interpreter.GetDebugger().GetInstanceName().AsCString(),
index_value_string.c_str());
if (err.Fail ())
{
@@ -736,8 +752,7 @@ CommandObjectSettingsInsertBefore::Execute (CommandInterpreter &interpreter,
int
-CommandObjectSettingsInsertBefore::HandleArgumentCompletion (CommandInterpreter &interpreter,
- Args &input,
+CommandObjectSettingsInsertBefore::HandleArgumentCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
OptionElementVector &opt_element_vector,
@@ -751,7 +766,7 @@ CommandObjectSettingsInsertBefore::HandleArgumentCompletion (CommandInterpreter
// Attempting to complete variable name
if (cursor_index < 2)
- CommandCompletions::InvokeCommonCompletionCallbacks (interpreter,
+ CommandCompletions::InvokeCommonCompletionCallbacks (m_interpreter,
CommandCompletions::eSettingsNameCompletion,
completion_str.c_str(),
match_start_point,
@@ -767,8 +782,9 @@ CommandObjectSettingsInsertBefore::HandleArgumentCompletion (CommandInterpreter
// CommandObjectSettingInsertAfter
//-------------------------------------------------------------------------
-CommandObjectSettingsInsertAfter::CommandObjectSettingsInsertAfter () :
- CommandObject ("settings insert-after",
+CommandObjectSettingsInsertAfter::CommandObjectSettingsInsertAfter (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "settings insert-after",
"Insert value(s) into an internal debugger settings array variable, immediately after the specified element.",
"settings insert-after <setting-variable-name> [<index>] <new-value>")
{
@@ -779,8 +795,7 @@ CommandObjectSettingsInsertAfter::~CommandObjectSettingsInsertAfter ()
}
bool
-CommandObjectSettingsInsertAfter::Execute (CommandInterpreter &interpreter,
- Args& command,
+CommandObjectSettingsInsertAfter::Execute ( Args& command,
CommandReturnObject &result)
{
UserSettingsControllerSP root_settings = Debugger::GetSettingsController ();
@@ -832,8 +847,11 @@ CommandObjectSettingsInsertAfter::Execute (CommandInterpreter &interpreter,
}
else
{
- Error err = root_settings->SetVariable (var_name_string.c_str(), var_value, lldb::eVarSetOperationInsertAfter,
- false, interpreter.GetDebugger().GetInstanceName().AsCString(),
+ Error err = root_settings->SetVariable (var_name_string.c_str(),
+ var_value,
+ lldb::eVarSetOperationInsertAfter,
+ false,
+ m_interpreter.GetDebugger().GetInstanceName().AsCString(),
index_value_string.c_str());
if (err.Fail ())
{
@@ -849,8 +867,7 @@ CommandObjectSettingsInsertAfter::Execute (CommandInterpreter &interpreter,
int
-CommandObjectSettingsInsertAfter::HandleArgumentCompletion (CommandInterpreter &interpreter,
- Args &input,
+CommandObjectSettingsInsertAfter::HandleArgumentCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
OptionElementVector &opt_element_vector,
@@ -864,7 +881,7 @@ CommandObjectSettingsInsertAfter::HandleArgumentCompletion (CommandInterpreter &
// Attempting to complete variable name
if (cursor_index < 2)
- CommandCompletions::InvokeCommonCompletionCallbacks (interpreter,
+ CommandCompletions::InvokeCommonCompletionCallbacks (m_interpreter,
CommandCompletions::eSettingsNameCompletion,
completion_str.c_str(),
match_start_point,
@@ -880,8 +897,9 @@ CommandObjectSettingsInsertAfter::HandleArgumentCompletion (CommandInterpreter &
// CommandObjectSettingsAppend
//-------------------------------------------------------------------------
-CommandObjectSettingsAppend::CommandObjectSettingsAppend () :
- CommandObject ("settings append",
+CommandObjectSettingsAppend::CommandObjectSettingsAppend (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "settings append",
"Append a new value to the end of an internal debugger settings array, dictionary or string variable.",
"settings append <setting-variable-name> <new-value>")
{
@@ -892,8 +910,7 @@ CommandObjectSettingsAppend::~CommandObjectSettingsAppend ()
}
bool
-CommandObjectSettingsAppend::Execute (CommandInterpreter &interpreter,
- Args& command,
+CommandObjectSettingsAppend::Execute ( Args& command,
CommandReturnObject &result)
{
UserSettingsControllerSP root_settings = Debugger::GetSettingsController ();
@@ -933,8 +950,11 @@ CommandObjectSettingsAppend::Execute (CommandInterpreter &interpreter,
}
else
{
- Error err = root_settings->SetVariable (var_name_string.c_str(), var_value, lldb::eVarSetOperationAppend,
- false, interpreter.GetDebugger().GetInstanceName().AsCString());
+ Error err = root_settings->SetVariable (var_name_string.c_str(),
+ var_value,
+ lldb::eVarSetOperationAppend,
+ false,
+ m_interpreter.GetDebugger().GetInstanceName().AsCString());
if (err.Fail ())
{
result.AppendError (err.AsCString());
@@ -949,8 +969,7 @@ CommandObjectSettingsAppend::Execute (CommandInterpreter &interpreter,
int
-CommandObjectSettingsAppend::HandleArgumentCompletion (CommandInterpreter &interpreter,
- Args &input,
+CommandObjectSettingsAppend::HandleArgumentCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
OptionElementVector &opt_element_vector,
@@ -964,7 +983,7 @@ CommandObjectSettingsAppend::HandleArgumentCompletion (CommandInterpreter &inter
// Attempting to complete variable name
if (cursor_index < 2)
- CommandCompletions::InvokeCommonCompletionCallbacks (interpreter,
+ CommandCompletions::InvokeCommonCompletionCallbacks (m_interpreter,
CommandCompletions::eSettingsNameCompletion,
completion_str.c_str(),
match_start_point,
@@ -980,8 +999,9 @@ CommandObjectSettingsAppend::HandleArgumentCompletion (CommandInterpreter &inter
// CommandObjectSettingsClear
//-------------------------------------------------------------------------
-CommandObjectSettingsClear::CommandObjectSettingsClear () :
- CommandObject ("settings clear",
+CommandObjectSettingsClear::CommandObjectSettingsClear (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "settings clear",
"Erase all the contents of an internal debugger settings variables; this is only valid for variables with clearable types, i.e. strings, arrays or dictionaries.",
"settings clear")
{
@@ -992,8 +1012,7 @@ CommandObjectSettingsClear::~CommandObjectSettingsClear ()
}
bool
-CommandObjectSettingsClear::Execute (CommandInterpreter &interpreter,
- Args& command,
+CommandObjectSettingsClear::Execute ( Args& command,
CommandReturnObject &result)
{
UserSettingsControllerSP root_settings = Debugger::GetSettingsController ();
@@ -1015,8 +1034,11 @@ CommandObjectSettingsClear::Execute (CommandInterpreter &interpreter,
return false;
}
- Error err = root_settings->SetVariable (var_name, NULL, lldb::eVarSetOperationClear, false,
- interpreter.GetDebugger().GetInstanceName().AsCString());
+ Error err = root_settings->SetVariable (var_name,
+ NULL,
+ lldb::eVarSetOperationClear,
+ false,
+ m_interpreter.GetDebugger().GetInstanceName().AsCString());
if (err.Fail ())
{
@@ -1031,8 +1053,7 @@ CommandObjectSettingsClear::Execute (CommandInterpreter &interpreter,
int
-CommandObjectSettingsClear::HandleArgumentCompletion (CommandInterpreter &interpreter,
- Args &input,
+CommandObjectSettingsClear::HandleArgumentCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
OptionElementVector &opt_element_vector,
@@ -1046,7 +1067,7 @@ CommandObjectSettingsClear::HandleArgumentCompletion (CommandInterpreter &interp
// Attempting to complete variable name
if (cursor_index < 2)
- CommandCompletions::InvokeCommonCompletionCallbacks (interpreter,
+ CommandCompletions::InvokeCommonCompletionCallbacks (m_interpreter,
CommandCompletions::eSettingsNameCompletion,
completion_str.c_str(),
match_start_point,
diff --git a/lldb/source/Commands/CommandObjectSettings.h b/lldb/source/Commands/CommandObjectSettings.h
index 13b51442d0b..9f369642b51 100644
--- a/lldb/source/Commands/CommandObjectSettings.h
+++ b/lldb/source/Commands/CommandObjectSettings.h
@@ -43,14 +43,13 @@ public:
class CommandObjectSettingsSet : public CommandObject
{
public:
- CommandObjectSettingsSet ();
+ CommandObjectSettingsSet (CommandInterpreter &interpreter);
virtual
~CommandObjectSettingsSet ();
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
virtual Options *
@@ -86,8 +85,7 @@ public:
};
virtual int
- HandleArgumentCompletion (CommandInterpreter &interpreter,
- Args &input,
+ HandleArgumentCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
OptionElementVector &opt_element_vector,
@@ -107,20 +105,18 @@ private:
class CommandObjectSettingsShow : public CommandObject
{
public:
- CommandObjectSettingsShow ();
+ CommandObjectSettingsShow (CommandInterpreter &interpreter);
virtual
~CommandObjectSettingsShow ();
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
virtual int
- HandleArgumentCompletion (CommandInterpreter &interpreter,
- Args &input,
+ HandleArgumentCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
OptionElementVector &opt_element_vector,
@@ -139,19 +135,17 @@ private:
class CommandObjectSettingsList : public CommandObject
{
public:
- CommandObjectSettingsList ();
+ CommandObjectSettingsList (CommandInterpreter &interpreter);
virtual
~CommandObjectSettingsList ();
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
virtual int
- HandleArgumentCompletion (CommandInterpreter &interpreter,
- Args &input,
+ HandleArgumentCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
OptionElementVector &opt_element_vector,
@@ -170,19 +164,17 @@ private:
class CommandObjectSettingsRemove : public CommandObject
{
public:
- CommandObjectSettingsRemove ();
+ CommandObjectSettingsRemove (CommandInterpreter &interpreter);
virtual
~CommandObjectSettingsRemove ();
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
virtual int
- HandleArgumentCompletion (CommandInterpreter &interpreter,
- Args &input,
+ HandleArgumentCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
OptionElementVector &opt_element_vector,
@@ -201,19 +193,17 @@ private:
class CommandObjectSettingsReplace : public CommandObject
{
public:
- CommandObjectSettingsReplace ();
+ CommandObjectSettingsReplace (CommandInterpreter &interpreter);
virtual
~CommandObjectSettingsReplace ();
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
virtual int
- HandleArgumentCompletion (CommandInterpreter &interpreter,
- Args &input,
+ HandleArgumentCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
OptionElementVector &opt_element_vector,
@@ -232,19 +222,17 @@ private:
class CommandObjectSettingsInsertBefore : public CommandObject
{
public:
- CommandObjectSettingsInsertBefore ();
+ CommandObjectSettingsInsertBefore (CommandInterpreter &interpreter);
virtual
~CommandObjectSettingsInsertBefore ();
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
virtual int
- HandleArgumentCompletion (CommandInterpreter &interpreter,
- Args &input,
+ HandleArgumentCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
OptionElementVector &opt_element_vector,
@@ -263,19 +251,17 @@ private:
class CommandObjectSettingsInsertAfter : public CommandObject
{
public:
- CommandObjectSettingsInsertAfter ();
+ CommandObjectSettingsInsertAfter (CommandInterpreter &interpreter);
virtual
~CommandObjectSettingsInsertAfter ();
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
virtual int
- HandleArgumentCompletion (CommandInterpreter &interpreter,
- Args &input,
+ HandleArgumentCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
OptionElementVector &opt_element_vector,
@@ -294,19 +280,17 @@ private:
class CommandObjectSettingsAppend : public CommandObject
{
public:
- CommandObjectSettingsAppend ();
+ CommandObjectSettingsAppend (CommandInterpreter &interpreter);
virtual
~CommandObjectSettingsAppend ();
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
virtual int
- HandleArgumentCompletion (CommandInterpreter &interpreter,
- Args &input,
+ HandleArgumentCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
OptionElementVector &opt_element_vector,
@@ -325,19 +309,17 @@ private:
class CommandObjectSettingsClear : public CommandObject
{
public:
- CommandObjectSettingsClear ();
+ CommandObjectSettingsClear (CommandInterpreter &interpreter);
virtual
~CommandObjectSettingsClear ();
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
virtual int
- HandleArgumentCompletion (CommandInterpreter &interpreter,
- Args &input,
+ HandleArgumentCompletion (Args &input,
int &cursor_index,
int &cursor_char_position,
OptionElementVector &opt_element_vector,
diff --git a/lldb/source/Commands/CommandObjectSource.cpp b/lldb/source/Commands/CommandObjectSource.cpp
index 996eb79fc1c..0ca222d772c 100644
--- a/lldb/source/Commands/CommandObjectSource.cpp
+++ b/lldb/source/Commands/CommandObjectSource.cpp
@@ -96,10 +96,11 @@ class CommandObjectSourceInfo : public CommandObject
};
public:
- CommandObjectSourceInfo() :
- CommandObject ("source info",
- "Display information about the source lines from the current executable's debug info.",
- "source info [<cmd-options>]")
+ CommandObjectSourceInfo(CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "source info",
+ "Display information about the source lines from the current executable's debug info.",
+ "source info [<cmd-options>]")
{
}
@@ -118,7 +119,6 @@ public:
bool
Execute
(
- CommandInterpreter &interpreter,
Args& args,
CommandReturnObject &result
)
@@ -227,10 +227,11 @@ class CommandObjectSourceList : public CommandObject
};
public:
- CommandObjectSourceList() :
- CommandObject ("source list",
- "Display source code (as specified) based on the current executable's debug info.",
- "source list [<cmd-options>] [<filename>]")
+ CommandObjectSourceList(CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "source list",
+ "Display source code (as specified) based on the current executable's debug info.",
+ "source list [<cmd-options>] [<filename>]")
{
}
@@ -249,7 +250,6 @@ public:
bool
Execute
(
- CommandInterpreter &interpreter,
Args& args,
CommandReturnObject &result
)
@@ -262,12 +262,12 @@ public:
result.SetStatus (eReturnStatusFailed);
}
- ExecutionContext exe_ctx(interpreter.GetDebugger().GetExecutionContext());
+ ExecutionContext exe_ctx(m_interpreter.GetDebugger().GetExecutionContext());
if (!m_options.symbol_name.empty())
{
// Displaying the source for a symbol:
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
if (target == NULL)
{
result.AppendError ("invalid target, set executable file using 'file' command");
@@ -400,12 +400,12 @@ public:
char path_buf[PATH_MAX+1];
start_file.GetPath(path_buf, PATH_MAX);
result.AppendMessageWithFormat("File: %s.\n", path_buf);
- interpreter.GetDebugger().GetSourceManager().DisplaySourceLinesWithLineNumbers (start_file,
- line_no,
- 0,
- m_options.num_lines,
- "",
- &result.GetOutputStream());
+ m_interpreter.GetDebugger().GetSourceManager().DisplaySourceLinesWithLineNumbers (start_file,
+ line_no,
+ 0,
+ m_options.num_lines,
+ "",
+ &result.GetOutputStream());
result.SetStatus (eReturnStatusSuccessFinishResult);
return true;
@@ -419,14 +419,14 @@ public:
// more likely because you typed it once, then typed it again
if (m_options.start_line == 0)
{
- if (interpreter.GetDebugger().GetSourceManager().DisplayMoreWithLineNumbers (&result.GetOutputStream()))
+ if (m_interpreter.GetDebugger().GetSourceManager().DisplayMoreWithLineNumbers (&result.GetOutputStream()))
{
result.SetStatus (eReturnStatusSuccessFinishResult);
}
}
else
{
- if (interpreter.GetDebugger().GetSourceManager().DisplaySourceLinesWithLineNumbersUsingLastFile(
+ if (m_interpreter.GetDebugger().GetSourceManager().DisplaySourceLinesWithLineNumbersUsingLastFile(
m_options.start_line, // Line to display
0, // Lines before line to display
m_options.num_lines, // Lines after line to display
@@ -441,7 +441,7 @@ public:
else
{
const char *filename = m_options.file_name.c_str();
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
if (target == NULL)
{
result.AppendError ("invalid target, set executable file using 'file' command");
@@ -524,12 +524,12 @@ public:
{
if (sc.comp_unit)
{
- interpreter.GetDebugger().GetSourceManager().DisplaySourceLinesWithLineNumbers (sc.comp_unit,
- m_options.start_line,
- 0,
- m_options.num_lines,
- "",
- &result.GetOutputStream());
+ m_interpreter.GetDebugger().GetSourceManager().DisplaySourceLinesWithLineNumbers (sc.comp_unit,
+ m_options.start_line,
+ 0,
+ m_options.num_lines,
+ "",
+ &result.GetOutputStream());
result.SetStatus (eReturnStatusSuccessFinishResult);
}
@@ -574,12 +574,13 @@ CommandObjectSourceList::CommandOptions::g_option_table[] =
//-------------------------------------------------------------------------
CommandObjectMultiwordSource::CommandObjectMultiwordSource (CommandInterpreter &interpreter) :
- CommandObjectMultiword ("source",
+ CommandObjectMultiword (interpreter,
+ "source",
"A set of commands for accessing source file information",
"source <subcommand> [<subcommand-options>]")
{
- LoadSubCommand (interpreter, "info", CommandObjectSP (new CommandObjectSourceInfo ()));
- LoadSubCommand (interpreter, "list", CommandObjectSP (new CommandObjectSourceList ()));
+ LoadSubCommand ("info", CommandObjectSP (new CommandObjectSourceInfo (interpreter)));
+ LoadSubCommand ("list", CommandObjectSP (new CommandObjectSourceList (interpreter)));
}
CommandObjectMultiwordSource::~CommandObjectMultiwordSource ()
diff --git a/lldb/source/Commands/CommandObjectSyntax.cpp b/lldb/source/Commands/CommandObjectSyntax.cpp
index 6574692e8bf..8bc49a723e5 100644
--- a/lldb/source/Commands/CommandObjectSyntax.cpp
+++ b/lldb/source/Commands/CommandObjectSyntax.cpp
@@ -27,10 +27,11 @@ using namespace lldb_private;
// CommandObjectSyntax
//-------------------------------------------------------------------------
-CommandObjectSyntax::CommandObjectSyntax () :
- CommandObject ("syntax",
- "Shows the correct syntax for a given debugger command.",
- "syntax <command>")
+CommandObjectSyntax::CommandObjectSyntax (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "syntax",
+ "Shows the correct syntax for a given debugger command.",
+ "syntax <command>")
{
}
@@ -42,7 +43,6 @@ CommandObjectSyntax::~CommandObjectSyntax()
bool
CommandObjectSyntax::Execute
(
- CommandInterpreter &interpreter,
Args& command,
CommandReturnObject &result
)
@@ -53,7 +53,7 @@ CommandObjectSyntax::Execute
if (argc > 0)
{
- cmd_obj = interpreter.GetCommandObject (command.GetArgumentAtIndex(0));
+ cmd_obj = m_interpreter.GetCommandObject (command.GetArgumentAtIndex(0));
bool all_okay = true;
for (int i = 1; i < argc; ++i)
{
diff --git a/lldb/source/Commands/CommandObjectSyntax.h b/lldb/source/Commands/CommandObjectSyntax.h
index 47b3e8e1033..24ae876e25d 100644
--- a/lldb/source/Commands/CommandObjectSyntax.h
+++ b/lldb/source/Commands/CommandObjectSyntax.h
@@ -26,14 +26,13 @@ class CommandObjectSyntax : public CommandObject
{
public:
- CommandObjectSyntax ();
+ CommandObjectSyntax (CommandInterpreter &interpreter);
virtual
~CommandObjectSyntax ();
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
diff --git a/lldb/source/Commands/CommandObjectTarget.cpp b/lldb/source/Commands/CommandObjectTarget.cpp
index 1410d5b46d6..8708d4427ea 100644
--- a/lldb/source/Commands/CommandObjectTarget.cpp
+++ b/lldb/source/Commands/CommandObjectTarget.cpp
@@ -34,8 +34,9 @@ class CommandObjectTargetImageSearchPathsAdd : public CommandObject
{
public:
- CommandObjectTargetImageSearchPathsAdd () :
- CommandObject ("target image-search-paths add",
+ CommandObjectTargetImageSearchPathsAdd (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "target image-search-paths add",
"Add new image search paths substitution pairs to the current target.",
"target image-search-paths add <path-prefix> <new-path-prefix> [<path-prefix> <new-path-prefix>] ...")
{
@@ -46,11 +47,10 @@ public:
}
bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result)
{
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
if (target)
{
uint32_t argc = command.GetArgumentCount();
@@ -97,8 +97,9 @@ class CommandObjectTargetImageSearchPathsClear : public CommandObject
{
public:
- CommandObjectTargetImageSearchPathsClear () :
- CommandObject ("target image-search-paths clear",
+ CommandObjectTargetImageSearchPathsClear (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "target image-search-paths clear",
"Clear all current image search path substitution pairs from the current target.",
"target image-search-paths clear")
{
@@ -109,11 +110,10 @@ public:
}
bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result)
{
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
if (target)
{
bool notify = true;
@@ -132,8 +132,9 @@ class CommandObjectTargetImageSearchPathsInsert : public CommandObject
{
public:
- CommandObjectTargetImageSearchPathsInsert () :
- CommandObject ("target image-search-paths insert",
+ CommandObjectTargetImageSearchPathsInsert (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "target image-search-paths insert",
"Insert a new image search path substitution pair into the current target at the specified index.",
"target image-search-paths insert <index> <path-prefix> <new-path-prefix> [<path-prefix> <new-path-prefix>] ...")
{
@@ -144,11 +145,10 @@ public:
}
bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result)
{
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
if (target)
{
uint32_t argc = command.GetArgumentCount();
@@ -215,8 +215,9 @@ class CommandObjectTargetImageSearchPathsList : public CommandObject
{
public:
- CommandObjectTargetImageSearchPathsList () :
- CommandObject ("target image-search-paths list",
+ CommandObjectTargetImageSearchPathsList (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "target image-search-paths list",
"List all current image search path substitution pairs in the current target.",
"target image-search-paths list")
{
@@ -227,11 +228,10 @@ public:
}
bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result)
{
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
if (target)
{
if (command.GetArgumentCount() != 0)
@@ -256,8 +256,9 @@ class CommandObjectTargetImageSearchPathsQuery : public CommandObject
{
public:
- CommandObjectTargetImageSearchPathsQuery () :
- CommandObject ("target image-search-paths query",
+ CommandObjectTargetImageSearchPathsQuery (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "target image-search-paths query",
"Transform a path using the first applicable image search path.",
"target image-search-paths query <path>")
{
@@ -268,11 +269,10 @@ public:
}
bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result)
{
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
if (target)
{
if (command.GetArgumentCount() != 1)
@@ -310,7 +310,8 @@ public:
//public:
//
// CommandObjectTargetSelect () :
-// CommandObject ("frame select",
+// CommandObject (interpreter,
+// frame select",
// "Select the current frame by index in the current thread.",
// "frame select <frame-index>")
// {
@@ -323,7 +324,7 @@ public:
// bool
// Execute (Args& command,
// Debugger *context,
-// CommandInterpreter &interpreter,
+// CommandInterpreter &m_interpreter,
// CommandReturnObject &result)
// {
// ExecutionContext exe_ctx (context->GetExecutionContext());
@@ -344,7 +345,7 @@ public:
// {
// if (DisplayFrameForExecutionContext (exe_ctx.thread,
// exe_ctx.frame,
-// interpreter,
+// m_interpreter,
// result.GetOutputStream(),
// true,
// true,
@@ -388,15 +389,16 @@ class CommandObjectMultiwordImageSearchPaths : public CommandObjectMultiword
public:
CommandObjectMultiwordImageSearchPaths (CommandInterpreter &interpreter) :
- CommandObjectMultiword ("target image-search-paths",
+ CommandObjectMultiword (interpreter,
+ "target image-search-paths",
"A set of commands for operating on debugger target image search paths.",
"target image-search-paths <subcommand> [<subcommand-options>]")
{
- LoadSubCommand (interpreter, "add", CommandObjectSP (new CommandObjectTargetImageSearchPathsAdd ()));
- LoadSubCommand (interpreter, "clear", CommandObjectSP (new CommandObjectTargetImageSearchPathsClear ()));
- LoadSubCommand (interpreter, "insert", CommandObjectSP (new CommandObjectTargetImageSearchPathsInsert ()));
- LoadSubCommand (interpreter, "list", CommandObjectSP (new CommandObjectTargetImageSearchPathsList ()));
- LoadSubCommand (interpreter, "query", CommandObjectSP (new CommandObjectTargetImageSearchPathsQuery ()));
+ LoadSubCommand ("add", CommandObjectSP (new CommandObjectTargetImageSearchPathsAdd (interpreter)));
+ LoadSubCommand ("clear", CommandObjectSP (new CommandObjectTargetImageSearchPathsClear (interpreter)));
+ LoadSubCommand ("insert", CommandObjectSP (new CommandObjectTargetImageSearchPathsInsert (interpreter)));
+ LoadSubCommand ("list", CommandObjectSP (new CommandObjectTargetImageSearchPathsList (interpreter)));
+ LoadSubCommand ("query", CommandObjectSP (new CommandObjectTargetImageSearchPathsQuery (interpreter)));
}
~CommandObjectMultiwordImageSearchPaths()
@@ -412,11 +414,12 @@ public:
//-------------------------------------------------------------------------
CommandObjectMultiwordTarget::CommandObjectMultiwordTarget (CommandInterpreter &interpreter) :
- CommandObjectMultiword ("target",
+ CommandObjectMultiword (interpreter,
+ "target",
"A set of commands for operating on debugger targets.",
"target <subcommand> [<subcommand-options>]")
{
- LoadSubCommand (interpreter, "image-search-paths", CommandObjectSP (new CommandObjectMultiwordImageSearchPaths (interpreter)));
+ LoadSubCommand ("image-search-paths", CommandObjectSP (new CommandObjectMultiwordImageSearchPaths (interpreter)));
}
CommandObjectMultiwordTarget::~CommandObjectMultiwordTarget ()
diff --git a/lldb/source/Commands/CommandObjectThread.cpp b/lldb/source/Commands/CommandObjectThread.cpp
index 8c5e968a67a..bfb32c7f9f2 100644
--- a/lldb/source/Commands/CommandObjectThread.cpp
+++ b/lldb/source/Commands/CommandObjectThread.cpp
@@ -330,8 +330,9 @@ public:
uint32_t m_start;
};
- CommandObjectThreadBacktrace () :
- CommandObject ("thread backtrace",
+ CommandObjectThreadBacktrace (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "thread backtrace",
"Show the stack for one or more threads. If no threads are specified, show the currently selected thread. Use the thread-index \"all\" to see all threads.",
"thread backtrace [<thread-index>] ...",
eFlagProcessMustBeLaunched | eFlagProcessMustBePaused),
@@ -350,12 +351,7 @@ public:
}
virtual bool
- Execute
- (
- CommandInterpreter &interpreter,
- Args& command,
- CommandReturnObject &result
- )
+ Execute (Args& command, CommandReturnObject &result)
{
bool show_frame_info = true;
@@ -365,11 +361,11 @@ public:
if (command.GetArgumentCount() == 0)
{
- ExecutionContext exe_ctx(interpreter.GetDebugger().GetExecutionContext());
+ ExecutionContext exe_ctx(m_interpreter.GetDebugger().GetExecutionContext());
if (exe_ctx.thread)
{
if (DisplayFramesForExecutionContext (exe_ctx.thread,
- interpreter,
+ m_interpreter,
result.GetOutputStream(),
m_options.m_start,
m_options.m_count,
@@ -389,13 +385,13 @@ public:
}
else if (command.GetArgumentCount() == 1 && ::strcmp (command.GetArgumentAtIndex(0), "all") == 0)
{
- Process *process = interpreter.GetDebugger().GetExecutionContext().process;
+ Process *process = m_interpreter.GetDebugger().GetExecutionContext().process;
uint32_t num_threads = process->GetThreadList().GetSize();
for (uint32_t i = 0; i < num_threads; i++)
{
ThreadSP thread_sp = process->GetThreadList().GetThreadAtIndex(i);
if (!DisplayFramesForExecutionContext (thread_sp.get(),
- interpreter,
+ m_interpreter,
result.GetOutputStream(),
m_options.m_start,
m_options.m_count,
@@ -415,7 +411,7 @@ public:
else
{
uint32_t num_args = command.GetArgumentCount();
- Process *process = interpreter.GetDebugger().GetExecutionContext().process;
+ Process *process = m_interpreter.GetDebugger().GetExecutionContext().process;
std::vector<ThreadSP> thread_sps;
for (uint32_t i = 0; i < num_args; i++)
@@ -444,7 +440,7 @@ public:
for (uint32_t i = 0; i < num_args; i++)
{
if (!DisplayFramesForExecutionContext (thread_sps[i].get(),
- interpreter,
+ m_interpreter,
result.GetOutputStream(),
m_options.m_start,
m_options.m_count,
@@ -566,13 +562,14 @@ public:
std::string m_avoid_regexp;
};
- CommandObjectThreadStepWithTypeAndScope (const char *name,
- const char *help,
- const char *syntax,
- uint32_t flags,
- StepType step_type,
- StepScope step_scope) :
- CommandObject (name, help, syntax, flags),
+ CommandObjectThreadStepWithTypeAndScope (CommandInterpreter &interpreter,
+ const char *name,
+ const char *help,
+ const char *syntax,
+ uint32_t flags,
+ StepType step_type,
+ StepScope step_scope) :
+ CommandObject (interpreter, name, help, syntax, flags),
m_step_type (step_type),
m_step_scope (step_scope),
m_options ()
@@ -594,13 +591,12 @@ public:
virtual bool
Execute
(
- CommandInterpreter &interpreter,
Args& command,
CommandReturnObject &result
)
{
- Process *process = interpreter.GetDebugger().GetExecutionContext().process;
- bool synchronous_execution = interpreter.GetSynchronous();
+ Process *process = m_interpreter.GetDebugger().GetExecutionContext().process;
+ bool synchronous_execution = m_interpreter.GetSynchronous();
if (process == NULL)
{
@@ -791,8 +787,9 @@ class CommandObjectThreadContinue : public CommandObject
{
public:
- CommandObjectThreadContinue () :
- CommandObject ("thread continue",
+ CommandObjectThreadContinue (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "thread continue",
"Continue execution of one or more threads in an active process.",
"thread continue <thread-index> [<thread-index> ...]",
eFlagProcessMustBeLaunched | eFlagProcessMustBePaused)
@@ -808,21 +805,20 @@ public:
virtual bool
Execute
(
- CommandInterpreter &interpreter,
Args& command,
CommandReturnObject &result
)
{
- bool synchronous_execution = interpreter.GetSynchronous ();
+ bool synchronous_execution = m_interpreter.GetSynchronous ();
- if (!interpreter.GetDebugger().GetSelectedTarget().get())
+ if (!m_interpreter.GetDebugger().GetSelectedTarget().get())
{
result.AppendError ("invalid target, set executable file using 'file' command");
result.SetStatus (eReturnStatusFailed);
return false;
}
- Process *process = interpreter.GetDebugger().GetExecutionContext().process;
+ Process *process = m_interpreter.GetDebugger().GetExecutionContext().process;
if (process == NULL)
{
result.AppendError ("no process exists. Cannot continue");
@@ -1035,8 +1031,9 @@ public:
// Instance variables to hold the values for command options.
};
- CommandObjectThreadUntil () :
- CommandObject ("thread until",
+ CommandObjectThreadUntil (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "thread until",
"Run the current or specified thread until it reaches a given line number or leaves the current function.",
"thread until [<cmd-options>] <line-number>",
eFlagProcessMustBeLaunched | eFlagProcessMustBePaused),
@@ -1060,14 +1057,13 @@ public:
virtual bool
Execute
(
- CommandInterpreter &interpreter,
Args& command,
CommandReturnObject &result
)
{
- bool synchronous_execution = interpreter.GetSynchronous ();
+ bool synchronous_execution = m_interpreter.GetSynchronous ();
- Target *target = interpreter.GetDebugger().GetSelectedTarget().get();
+ Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
if (target == NULL)
{
result.AppendError ("invalid target, set executable file using 'file' command");
@@ -1075,7 +1071,7 @@ public:
return false;
}
- Process *process = interpreter.GetDebugger().GetExecutionContext().process;
+ Process *process = m_interpreter.GetDebugger().GetExecutionContext().process;
if (process == NULL)
{
result.AppendError ("need a valid process to step");
@@ -1234,11 +1230,12 @@ class CommandObjectThreadSelect : public CommandObject
{
public:
- CommandObjectThreadSelect () :
- CommandObject ("thread select",
- "Select a thread as the currently active thread.",
- "thread select <thread-index>",
- eFlagProcessMustBeLaunched | eFlagProcessMustBePaused)
+ CommandObjectThreadSelect (CommandInterpreter &interpreter) :
+ CommandObject (interpreter,
+ "thread select",
+ "Select a thread as the currently active thread.",
+ "thread select <thread-index>",
+ eFlagProcessMustBeLaunched | eFlagProcessMustBePaused)
{
}
@@ -1251,12 +1248,11 @@ public:
virtual bool
Execute
(
- CommandInterpreter &interpreter,
Args& command,
CommandReturnObject &result
)
{
- Process *process = interpreter.GetDebugger().GetExecutionContext().process;
+ Process *process = m_interpreter.GetDebugger().GetExecutionContext().process;
if (process == NULL)
{
result.AppendError ("no process");
@@ -1283,7 +1279,7 @@ public:
process->GetThreadList().SetSelectedThreadByID(new_thread->GetID());
result.SetStatus (eReturnStatusSuccessFinishNoResult);
- DisplayThreadInfo (interpreter,
+ DisplayThreadInfo (m_interpreter,
result.GetOutputStream(),
new_thread,
false,
@@ -1304,8 +1300,9 @@ class CommandObjectThreadList : public CommandObject
public:
- CommandObjectThreadList ():
- CommandObject ("thread list",
+ CommandObjectThreadList (CommandInterpreter &interpreter):
+ CommandObject (interpreter,
+ "thread list",
"Show a summary of all current threads in a process.",
"thread list",
eFlagProcessMustBeLaunched | eFlagProcessMustBePaused)
@@ -1319,14 +1316,13 @@ public:
bool
Execute
(
- CommandInterpreter &interpreter,
Args& command,
CommandReturnObject &result
)
{
StreamString &strm = result.GetOutputStream();
result.SetStatus (eReturnStatusSuccessFinishNoResult);
- ExecutionContext exe_ctx(interpreter.GetDebugger().GetExecutionContext());
+ ExecutionContext exe_ctx(m_interpreter.GetDebugger().GetExecutionContext());
if (exe_ctx.process)
{
const StateType state = exe_ctx.process->GetState();
@@ -1350,7 +1346,7 @@ public:
exe_ctx.thread = exe_ctx.process->GetThreadList().GetThreadAtIndex(0).get();
if (exe_ctx.thread != NULL)
{
- DisplayThreadsInfo (interpreter, &exe_ctx, result, false, false);
+ DisplayThreadsInfo (m_interpreter, &exe_ctx, result, false, false);
}
else
{
@@ -1379,50 +1375,60 @@ public:
//-------------------------------------------------------------------------
CommandObjectMultiwordThread::CommandObjectMultiwordThread (CommandInterpreter &interpreter) :
- CommandObjectMultiword ("thread",
+ CommandObjectMultiword (interpreter,
+ "thread",
"A set of commands for operating on one or more threads within a running process.",
"thread <subcommand> [<subcommand-options>]")
{
- LoadSubCommand (interpreter, "backtrace", CommandObjectSP (new CommandObjectThreadBacktrace ()));
- LoadSubCommand (interpreter, "continue", CommandObjectSP (new CommandObjectThreadContinue ()));
- LoadSubCommand (interpreter, "list", CommandObjectSP (new CommandObjectThreadList ()));
- LoadSubCommand (interpreter, "select", CommandObjectSP (new CommandObjectThreadSelect ()));
- LoadSubCommand (interpreter, "until", CommandObjectSP (new CommandObjectThreadUntil ()));
- LoadSubCommand (interpreter, "step-in", CommandObjectSP (new CommandObjectThreadStepWithTypeAndScope (
+ LoadSubCommand ("backtrace", CommandObjectSP (new CommandObjectThreadBacktrace (interpreter)));
+ LoadSubCommand ("continue", CommandObjectSP (new CommandObjectThreadContinue (interpreter)));
+ LoadSubCommand ("list", CommandObjectSP (new CommandObjectThreadList (interpreter)));
+ LoadSubCommand ("select", CommandObjectSP (new CommandObjectThreadSelect (interpreter)));
+ LoadSubCommand ("until", CommandObjectSP (new CommandObjectThreadUntil (interpreter)));
+ LoadSubCommand ("step-in", CommandObjectSP (new CommandObjectThreadStepWithTypeAndScope (
+ interpreter,
"thread step-in",
- "Source level single step in specified thread (current thread, if none specified).",
- "thread step-in [<thread-id>]",
- eFlagProcessMustBeLaunched | eFlagProcessMustBePaused,
- eStepTypeInto,
- eStepScopeSource)));
+ "Source level single step in specified thread (current thread, if none specified).",
+ "thread step-in [<thread-id>]",
+ eFlagProcessMustBeLaunched | eFlagProcessMustBePaused,
+ eStepTypeInto,
+ eStepScopeSource)));
- LoadSubCommand (interpreter, "step-out", CommandObjectSP (new CommandObjectThreadStepWithTypeAndScope ("thread step-out",
- "Finish executing the current fucntion and return to its call site in specified thread (current thread, if none specified).",
- "thread step-out [<thread-id>]",
- eFlagProcessMustBeLaunched | eFlagProcessMustBePaused,
- eStepTypeOut,
- eStepScopeSource)));
-
- LoadSubCommand (interpreter, "step-over", CommandObjectSP (new CommandObjectThreadStepWithTypeAndScope ("thread step-over",
- "Source level single step in specified thread (current thread, if none specified), stepping over calls.",
- "thread step-over [<thread-id>]",
- eFlagProcessMustBeLaunched | eFlagProcessMustBePaused,
- eStepTypeOver,
- eStepScopeSource)));
-
- LoadSubCommand (interpreter, "step-inst", CommandObjectSP (new CommandObjectThreadStepWithTypeAndScope ("thread step-inst",
- "Single step one instruction in specified thread (current thread, if none specified).",
- "thread step-inst [<thread-id>]",
- eFlagProcessMustBeLaunched | eFlagProcessMustBePaused,
- eStepTypeTrace,
- eStepScopeInstruction)));
-
- LoadSubCommand (interpreter, "step-inst-over", CommandObjectSP (new CommandObjectThreadStepWithTypeAndScope ("thread step-inst-over",
- "Single step one instruction in specified thread (current thread, if none specified), stepping over calls.",
- "thread step-inst-over [<thread-id>]",
- eFlagProcessMustBeLaunched | eFlagProcessMustBePaused,
- eStepTypeTraceOver,
- eStepScopeInstruction)));
+ LoadSubCommand ("step-out", CommandObjectSP (new CommandObjectThreadStepWithTypeAndScope (
+ interpreter,
+ "thread step-out",
+ "Finish executing the current fucntion and return to its call site in specified thread (current thread, if none specified).",
+ "thread step-out [<thread-id>]",
+ eFlagProcessMustBeLaunched | eFlagProcessMustBePaused,
+ eStepTypeOut,
+ eStepScopeSource)));
+
+ LoadSubCommand ("step-over", CommandObjectSP (new CommandObjectThreadStepWithTypeAndScope (
+ interpreter,
+ "thread step-over",
+ "Source level single step in specified thread (current thread, if none specified), stepping over calls.",
+ "thread step-over [<thread-id>]",
+ eFlagProcessMustBeLaunched | eFlagProcessMustBePaused,
+ eStepTypeOver,
+ eStepScopeSource)));
+
+ LoadSubCommand ("step-inst", CommandObjectSP (new CommandObjectThreadStepWithTypeAndScope (
+ interpreter,
+ "thread step-inst",
+ "Single step one instruction in specified thread (current thread, if none specified).",
+ "thread step-inst [<thread-id>]",
+ eFlagProcessMustBeLaunched | eFlagProcessMustBePaused,
+ eStepTypeTrace,
+ eStepScopeInstruction)));
+
+ LoadSubCommand ("step-inst-over", CommandObjectSP (new CommandObjectThreadStepWithTypeAndScope (
+ interpreter,
+ "thread step-inst-over",
+ "Single step one instruction in specified thread (current thread, if none specified), stepping over calls.",
+ "thread step-inst-over [<thread-id>]",
+ eFlagProcessMustBeLaunched | eFlagProcessMustBePaused,
+ eStepTypeTraceOver,
+ eStepScopeInstruction)));
}
CommandObjectMultiwordThread::~CommandObjectMultiwordThread ()
diff --git a/lldb/source/Core/Debugger.cpp b/lldb/source/Core/Debugger.cpp
index 8fd0271241a..bf558423c59 100644
--- a/lldb/source/Core/Debugger.cpp
+++ b/lldb/source/Core/Debugger.cpp
@@ -595,38 +595,27 @@ Debugger::DebuggerSettingsController::CreateNewInstanceSettings (const char *ins
bool
Debugger::DebuggerInstanceSettings::ValidTermWidthValue (const char *value, Error err)
{
- bool valid = true;
+ bool valid = false;
// Verify we have a value string.
- if (value == NULL
- || strlen (value) == 0)
+ if (value == NULL || value[0] == '\0')
{
- valid = false;
- err.SetErrorString ("Missing value. Can't set terminal width without a value.\n");
+ err.SetErrorString ("Missing value. Can't set terminal width without a value.\n");
}
-
- // Verify the string consists entirely of digits.
- if (valid)
- {
- int len = strlen (value);
- for (int i = 0; i < len; ++i)
- if (! isdigit (value[i]))
- {
- valid = false;
- err.SetErrorStringWithFormat ("'%s' is not a valid representation of an unsigned integer.\n", value);
- }
- }
-
- // Verify the term-width is 'reasonable' (e.g. 10 <= width <= 250).
- if (valid)
+ else
{
- int width = atoi (value);
- if (width < 10
- || width > 250)
+ char *end = NULL;
+ const uint32_t width = ::strtoul (value, &end, 0);
+
+ if (end && end == '\0')
{
- valid = false;
- err.SetErrorString ("Invalid term-width value; value must be between 10 and 250.\n");
+ if (width >= 10 || width <= 1024)
+ valid = true;
+ else
+ err.SetErrorString ("Invalid term-width value; value must be between 10 and 1024.\n");
}
+ else
+ err.SetErrorStringWithFormat ("'%s' is not a valid unsigned integer string.\n", value);
}
return valid;
@@ -637,9 +626,14 @@ Debugger::DebuggerInstanceSettings::ValidTermWidthValue (const char *value, Erro
// class DebuggerInstanceSettings
//--------------------------------------------------
-DebuggerInstanceSettings::DebuggerInstanceSettings (UserSettingsController &owner, bool live_instance,
- const char *name) :
+DebuggerInstanceSettings::DebuggerInstanceSettings
+(
+ UserSettingsController &owner,
+ bool live_instance,
+ const char *name
+) :
InstanceSettings (owner, (name == NULL ? InstanceSettings::InvalidName().AsCString() : name), live_instance),
+ m_term_width (80),
m_prompt (),
m_script_lang ()
{
@@ -725,7 +719,7 @@ DebuggerInstanceSettings::UpdateInstanceSettingsVariable (const ConstString &var
{
if (ValidTermWidthValue (value, err))
{
- m_term_width = atoi (value);
+ m_term_width = ::strtoul (value, NULL, 0);
}
}
}
diff --git a/lldb/source/Interpreter/CommandInterpreter.cpp b/lldb/source/Interpreter/CommandInterpreter.cpp
index 85622069236..48176f76b28 100644
--- a/lldb/source/Interpreter/CommandInterpreter.cpp
+++ b/lldb/source/Interpreter/CommandInterpreter.cpp
@@ -149,29 +149,30 @@ CommandInterpreter::LoadCommandDictionary ()
bool success;
script_language = Args::StringToScriptLanguage (value.GetStringAtIndex(0), lldb::eScriptLanguageDefault, &success);
- m_command_dict["apropos"] = CommandObjectSP (new CommandObjectApropos ());
+ m_command_dict["apropos"] = CommandObjectSP (new CommandObjectApropos (*this));
m_command_dict["breakpoint"]= CommandObjectSP (new CommandObjectMultiwordBreakpoint (*this));
- //m_command_dict["call"] = CommandObjectSP (new CommandObjectCall ());
+ //m_command_dict["call"] = CommandObjectSP (new CommandObjectCall (*this));
m_command_dict["commands"] = CommandObjectSP (new CommandObjectMultiwordCommands (*this));
- m_command_dict["disassemble"] = CommandObjectSP (new CommandObjectDisassemble ());
- m_command_dict["expression"]= CommandObjectSP (new CommandObjectExpression ());
- m_command_dict["file"] = CommandObjectSP (new CommandObjectFile ());
+ m_command_dict["disassemble"] = CommandObjectSP (new CommandObjectDisassemble (*this));
+ m_command_dict["expression"]= CommandObjectSP (new CommandObjectExpression (*this));
+ m_command_dict["file"] = CommandObjectSP (new CommandObjectFile (*this));
m_command_dict["frame"] = CommandObjectSP (new CommandObjectMultiwordFrame (*this));
- m_command_dict["help"] = CommandObjectSP (new CommandObjectHelp ());
+ m_command_dict["help"] = CommandObjectSP (new CommandObjectHelp (*this));
m_command_dict["image"] = CommandObjectSP (new CommandObjectImage (*this));
m_command_dict["log"] = CommandObjectSP (new CommandObjectLog (*this));
m_command_dict["memory"] = CommandObjectSP (new CommandObjectMemory (*this));
m_command_dict["process"] = CommandObjectSP (new CommandObjectMultiwordProcess (*this));
- m_command_dict["quit"] = CommandObjectSP (new CommandObjectQuit ());
+ m_command_dict["quit"] = CommandObjectSP (new CommandObjectQuit (*this));
m_command_dict["register"] = CommandObjectSP (new CommandObjectRegister (*this));
- m_command_dict["script"] = CommandObjectSP (new CommandObjectScript (script_language));
+ m_command_dict["script"] = CommandObjectSP (new CommandObjectScript (*this, script_language));
m_command_dict["settings"] = CommandObjectSP (new CommandObjectMultiwordSettings (*this));
m_command_dict["source"] = CommandObjectSP (new CommandObjectMultiwordSource (*this));
m_command_dict["target"] = CommandObjectSP (new CommandObjectMultiwordTarget (*this));
m_command_dict["thread"] = CommandObjectSP (new CommandObjectMultiwordThread (*this));
std::auto_ptr<CommandObjectRegexCommand>
- break_regex_cmd_ap(new CommandObjectRegexCommand ("regexp-break",
+ break_regex_cmd_ap(new CommandObjectRegexCommand (*this,
+ "regexp-break",
"Set a breakpoint using a regular expression to specify the location.",
"regexp-break [<file>:<line>]\nregexp-break [<address>]\nregexp-break <...>", 2));
if (break_regex_cmd_ap.get())
@@ -574,14 +575,14 @@ CommandInterpreter::HandleCommand
stripped_command += strlen(command_cstr);
while (isspace(*stripped_command))
++stripped_command;
- command_obj->ExecuteRawCommandString (*this, stripped_command, result);
+ command_obj->ExecuteRawCommandString (stripped_command, result);
}
}
else
{
// Remove the command from the args.
command_args.Shift();
- command_obj->ExecuteWithOptions (*this, command_args, result);
+ command_obj->ExecuteWithOptions (command_args, result);
}
}
else
@@ -681,8 +682,7 @@ CommandInterpreter::HandleCompletionMatches (Args &parsed_line,
{
parsed_line.Shift();
cursor_index--;
- num_command_matches = command_object->HandleCompletion (*this,
- parsed_line,
+ num_command_matches = command_object->HandleCompletion (parsed_line,
cursor_index,
cursor_char_position,
match_start_point,
@@ -1010,7 +1010,7 @@ CommandInterpreter::GetScriptInterpreter ()
if (pos != m_command_dict.end())
{
CommandObject *script_cmd_obj = pos->second.get();
- return ((CommandObjectScript *) script_cmd_obj)->GetInterpreter (*this);
+ return ((CommandObjectScript *) script_cmd_obj)->GetInterpreter ();
}
return NULL;
}
@@ -1041,15 +1041,8 @@ CommandInterpreter::OutputFormattedHelpText (Stream &strm,
const char *help_text,
uint32_t max_word_len)
{
- lldb::SettableVariableType var_type;
- const char *width_value =
- Debugger::GetSettingsController()->GetVariable ("term-width", var_type,
- m_debugger.GetInstanceName().AsCString()).GetStringAtIndex(0);
- int max_columns = atoi (width_value);
- // Sanity check max_columns, to cope with emacs shell mode with TERM=dumb
- // (0 rows; 0 columns;).
- if (max_columns <= 0) max_columns = 80;
-
+ const uint32_t max_columns = m_debugger.GetTerminalWidth();
+
int indent_size = max_word_len + strlen (separator) + 2;
strm.IndentMore (indent_size);
@@ -1135,7 +1128,7 @@ CommandInterpreter::AproposAllSubCommands (CommandObject *cmd_obj, const char *p
complete_command_name.Printf ("%s %s", prefix, command_name);
- if (sub_cmd_obj->HelpTextContainsWord (search_word, *this))
+ if (sub_cmd_obj->HelpTextContainsWord (search_word))
{
commands_found.AppendString (complete_command_name.GetData());
commands_help.AppendString (sub_cmd_obj->GetHelp());
@@ -1159,7 +1152,7 @@ CommandInterpreter::FindCommandsForApropos (const char *search_word, StringList
const char *command_name = pos->first.c_str();
CommandObject *cmd_obj = pos->second.get();
- if (cmd_obj->HelpTextContainsWord (search_word, *this))
+ if (cmd_obj->HelpTextContainsWord (search_word))
{
commands_found.AppendString (command_name);
commands_help.AppendString (cmd_obj->GetHelp());
diff --git a/lldb/source/Interpreter/CommandObject.cpp b/lldb/source/Interpreter/CommandObject.cpp
index 571c3d49f14..0784b4a9f78 100644
--- a/lldb/source/Interpreter/CommandObject.cpp
+++ b/lldb/source/Interpreter/CommandObject.cpp
@@ -38,7 +38,15 @@ using namespace lldb_private;
// CommandObject
//-------------------------------------------------------------------------
-CommandObject::CommandObject (const char *name, const char *help, const char *syntax, uint32_t flags) :
+CommandObject::CommandObject
+(
+ CommandInterpreter &interpreter,
+ const char *name,
+ const char *help,
+ const char *syntax,
+ uint32_t flags
+) :
+ m_interpreter (interpreter),
m_cmd_name (name),
m_cmd_help_short (),
m_cmd_help_long (),
@@ -134,19 +142,17 @@ CommandObject::GetFlags() const
bool
CommandObject::ExecuteCommandString
(
- CommandInterpreter &interpreter,
const char *command_line,
CommandReturnObject &result
)
{
Args command_args(command_line);
- return ExecuteWithOptions (interpreter, command_args, result);
+ return ExecuteWithOptions (command_args, result);
}
bool
CommandObject::ParseOptions
(
- CommandInterpreter &interpreter,
Args& args,
CommandReturnObject &result
)
@@ -177,8 +183,7 @@ CommandObject::ParseOptions
else
{
// No error string, output the usage information into result
- options->GenerateOptionUsage (result.GetErrorStream(), this,
- interpreter.GetDebugger().GetInstanceName().AsCString());
+ options->GenerateOptionUsage (m_interpreter, result.GetErrorStream(), this);
}
// Set the return status to failed (this was an error).
result.SetStatus (eReturnStatusFailed);
@@ -188,21 +193,16 @@ CommandObject::ParseOptions
return true;
}
bool
-CommandObject::ExecuteWithOptions
-(
- CommandInterpreter &interpreter,
- Args& args,
- CommandReturnObject &result
-)
+CommandObject::ExecuteWithOptions (Args& args, CommandReturnObject &result)
{
for (size_t i = 0; i < args.GetArgumentCount(); ++i)
{
const char *tmp_str = args.GetArgumentAtIndex (i);
if (tmp_str[0] == '`') // back-quote
- args.ReplaceArgumentAtIndex (i, interpreter.ProcessEmbeddedScriptCommands (tmp_str));
+ args.ReplaceArgumentAtIndex (i, m_interpreter.ProcessEmbeddedScriptCommands (tmp_str));
}
- Process *process = interpreter.GetDebugger().GetExecutionContext().process;
+ Process *process = m_interpreter.GetDebugger().GetExecutionContext().process;
if (process == NULL)
{
if (GetFlags().IsSet(CommandObject::eFlagProcessMustBeLaunched | CommandObject::eFlagProcessMustBePaused))
@@ -248,11 +248,11 @@ CommandObject::ExecuteWithOptions
}
}
- if (!ParseOptions (interpreter, args, result))
+ if (!ParseOptions (args, result))
return false;
// Call the command-specific version of 'Execute', passing it the already processed arguments.
- return Execute (interpreter, args, result);
+ return Execute (args, result);
}
class CommandDictCommandPartialMatch
@@ -300,7 +300,6 @@ CommandObject::AddNamesMatchingPartialString (CommandObject::CommandMap &in_map,
int
CommandObject::HandleCompletion
(
- CommandInterpreter &interpreter,
Args &input,
int &cursor_index,
int &cursor_char_position,
@@ -341,7 +340,7 @@ CommandObject::HandleCompletion
input.DeleteArgumentAtIndex(input.GetArgumentCount() - 1);
bool handled_by_options;
- handled_by_options = cur_options->HandleOptionCompletion (interpreter,
+ handled_by_options = cur_options->HandleOptionCompletion (m_interpreter,
input,
opt_element_vector,
cursor_index,
@@ -355,8 +354,7 @@ CommandObject::HandleCompletion
}
// If we got here, the last word is not an option or an option argument.
- return HandleArgumentCompletion (interpreter,
- input,
+ return HandleArgumentCompletion (input,
cursor_index,
cursor_char_position,
opt_element_vector,
@@ -397,7 +395,7 @@ contains_string (const char *s1, const char *s2)
}
bool
-CommandObject::HelpTextContainsWord (const char *search_word, CommandInterpreter &interpreter)
+CommandObject::HelpTextContainsWord (const char *search_word)
{
const char *short_help;
const char *long_help;
@@ -422,7 +420,7 @@ CommandObject::HelpTextContainsWord (const char *search_word, CommandInterpreter
&& GetOptions() != NULL)
{
StreamString usage_help;
- GetOptions()->GenerateOptionUsage (usage_help, this, interpreter.GetDebugger().GetInstanceName().AsCString());
+ GetOptions()->GenerateOptionUsage (m_interpreter, usage_help, this);
if (usage_help.GetSize() > 0)
{
const char *usage_text = usage_help.GetData();
diff --git a/lldb/source/Interpreter/CommandObjectRegexCommand.cpp b/lldb/source/Interpreter/CommandObjectRegexCommand.cpp
index 30f3eef50ef..534038aeaff 100644
--- a/lldb/source/Interpreter/CommandObjectRegexCommand.cpp
+++ b/lldb/source/Interpreter/CommandObjectRegexCommand.cpp
@@ -24,12 +24,13 @@ using namespace lldb_private;
//----------------------------------------------------------------------
CommandObjectRegexCommand::CommandObjectRegexCommand
(
+ CommandInterpreter &interpreter,
const char *name,
const char *help,
const char *syntax,
uint32_t max_matches
) :
- CommandObject (name, help, syntax),
+ CommandObject (interpreter, name, help, syntax),
m_max_matches (max_matches),
m_entries ()
{
@@ -46,7 +47,6 @@ CommandObjectRegexCommand::~CommandObjectRegexCommand()
bool
CommandObjectRegexCommand::Execute
(
- CommandInterpreter &interpreter,
Args& command,
CommandReturnObject &result
)
@@ -58,7 +58,6 @@ CommandObjectRegexCommand::Execute
bool
CommandObjectRegexCommand::ExecuteRawCommandString
(
- CommandInterpreter &interpreter,
const char *command,
CommandReturnObject &result
)
@@ -90,7 +89,7 @@ CommandObjectRegexCommand::ExecuteRawCommandString
// Interpret the new command and return this as the result!
// if (m_options.verbose)
// result.GetOutputStream().Printf("%s\n", new_command.c_str());
- return interpreter.HandleCommand(new_command.c_str(), true, result);
+ return m_interpreter.HandleCommand(new_command.c_str(), true, result);
}
}
result.SetStatus(eReturnStatusFailed);
diff --git a/lldb/source/Interpreter/CommandObjectScript.cpp b/lldb/source/Interpreter/CommandObjectScript.cpp
index a9d9afca320..59b9a75086e 100644
--- a/lldb/source/Interpreter/CommandObjectScript.cpp
+++ b/lldb/source/Interpreter/CommandObjectScript.cpp
@@ -27,8 +27,9 @@ using namespace lldb_private;
// CommandObjectScript
//-------------------------------------------------------------------------
-CommandObjectScript::CommandObjectScript (ScriptLanguage script_lang) :
- CommandObject ("script",
+CommandObjectScript::CommandObjectScript (CommandInterpreter &interpreter, ScriptLanguage script_lang) :
+ CommandObject (interpreter,
+ "script",
"Pass an expression to the script interpreter for evaluation and return the results. Drop into the interactive interpreter if no expression is given.",
"script [<script-expression-for-evaluation>]"),
m_script_lang (script_lang),
@@ -43,12 +44,11 @@ CommandObjectScript::~CommandObjectScript ()
bool
CommandObjectScript::ExecuteRawCommandString
(
- CommandInterpreter &interpreter,
const char *command,
CommandReturnObject &result
)
{
- ScriptInterpreter *script_interpreter = GetInterpreter (interpreter);
+ ScriptInterpreter *script_interpreter = GetInterpreter ();
if (script_interpreter == NULL)
{
@@ -57,13 +57,13 @@ CommandObjectScript::ExecuteRawCommandString
}
if (command == NULL || command[0] == '\0') {
- script_interpreter->ExecuteInterpreterLoop (interpreter);
+ script_interpreter->ExecuteInterpreterLoop ();
result.SetStatus (eReturnStatusSuccessFinishNoResult);
return result.Succeeded();
}
// We can do better when reporting the status of one-liner script execution.
- if (script_interpreter->ExecuteOneLine (interpreter, command, &result))
+ if (script_interpreter->ExecuteOneLine (command, &result))
result.SetStatus(eReturnStatusSuccessFinishNoResult);
else
result.SetStatus(eReturnStatusFailed);
@@ -80,7 +80,6 @@ CommandObjectScript::WantsRawCommandString()
bool
CommandObjectScript::Execute
(
- CommandInterpreter &interpreter,
Args& command,
CommandReturnObject &result
)
@@ -91,18 +90,18 @@ CommandObjectScript::Execute
ScriptInterpreter *
-CommandObjectScript::GetInterpreter (CommandInterpreter &interpreter)
+CommandObjectScript::GetInterpreter ()
{
if (m_interpreter_ap.get() == NULL)
{
switch (m_script_lang)
{
case eScriptLanguagePython:
- m_interpreter_ap.reset (new ScriptInterpreterPython (interpreter));
+ m_interpreter_ap.reset (new ScriptInterpreterPython (m_interpreter));
break;
case eScriptLanguageNone:
- m_interpreter_ap.reset (new ScriptInterpreterNone (interpreter));
+ m_interpreter_ap.reset (new ScriptInterpreterNone (m_interpreter));
break;
}
}
diff --git a/lldb/source/Interpreter/CommandObjectScript.h b/lldb/source/Interpreter/CommandObjectScript.h
index d74f7b156fd..eacd3a6b3ea 100644
--- a/lldb/source/Interpreter/CommandObjectScript.h
+++ b/lldb/source/Interpreter/CommandObjectScript.h
@@ -26,7 +26,8 @@ class CommandObjectScript : public CommandObject
{
public:
- CommandObjectScript (lldb::ScriptLanguage script_lang);
+ CommandObjectScript (CommandInterpreter &interpreter,
+ lldb::ScriptLanguage script_lang);
virtual
~CommandObjectScript ();
@@ -34,17 +35,15 @@ public:
bool WantsRawCommandString();
virtual bool
- ExecuteRawCommandString (CommandInterpreter &interpreter,
- const char *command,
+ ExecuteRawCommandString (const char *command,
CommandReturnObject &result);
virtual bool
- Execute (CommandInterpreter &interpreter,
- Args& command,
+ Execute (Args& command,
CommandReturnObject &result);
ScriptInterpreter *
- GetInterpreter (CommandInterpreter &interpreter);
+ GetInterpreter ();
private:
lldb::ScriptLanguage m_script_lang;
diff --git a/lldb/source/Interpreter/Options.cpp b/lldb/source/Interpreter/Options.cpp
index 65171b6a6d7..8e7f80896f3 100644
--- a/lldb/source/Interpreter/Options.cpp
+++ b/lldb/source/Interpreter/Options.cpp
@@ -361,27 +361,21 @@ Options::OutputFormattedUsageText
void
Options::GenerateOptionUsage
(
+ CommandInterpreter &interpreter,
Stream &strm,
- CommandObject *cmd,
- const char *debugger_instance_name,
- const char *program_name)
+ CommandObject *cmd
+)
{
- lldb::SettableVariableType var_type;
- const char *screen_width_str =
- Debugger::GetSettingsController()->GetVariable ("term-width", var_type,
- debugger_instance_name).GetStringAtIndex(0);
- uint32_t screen_width = atoi (screen_width_str);
- if (screen_width == 0)
- screen_width = 80;
+ const uint32_t screen_width = interpreter.GetDebugger().GetTerminalWidth();
const lldb::OptionDefinition *full_options_table = GetDefinitions();
const uint32_t save_indent_level = strm.GetIndentLevel();
const char *name;
if (cmd)
- name = cmd->GetCommandName();
+ name = cmd->GetCommandName();
else
- name = program_name;
+ name = "";
strm.PutCString ("\nCommand Options Usage:\n");
diff --git a/lldb/source/Interpreter/ScriptInterpreter.cpp b/lldb/source/Interpreter/ScriptInterpreter.cpp
index e4b5634258a..aedeff705c2 100644
--- a/lldb/source/Interpreter/ScriptInterpreter.cpp
+++ b/lldb/source/Interpreter/ScriptInterpreter.cpp
@@ -22,7 +22,8 @@
using namespace lldb;
using namespace lldb_private;
-ScriptInterpreter::ScriptInterpreter (ScriptLanguage script_lang) :
+ScriptInterpreter::ScriptInterpreter (CommandInterpreter &interpreter, ScriptLanguage script_lang) :
+ m_interpreter (interpreter),
m_script_lang (script_lang),
m_interpreter_pty ()
{
@@ -54,7 +55,6 @@ ScriptInterpreter::GetMasterFileDescriptor ()
void
ScriptInterpreter::CollectDataForBreakpointCommandCallback
(
- CommandInterpreter &interpreter,
BreakpointOptions *bp_options,
CommandReturnObject &result
)
diff --git a/lldb/source/Interpreter/ScriptInterpreterNone.cpp b/lldb/source/Interpreter/ScriptInterpreterNone.cpp
index dad70aa93d5..3a8f98e380c 100644
--- a/lldb/source/Interpreter/ScriptInterpreterNone.cpp
+++ b/lldb/source/Interpreter/ScriptInterpreterNone.cpp
@@ -17,7 +17,7 @@ using namespace lldb;
using namespace lldb_private;
ScriptInterpreterNone::ScriptInterpreterNone (CommandInterpreter &interpreter) :
- ScriptInterpreter (eScriptLanguageNone)
+ ScriptInterpreter (interpreter, eScriptLanguageNone)
{
}
@@ -26,16 +26,16 @@ ScriptInterpreterNone::~ScriptInterpreterNone ()
}
bool
-ScriptInterpreterNone::ExecuteOneLine (CommandInterpreter &interpreter, const char *command, CommandReturnObject *)
+ScriptInterpreterNone::ExecuteOneLine (const char *command, CommandReturnObject *)
{
- interpreter.GetDebugger().GetErrorStream().PutCString ("error: there is no embedded script interpreter in this mode.\n");
+ m_interpreter.GetDebugger().GetErrorStream().PutCString ("error: there is no embedded script interpreter in this mode.\n");
return false;
}
void
-ScriptInterpreterNone::ExecuteInterpreterLoop (CommandInterpreter &interpreter)
+ScriptInterpreterNone::ExecuteInterpreterLoop ()
{
- interpreter.GetDebugger().GetErrorStream().PutCString ("error: there is no embedded script interpreter in this mode.\n");
+ m_interpreter.GetDebugger().GetErrorStream().PutCString ("error: there is no embedded script interpreter in this mode.\n");
}
diff --git a/lldb/source/Interpreter/ScriptInterpreterPython.cpp b/lldb/source/Interpreter/ScriptInterpreterPython.cpp
index 39ae32a931a..511de8fc792 100644
--- a/lldb/source/Interpreter/ScriptInterpreterPython.cpp
+++ b/lldb/source/Interpreter/ScriptInterpreterPython.cpp
@@ -144,7 +144,7 @@ _check_and_flush (FILE *stream)
}
ScriptInterpreterPython::ScriptInterpreterPython (CommandInterpreter &interpreter) :
- ScriptInterpreter (eScriptLanguagePython),
+ ScriptInterpreter (interpreter, eScriptLanguagePython),
m_compiled_module (NULL),
m_termios_valid (false)
{
@@ -254,9 +254,7 @@ ScriptInterpreterPython::~ScriptInterpreterPython ()
}
bool
-ScriptInterpreterPython::ExecuteOneLine (CommandInterpreter &interpreter,
- const char *command,
- CommandReturnObject *result = 0)
+ScriptInterpreterPython::ExecuteOneLine (const char *command, CommandReturnObject *result)
{
if (command)
{
@@ -357,11 +355,11 @@ ScriptInterpreterPython::InputReaderCallback
void
-ScriptInterpreterPython::ExecuteInterpreterLoop (CommandInterpreter &interpreter)
+ScriptInterpreterPython::ExecuteInterpreterLoop ()
{
Timer scoped_timer (__PRETTY_FUNCTION__, __PRETTY_FUNCTION__);
- Debugger &debugger = interpreter.GetDebugger();
+ Debugger &debugger = m_interpreter.GetDebugger();
// At the moment, the only time the debugger does not have an input file handle is when this is called
// directly from Python, in which case it is both dangerous and unnecessary (not to mention confusing) to
@@ -384,7 +382,7 @@ ScriptInterpreterPython::ExecuteInterpreterLoop (CommandInterpreter &interpreter
if (error.Success())
{
debugger.PushInputReader (reader_sp);
- ExecuteOneLine (interpreter, "run_python_interpreter(ConsoleDict)");
+ ExecuteOneLine ("run_python_interpreter(ConsoleDict)", NULL);
debugger.PopInputReader (reader_sp);
}
}
@@ -643,11 +641,10 @@ ScriptInterpreterPython::GenerateBreakpointOptionsCommandCallback
}
void
-ScriptInterpreterPython::CollectDataForBreakpointCommandCallback (CommandInterpreter &interpreter,
- BreakpointOptions *bp_options,
+ScriptInterpreterPython::CollectDataForBreakpointCommandCallback (BreakpointOptions *bp_options,
CommandReturnObject &result)
{
- Debugger &debugger = interpreter.GetDebugger();
+ Debugger &debugger = m_interpreter.GetDebugger();
InputReaderSP reader_sp (new InputReader (debugger));
if (reader_sp)
@@ -677,8 +674,7 @@ ScriptInterpreterPython::CollectDataForBreakpointCommandCallback (CommandInterpr
// Set a Python one-liner as the callback for the breakpoint.
void
-ScriptInterpreterPython::SetBreakpointCommandCallback (CommandInterpreter &interpreter,
- BreakpointOptions *bp_options,
+ScriptInterpreterPython::SetBreakpointCommandCallback (BreakpointOptions *bp_options,
const char *oneliner)
{
std::auto_ptr<BreakpointOptions::CommandData> data_ap(new BreakpointOptions::CommandData());
diff --git a/lldb/tools/driver/Driver.cpp b/lldb/tools/driver/Driver.cpp
index 10911da73f0..c4f4aad4753 100644
--- a/lldb/tools/driver/Driver.cpp
+++ b/lldb/tools/driver/Driver.cpp
@@ -1105,13 +1105,8 @@ Driver::MainLoop ()
if (isatty (STDIN_FILENO)
&& ::ioctl (STDIN_FILENO, TIOCGWINSZ, &window_size) == 0)
{
- char buffer[256];
-
if (window_size.ws_col > 0)
- {
- ::snprintf (buffer, sizeof(buffer), "settings set term-width %d", window_size.ws_col);
- m_debugger.HandleCommand ((const char *) buffer);
- }
+ m_debugger.SetTerminalWidth (window_size.ws_col);
}
// Since input can be redirected by the debugger, we must insert our editline
OpenPOWER on IntegriCloud