aboutsummaryrefslogtreecommitdiff
path: root/source/API/SBCommandInterpreter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/API/SBCommandInterpreter.cpp')
-rw-r--r--source/API/SBCommandInterpreter.cpp999
1 files changed, 462 insertions, 537 deletions
diff --git a/source/API/SBCommandInterpreter.cpp b/source/API/SBCommandInterpreter.cpp
index dfa1709a3491..aa4953999b84 100644
--- a/source/API/SBCommandInterpreter.cpp
+++ b/source/API/SBCommandInterpreter.cpp
@@ -20,672 +20,597 @@
#include "lldb/Target/Target.h"
#include "lldb/API/SBBroadcaster.h"
-#include "lldb/API/SBCommandReturnObject.h"
#include "lldb/API/SBCommandInterpreter.h"
+#include "lldb/API/SBCommandReturnObject.h"
#include "lldb/API/SBEvent.h"
#include "lldb/API/SBExecutionContext.h"
-#include "lldb/API/SBProcess.h"
-#include "lldb/API/SBTarget.h"
#include "lldb/API/SBListener.h"
+#include "lldb/API/SBProcess.h"
#include "lldb/API/SBStream.h"
#include "lldb/API/SBStringList.h"
+#include "lldb/API/SBTarget.h"
using namespace lldb;
using namespace lldb_private;
-SBCommandInterpreterRunOptions::SBCommandInterpreterRunOptions()
-{
- m_opaque_up.reset(new CommandInterpreterRunOptions());
+SBCommandInterpreterRunOptions::SBCommandInterpreterRunOptions() {
+ m_opaque_up.reset(new CommandInterpreterRunOptions());
}
SBCommandInterpreterRunOptions::~SBCommandInterpreterRunOptions() = default;
-bool
-SBCommandInterpreterRunOptions::GetStopOnContinue () const
-{
- return m_opaque_up->GetStopOnContinue();
+bool SBCommandInterpreterRunOptions::GetStopOnContinue() const {
+ return m_opaque_up->GetStopOnContinue();
}
-void
-SBCommandInterpreterRunOptions::SetStopOnContinue (bool stop_on_continue)
-{
- m_opaque_up->SetStopOnContinue(stop_on_continue);
+void SBCommandInterpreterRunOptions::SetStopOnContinue(bool stop_on_continue) {
+ m_opaque_up->SetStopOnContinue(stop_on_continue);
}
-bool
-SBCommandInterpreterRunOptions::GetStopOnError () const
-{
- return m_opaque_up->GetStopOnError();
+bool SBCommandInterpreterRunOptions::GetStopOnError() const {
+ return m_opaque_up->GetStopOnError();
}
-void
-SBCommandInterpreterRunOptions::SetStopOnError (bool stop_on_error)
-{
- m_opaque_up->SetStopOnError(stop_on_error);
+void SBCommandInterpreterRunOptions::SetStopOnError(bool stop_on_error) {
+ m_opaque_up->SetStopOnError(stop_on_error);
}
-bool
-SBCommandInterpreterRunOptions::GetStopOnCrash () const
-{
- return m_opaque_up->GetStopOnCrash();
+bool SBCommandInterpreterRunOptions::GetStopOnCrash() const {
+ return m_opaque_up->GetStopOnCrash();
}
-void
-SBCommandInterpreterRunOptions::SetStopOnCrash (bool stop_on_crash)
-{
- m_opaque_up->SetStopOnCrash(stop_on_crash);
+void SBCommandInterpreterRunOptions::SetStopOnCrash(bool stop_on_crash) {
+ m_opaque_up->SetStopOnCrash(stop_on_crash);
}
-bool
-SBCommandInterpreterRunOptions::GetEchoCommands () const
-{
- return m_opaque_up->GetEchoCommands();
+bool SBCommandInterpreterRunOptions::GetEchoCommands() const {
+ return m_opaque_up->GetEchoCommands();
}
-void
-SBCommandInterpreterRunOptions::SetEchoCommands (bool echo_commands)
-{
- m_opaque_up->SetEchoCommands(echo_commands);
+void SBCommandInterpreterRunOptions::SetEchoCommands(bool echo_commands) {
+ m_opaque_up->SetEchoCommands(echo_commands);
}
-bool
-SBCommandInterpreterRunOptions::GetPrintResults () const
-{
- return m_opaque_up->GetPrintResults();
+bool SBCommandInterpreterRunOptions::GetPrintResults() const {
+ return m_opaque_up->GetPrintResults();
}
-void
-SBCommandInterpreterRunOptions::SetPrintResults (bool print_results)
-{
- m_opaque_up->SetPrintResults(print_results);
+void SBCommandInterpreterRunOptions::SetPrintResults(bool print_results) {
+ m_opaque_up->SetPrintResults(print_results);
}
-bool
-SBCommandInterpreterRunOptions::GetAddToHistory () const
-{
- return m_opaque_up->GetAddToHistory();
+bool SBCommandInterpreterRunOptions::GetAddToHistory() const {
+ return m_opaque_up->GetAddToHistory();
}
-void
-SBCommandInterpreterRunOptions::SetAddToHistory (bool add_to_history)
-{
- m_opaque_up->SetAddToHistory(add_to_history);
+void SBCommandInterpreterRunOptions::SetAddToHistory(bool add_to_history) {
+ m_opaque_up->SetAddToHistory(add_to_history);
}
lldb_private::CommandInterpreterRunOptions *
-SBCommandInterpreterRunOptions::get () const
-{
- return m_opaque_up.get();
+SBCommandInterpreterRunOptions::get() const {
+ return m_opaque_up.get();
}
lldb_private::CommandInterpreterRunOptions &
-SBCommandInterpreterRunOptions::ref () const
-{
- return *m_opaque_up.get();
+SBCommandInterpreterRunOptions::ref() const {
+ return *m_opaque_up.get();
}
-class CommandPluginInterfaceImplementation : public CommandObjectParsed
-{
+class CommandPluginInterfaceImplementation : public CommandObjectParsed {
public:
- CommandPluginInterfaceImplementation(CommandInterpreter &interpreter,
- const char *name,
- lldb::SBCommandPluginInterface* backend,
- const char *help = nullptr,
- const char *syntax = nullptr,
- uint32_t flags = 0) :
- CommandObjectParsed (interpreter, name, help, syntax, flags),
- m_backend(backend) {}
-
- bool
- IsRemovable() const override
- {
- return true;
- }
-
+ CommandPluginInterfaceImplementation(CommandInterpreter &interpreter,
+ const char *name,
+ lldb::SBCommandPluginInterface *backend,
+ const char *help = nullptr,
+ const char *syntax = nullptr,
+ uint32_t flags = 0)
+ : CommandObjectParsed(interpreter, name, help, syntax, flags),
+ m_backend(backend) {}
+
+ bool IsRemovable() const override { return true; }
+
protected:
- bool
- DoExecute(Args& command, CommandReturnObject &result) override
- {
- SBCommandReturnObject sb_return(&result);
- SBCommandInterpreter sb_interpreter(&m_interpreter);
- SBDebugger debugger_sb(m_interpreter.GetDebugger().shared_from_this());
- bool ret = m_backend->DoExecute (debugger_sb,(char**)command.GetArgumentVector(), sb_return);
- sb_return.Release();
- return ret;
- }
- lldb::SBCommandPluginInterface* m_backend;
+ bool DoExecute(Args &command, CommandReturnObject &result) override {
+ SBCommandReturnObject sb_return(&result);
+ SBCommandInterpreter sb_interpreter(&m_interpreter);
+ SBDebugger debugger_sb(m_interpreter.GetDebugger().shared_from_this());
+ bool ret = m_backend->DoExecute(
+ debugger_sb, (char **)command.GetArgumentVector(), sb_return);
+ sb_return.Release();
+ return ret;
+ }
+ std::shared_ptr<lldb::SBCommandPluginInterface> m_backend;
};
-SBCommandInterpreter::SBCommandInterpreter (CommandInterpreter *interpreter) :
- m_opaque_ptr (interpreter)
-{
- Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API));
+SBCommandInterpreter::SBCommandInterpreter(CommandInterpreter *interpreter)
+ : m_opaque_ptr(interpreter) {
+ Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_API));
- if (log)
- log->Printf ("SBCommandInterpreter::SBCommandInterpreter (interpreter=%p)"
- " => SBCommandInterpreter(%p)",
- static_cast<void*>(interpreter),
- static_cast<void*>(m_opaque_ptr));
+ if (log)
+ log->Printf("SBCommandInterpreter::SBCommandInterpreter (interpreter=%p)"
+ " => SBCommandInterpreter(%p)",
+ static_cast<void *>(interpreter),
+ static_cast<void *>(m_opaque_ptr));
}
-SBCommandInterpreter::SBCommandInterpreter(const SBCommandInterpreter &rhs) :
- m_opaque_ptr (rhs.m_opaque_ptr)
-{
-}
+SBCommandInterpreter::SBCommandInterpreter(const SBCommandInterpreter &rhs)
+ : m_opaque_ptr(rhs.m_opaque_ptr) {}
SBCommandInterpreter::~SBCommandInterpreter() = default;
-const SBCommandInterpreter &
-SBCommandInterpreter::operator = (const SBCommandInterpreter &rhs)
-{
- m_opaque_ptr = rhs.m_opaque_ptr;
- return *this;
+const SBCommandInterpreter &SBCommandInterpreter::
+operator=(const SBCommandInterpreter &rhs) {
+ m_opaque_ptr = rhs.m_opaque_ptr;
+ return *this;
}
-bool
-SBCommandInterpreter::IsValid() const
-{
- return m_opaque_ptr != nullptr;
-}
-
-bool
-SBCommandInterpreter::CommandExists(const char *cmd)
-{
- return (((cmd != nullptr) && IsValid()) ? m_opaque_ptr->CommandExists(cmd) : false);
-}
+bool SBCommandInterpreter::IsValid() const { return m_opaque_ptr != nullptr; }
-bool
-SBCommandInterpreter::AliasExists (const char *cmd)
-{
- return (((cmd != nullptr) && IsValid()) ? m_opaque_ptr->AliasExists(cmd) : false);
+bool SBCommandInterpreter::CommandExists(const char *cmd) {
+ return (((cmd != nullptr) && IsValid()) ? m_opaque_ptr->CommandExists(cmd)
+ : false);
}
-bool
-SBCommandInterpreter::IsActive()
-{
- return (IsValid() ? m_opaque_ptr->IsActive() : false);
+bool SBCommandInterpreter::AliasExists(const char *cmd) {
+ return (((cmd != nullptr) && IsValid()) ? m_opaque_ptr->AliasExists(cmd)
+ : false);
}
-const char *
-SBCommandInterpreter::GetIOHandlerControlSequence(char ch)
-{
- return (IsValid() ? m_opaque_ptr->GetDebugger().GetTopIOHandlerControlSequence(ch).GetCString() : nullptr);
+bool SBCommandInterpreter::IsActive() {
+ return (IsValid() ? m_opaque_ptr->IsActive() : false);
}
-lldb::ReturnStatus
-SBCommandInterpreter::HandleCommand (const char *command_line, SBCommandReturnObject &result, bool add_to_history)
-{
- SBExecutionContext sb_exe_ctx;
- return HandleCommand (command_line, sb_exe_ctx, result, add_to_history);
+const char *SBCommandInterpreter::GetIOHandlerControlSequence(char ch) {
+ return (IsValid()
+ ? m_opaque_ptr->GetDebugger()
+ .GetTopIOHandlerControlSequence(ch)
+ .GetCString()
+ : nullptr);
}
lldb::ReturnStatus
-SBCommandInterpreter::HandleCommand (const char *command_line, SBExecutionContext &override_context, SBCommandReturnObject &result, bool add_to_history)
-{
- Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API));
-
- if (log)
- log->Printf ("SBCommandInterpreter(%p)::HandleCommand (command=\"%s\", SBCommandReturnObject(%p), add_to_history=%i)",
- static_cast<void*>(m_opaque_ptr), command_line,
- static_cast<void*>(result.get()), add_to_history);
-
- ExecutionContext ctx, *ctx_ptr;
- if (override_context.get())
- {
- ctx = override_context.get()->Lock(true);
- ctx_ptr = &ctx;
+SBCommandInterpreter::HandleCommand(const char *command_line,
+ SBCommandReturnObject &result,
+ bool add_to_history) {
+ SBExecutionContext sb_exe_ctx;
+ return HandleCommand(command_line, sb_exe_ctx, result, add_to_history);
+}
+
+lldb::ReturnStatus SBCommandInterpreter::HandleCommand(
+ const char *command_line, SBExecutionContext &override_context,
+ SBCommandReturnObject &result, bool add_to_history) {
+ Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_API));
+
+ if (log)
+ log->Printf("SBCommandInterpreter(%p)::HandleCommand (command=\"%s\", "
+ "SBCommandReturnObject(%p), add_to_history=%i)",
+ static_cast<void *>(m_opaque_ptr), command_line,
+ static_cast<void *>(result.get()), add_to_history);
+
+ ExecutionContext ctx, *ctx_ptr;
+ if (override_context.get()) {
+ ctx = override_context.get()->Lock(true);
+ ctx_ptr = &ctx;
+ } else
+ ctx_ptr = nullptr;
+
+ result.Clear();
+ if (command_line && IsValid()) {
+ result.ref().SetInteractive(false);
+ m_opaque_ptr->HandleCommand(command_line,
+ add_to_history ? eLazyBoolYes : eLazyBoolNo,
+ result.ref(), ctx_ptr);
+ } else {
+ result->AppendError(
+ "SBCommandInterpreter or the command line is not valid");
+ result->SetStatus(eReturnStatusFailed);
+ }
+
+ // We need to get the value again, in case the command disabled the log!
+ log = lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_API);
+ if (log) {
+ SBStream sstr;
+ result.GetDescription(sstr);
+ log->Printf("SBCommandInterpreter(%p)::HandleCommand (command=\"%s\", "
+ "SBCommandReturnObject(%p): %s, add_to_history=%i) => %i",
+ static_cast<void *>(m_opaque_ptr), command_line,
+ static_cast<void *>(result.get()), sstr.GetData(),
+ add_to_history, result.GetStatus());
+ }
+
+ return result.GetStatus();
+}
+
+void SBCommandInterpreter::HandleCommandsFromFile(
+ lldb::SBFileSpec &file, lldb::SBExecutionContext &override_context,
+ lldb::SBCommandInterpreterRunOptions &options,
+ lldb::SBCommandReturnObject result) {
+ Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_API));
+
+ if (log) {
+ SBStream s;
+ file.GetDescription(s);
+ log->Printf("SBCommandInterpreter(%p)::HandleCommandsFromFile "
+ "(file=\"%s\", SBCommandReturnObject(%p))",
+ static_cast<void *>(m_opaque_ptr), s.GetData(),
+ static_cast<void *>(result.get()));
+ }
+
+ if (!IsValid()) {
+ result->AppendError("SBCommandInterpreter is not valid.");
+ result->SetStatus(eReturnStatusFailed);
+ return;
+ }
+
+ if (!file.IsValid()) {
+ SBStream s;
+ file.GetDescription(s);
+ result->AppendErrorWithFormat("File is not valid: %s.", s.GetData());
+ result->SetStatus(eReturnStatusFailed);
+ }
+
+ FileSpec tmp_spec = file.ref();
+ ExecutionContext ctx, *ctx_ptr;
+ if (override_context.get()) {
+ ctx = override_context.get()->Lock(true);
+ ctx_ptr = &ctx;
+ } else
+ ctx_ptr = nullptr;
+
+ m_opaque_ptr->HandleCommandsFromFile(tmp_spec, ctx_ptr, options.ref(),
+ result.ref());
+}
+
+int SBCommandInterpreter::HandleCompletion(
+ const char *current_line, const char *cursor, const char *last_char,
+ int match_start_point, int max_return_elements, SBStringList &matches) {
+ Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_API));
+ int num_completions = 0;
+
+ // Sanity check the arguments that are passed in:
+ // cursor & last_char have to be within the current_line.
+ if (current_line == nullptr || cursor == nullptr || last_char == nullptr)
+ return 0;
+
+ if (cursor < current_line || last_char < current_line)
+ return 0;
+
+ size_t current_line_size = strlen(current_line);
+ if (cursor - current_line > static_cast<ptrdiff_t>(current_line_size) ||
+ last_char - current_line > static_cast<ptrdiff_t>(current_line_size))
+ return 0;
+
+ if (log)
+ log->Printf("SBCommandInterpreter(%p)::HandleCompletion "
+ "(current_line=\"%s\", cursor at: %" PRId64
+ ", last char at: %" PRId64
+ ", match_start_point: %d, max_return_elements: %d)",
+ static_cast<void *>(m_opaque_ptr), current_line,
+ static_cast<uint64_t>(cursor - current_line),
+ static_cast<uint64_t>(last_char - current_line),
+ match_start_point, max_return_elements);
+
+ if (IsValid()) {
+ lldb_private::StringList lldb_matches;
+ num_completions = m_opaque_ptr->HandleCompletion(
+ current_line, cursor, last_char, match_start_point, max_return_elements,
+ lldb_matches);
+
+ SBStringList temp_list(&lldb_matches);
+ matches.AppendList(temp_list);
+ }
+ if (log)
+ log->Printf(
+ "SBCommandInterpreter(%p)::HandleCompletion - Found %d completions.",
+ static_cast<void *>(m_opaque_ptr), num_completions);
+
+ return num_completions;
+}
+
+int SBCommandInterpreter::HandleCompletion(const char *current_line,
+ uint32_t cursor_pos,
+ int match_start_point,
+ int max_return_elements,
+ lldb::SBStringList &matches) {
+ const char *cursor = current_line + cursor_pos;
+ const char *last_char = current_line + strlen(current_line);
+ return HandleCompletion(current_line, cursor, last_char, match_start_point,
+ max_return_elements, matches);
+}
+
+bool SBCommandInterpreter::HasCommands() {
+ return (IsValid() ? m_opaque_ptr->HasCommands() : false);
+}
+
+bool SBCommandInterpreter::HasAliases() {
+ return (IsValid() ? m_opaque_ptr->HasAliases() : false);
+}
+
+bool SBCommandInterpreter::HasAliasOptions() {
+ return (IsValid() ? m_opaque_ptr->HasAliasOptions() : false);
+}
+
+SBProcess SBCommandInterpreter::GetProcess() {
+ SBProcess sb_process;
+ ProcessSP process_sp;
+ if (IsValid()) {
+ TargetSP target_sp(m_opaque_ptr->GetDebugger().GetSelectedTarget());
+ if (target_sp) {
+ std::lock_guard<std::recursive_mutex> guard(target_sp->GetAPIMutex());
+ process_sp = target_sp->GetProcessSP();
+ sb_process.SetSP(process_sp);
}
- else
- ctx_ptr = nullptr;
-
+ }
+ Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_API));
- result.Clear();
- if (command_line && IsValid())
- {
- result.ref().SetInteractive(false);
- m_opaque_ptr->HandleCommand (command_line, add_to_history ? eLazyBoolYes : eLazyBoolNo, result.ref(), ctx_ptr);
- }
- else
- {
- result->AppendError ("SBCommandInterpreter or the command line is not valid");
- result->SetStatus (eReturnStatusFailed);
- }
+ if (log)
+ log->Printf("SBCommandInterpreter(%p)::GetProcess () => SBProcess(%p)",
+ static_cast<void *>(m_opaque_ptr),
+ static_cast<void *>(process_sp.get()));
- // We need to get the value again, in case the command disabled the log!
- log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API);
- if (log)
- {
- SBStream sstr;
- result.GetDescription (sstr);
- log->Printf ("SBCommandInterpreter(%p)::HandleCommand (command=\"%s\", SBCommandReturnObject(%p): %s, add_to_history=%i) => %i",
- static_cast<void*>(m_opaque_ptr), command_line,
- static_cast<void*>(result.get()), sstr.GetData(),
- add_to_history, result.GetStatus());
- }
-
- return result.GetStatus();
+ return sb_process;
}
-void
-SBCommandInterpreter::HandleCommandsFromFile (lldb::SBFileSpec &file,
- lldb::SBExecutionContext &override_context,
- lldb::SBCommandInterpreterRunOptions &options,
- lldb::SBCommandReturnObject result)
-{
- Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API));
-
- if (log)
- {
- SBStream s;
- file.GetDescription (s);
- log->Printf ("SBCommandInterpreter(%p)::HandleCommandsFromFile (file=\"%s\", SBCommandReturnObject(%p))",
- static_cast<void*>(m_opaque_ptr), s.GetData(),
- static_cast<void*>(result.get()));
- }
-
- if (!IsValid())
- {
- result->AppendError ("SBCommandInterpreter is not valid.");
- result->SetStatus (eReturnStatusFailed);
- return;
- }
-
- if (!file.IsValid())
- {
- SBStream s;
- file.GetDescription (s);
- result->AppendErrorWithFormat ("File is not valid: %s.", s.GetData());
- result->SetStatus (eReturnStatusFailed);
- }
-
- FileSpec tmp_spec = file.ref();
- ExecutionContext ctx, *ctx_ptr;
- if (override_context.get())
- {
- ctx = override_context.get()->Lock(true);
- ctx_ptr = &ctx;
- }
- else
- ctx_ptr = nullptr;
-
- m_opaque_ptr->HandleCommandsFromFile (tmp_spec, ctx_ptr, options.ref(), result.ref());
-}
-
-int
-SBCommandInterpreter::HandleCompletion (const char *current_line,
- const char *cursor,
- const char *last_char,
- int match_start_point,
- int max_return_elements,
- SBStringList &matches)
-{
- Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API));
- int num_completions = 0;
-
- // Sanity check the arguments that are passed in:
- // cursor & last_char have to be within the current_line.
- if (current_line == nullptr || cursor == nullptr || last_char == nullptr)
- return 0;
-
- if (cursor < current_line || last_char < current_line)
- return 0;
-
- size_t current_line_size = strlen (current_line);
- if (cursor - current_line > static_cast<ptrdiff_t>(current_line_size) ||
- last_char - current_line > static_cast<ptrdiff_t>(current_line_size))
- return 0;
-
- if (log)
- log->Printf ("SBCommandInterpreter(%p)::HandleCompletion (current_line=\"%s\", cursor at: %" PRId64 ", last char at: %" PRId64 ", match_start_point: %d, max_return_elements: %d)",
- static_cast<void*>(m_opaque_ptr), current_line,
- static_cast<uint64_t>(cursor - current_line),
- static_cast<uint64_t>(last_char - current_line),
- match_start_point, max_return_elements);
-
- if (IsValid())
- {
- lldb_private::StringList lldb_matches;
- num_completions = m_opaque_ptr->HandleCompletion(current_line, cursor, last_char, match_start_point,
- max_return_elements, lldb_matches);
-
- SBStringList temp_list (&lldb_matches);
- matches.AppendList (temp_list);
- }
- if (log)
- log->Printf ("SBCommandInterpreter(%p)::HandleCompletion - Found %d completions.",
- static_cast<void*>(m_opaque_ptr), num_completions);
-
- return num_completions;
-}
-
-int
-SBCommandInterpreter::HandleCompletion (const char *current_line,
- uint32_t cursor_pos,
- int match_start_point,
- int max_return_elements,
- lldb::SBStringList &matches)
-{
- const char *cursor = current_line + cursor_pos;
- const char *last_char = current_line + strlen (current_line);
- return HandleCompletion (current_line, cursor, last_char, match_start_point, max_return_elements, matches);
-}
-
-bool
-SBCommandInterpreter::HasCommands()
-{
- return (IsValid() ? m_opaque_ptr->HasCommands() : false);
-}
-
-bool
-SBCommandInterpreter::HasAliases()
-{
- return (IsValid() ? m_opaque_ptr->HasAliases() : false);
-}
-
-bool
-SBCommandInterpreter::HasAliasOptions()
-{
- return (IsValid() ? m_opaque_ptr->HasAliasOptions() : false);
-}
-
-SBProcess
-SBCommandInterpreter::GetProcess ()
-{
- SBProcess sb_process;
- ProcessSP process_sp;
- if (IsValid())
- {
- TargetSP target_sp(m_opaque_ptr->GetDebugger().GetSelectedTarget());
- if (target_sp)
- {
- std::lock_guard<std::recursive_mutex> guard(target_sp->GetAPIMutex());
- process_sp = target_sp->GetProcessSP();
- sb_process.SetSP(process_sp);
- }
- }
- Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API));
+SBDebugger SBCommandInterpreter::GetDebugger() {
+ SBDebugger sb_debugger;
+ if (IsValid())
+ sb_debugger.reset(m_opaque_ptr->GetDebugger().shared_from_this());
+ Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_API));
- if (log)
- log->Printf ("SBCommandInterpreter(%p)::GetProcess () => SBProcess(%p)",
- static_cast<void*>(m_opaque_ptr),
- static_cast<void*>(process_sp.get()));
+ if (log)
+ log->Printf("SBCommandInterpreter(%p)::GetDebugger () => SBDebugger(%p)",
+ static_cast<void *>(m_opaque_ptr),
+ static_cast<void *>(sb_debugger.get()));
- return sb_process;
+ return sb_debugger;
}
-SBDebugger
-SBCommandInterpreter::GetDebugger ()
-{
- SBDebugger sb_debugger;
- if (IsValid())
- sb_debugger.reset(m_opaque_ptr->GetDebugger().shared_from_this());
- Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API));
-
- if (log)
- log->Printf ("SBCommandInterpreter(%p)::GetDebugger () => SBDebugger(%p)",
- static_cast<void*>(m_opaque_ptr),
- static_cast<void*>(sb_debugger.get()));
-
- return sb_debugger;
+bool SBCommandInterpreter::GetPromptOnQuit() {
+ return (IsValid() ? m_opaque_ptr->GetPromptOnQuit() : false);
}
-bool
-SBCommandInterpreter::GetPromptOnQuit()
-{
- return (IsValid() ? m_opaque_ptr->GetPromptOnQuit() : false);
+void SBCommandInterpreter::SetPromptOnQuit(bool b) {
+ if (IsValid())
+ m_opaque_ptr->SetPromptOnQuit(b);
}
-void
-SBCommandInterpreter::SetPromptOnQuit (bool b)
-{
- if (IsValid())
- m_opaque_ptr->SetPromptOnQuit(b);
+void SBCommandInterpreter::ResolveCommand(const char *command_line,
+ SBCommandReturnObject &result) {
+ result.Clear();
+ if (command_line && IsValid()) {
+ m_opaque_ptr->ResolveCommand(command_line, result.ref());
+ } else {
+ result->AppendError(
+ "SBCommandInterpreter or the command line is not valid");
+ result->SetStatus(eReturnStatusFailed);
+ }
}
-void
-SBCommandInterpreter::ResolveCommand(const char *command_line, SBCommandReturnObject &result)
-{
- result.Clear();
- if (command_line && IsValid())
- {
- m_opaque_ptr->ResolveCommand(command_line, result.ref());
- }
- else
- {
- result->AppendError("SBCommandInterpreter or the command line is not valid");
- result->SetStatus(eReturnStatusFailed);
- }
-}
+CommandInterpreter *SBCommandInterpreter::get() { return m_opaque_ptr; }
-CommandInterpreter *
-SBCommandInterpreter::get ()
-{
- return m_opaque_ptr;
+CommandInterpreter &SBCommandInterpreter::ref() {
+ assert(m_opaque_ptr);
+ return *m_opaque_ptr;
}
-CommandInterpreter &
-SBCommandInterpreter::ref ()
-{
- assert (m_opaque_ptr);
- return *m_opaque_ptr;
+void SBCommandInterpreter::reset(
+ lldb_private::CommandInterpreter *interpreter) {
+ m_opaque_ptr = interpreter;
}
-void
-SBCommandInterpreter::reset (lldb_private::CommandInterpreter *interpreter)
-{
- m_opaque_ptr = interpreter;
+void SBCommandInterpreter::SourceInitFileInHomeDirectory(
+ SBCommandReturnObject &result) {
+ result.Clear();
+ if (IsValid()) {
+ TargetSP target_sp(m_opaque_ptr->GetDebugger().GetSelectedTarget());
+ std::unique_lock<std::recursive_mutex> lock;
+ if (target_sp)
+ lock = std::unique_lock<std::recursive_mutex>(target_sp->GetAPIMutex());
+ m_opaque_ptr->SourceInitFile(false, result.ref());
+ } else {
+ result->AppendError("SBCommandInterpreter is not valid");
+ result->SetStatus(eReturnStatusFailed);
+ }
+ Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_API));
+
+ if (log)
+ log->Printf("SBCommandInterpreter(%p)::SourceInitFileInHomeDirectory "
+ "(&SBCommandReturnObject(%p))",
+ static_cast<void *>(m_opaque_ptr),
+ static_cast<void *>(result.get()));
}
-void
-SBCommandInterpreter::SourceInitFileInHomeDirectory (SBCommandReturnObject &result)
-{
- result.Clear();
- if (IsValid())
- {
- TargetSP target_sp(m_opaque_ptr->GetDebugger().GetSelectedTarget());
- std::unique_lock<std::recursive_mutex> lock;
- if (target_sp)
- lock = std::unique_lock<std::recursive_mutex>(target_sp->GetAPIMutex());
- m_opaque_ptr->SourceInitFile (false, result.ref());
- }
- else
- {
- result->AppendError ("SBCommandInterpreter is not valid");
- result->SetStatus (eReturnStatusFailed);
- }
- Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API));
-
- if (log)
- log->Printf ("SBCommandInterpreter(%p)::SourceInitFileInHomeDirectory (&SBCommandReturnObject(%p))",
- static_cast<void*>(m_opaque_ptr),
- static_cast<void*>(result.get()));
-}
-
-void
-SBCommandInterpreter::SourceInitFileInCurrentWorkingDirectory (SBCommandReturnObject &result)
-{
- result.Clear();
- if (IsValid())
- {
- TargetSP target_sp(m_opaque_ptr->GetDebugger().GetSelectedTarget());
- std::unique_lock<std::recursive_mutex> lock;
- if (target_sp)
- lock = std::unique_lock<std::recursive_mutex>(target_sp->GetAPIMutex());
- m_opaque_ptr->SourceInitFile (true, result.ref());
- }
- else
- {
- result->AppendError ("SBCommandInterpreter is not valid");
- result->SetStatus (eReturnStatusFailed);
- }
- Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API));
+void SBCommandInterpreter::SourceInitFileInCurrentWorkingDirectory(
+ SBCommandReturnObject &result) {
+ result.Clear();
+ if (IsValid()) {
+ TargetSP target_sp(m_opaque_ptr->GetDebugger().GetSelectedTarget());
+ std::unique_lock<std::recursive_mutex> lock;
+ if (target_sp)
+ lock = std::unique_lock<std::recursive_mutex>(target_sp->GetAPIMutex());
+ m_opaque_ptr->SourceInitFile(true, result.ref());
+ } else {
+ result->AppendError("SBCommandInterpreter is not valid");
+ result->SetStatus(eReturnStatusFailed);
+ }
+ Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_API));
- if (log)
- log->Printf ("SBCommandInterpreter(%p)::SourceInitFileInCurrentWorkingDirectory (&SBCommandReturnObject(%p))",
- static_cast<void*>(m_opaque_ptr),
- static_cast<void*>(result.get()));
+ if (log)
+ log->Printf(
+ "SBCommandInterpreter(%p)::SourceInitFileInCurrentWorkingDirectory "
+ "(&SBCommandReturnObject(%p))",
+ static_cast<void *>(m_opaque_ptr), static_cast<void *>(result.get()));
}
-SBBroadcaster
-SBCommandInterpreter::GetBroadcaster ()
-{
- Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API));
+SBBroadcaster SBCommandInterpreter::GetBroadcaster() {
+ Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_API));
- SBBroadcaster broadcaster (m_opaque_ptr, false);
+ SBBroadcaster broadcaster(m_opaque_ptr, false);
- if (log)
- log->Printf ("SBCommandInterpreter(%p)::GetBroadcaster() => SBBroadcaster(%p)",
- static_cast<void*>(m_opaque_ptr), static_cast<void*>(broadcaster.get()));
+ if (log)
+ log->Printf(
+ "SBCommandInterpreter(%p)::GetBroadcaster() => SBBroadcaster(%p)",
+ static_cast<void *>(m_opaque_ptr),
+ static_cast<void *>(broadcaster.get()));
- return broadcaster;
+ return broadcaster;
}
-const char *
-SBCommandInterpreter::GetBroadcasterClass ()
-{
- return CommandInterpreter::GetStaticBroadcasterClass().AsCString();
+const char *SBCommandInterpreter::GetBroadcasterClass() {
+ return CommandInterpreter::GetStaticBroadcasterClass().AsCString();
}
-const char *
-SBCommandInterpreter::GetArgumentTypeAsCString (const lldb::CommandArgumentType arg_type)
-{
- return CommandObject::GetArgumentTypeAsCString (arg_type);
+const char *SBCommandInterpreter::GetArgumentTypeAsCString(
+ const lldb::CommandArgumentType arg_type) {
+ return CommandObject::GetArgumentTypeAsCString(arg_type);
}
-const char *
-SBCommandInterpreter::GetArgumentDescriptionAsCString (const lldb::CommandArgumentType arg_type)
-{
- return CommandObject::GetArgumentDescriptionAsCString (arg_type);
+const char *SBCommandInterpreter::GetArgumentDescriptionAsCString(
+ const lldb::CommandArgumentType arg_type) {
+ return CommandObject::GetArgumentDescriptionAsCString(arg_type);
}
-
-bool
-SBCommandInterpreter::EventIsCommandInterpreterEvent (const lldb::SBEvent &event)
-{
- return event.GetBroadcasterClass() == SBCommandInterpreter::GetBroadcasterClass();
+
+bool SBCommandInterpreter::EventIsCommandInterpreterEvent(
+ const lldb::SBEvent &event) {
+ return event.GetBroadcasterClass() ==
+ SBCommandInterpreter::GetBroadcasterClass();
+}
+
+bool SBCommandInterpreter::SetCommandOverrideCallback(
+ const char *command_name, lldb::CommandOverrideCallback callback,
+ void *baton) {
+ if (command_name && command_name[0] && IsValid()) {
+ llvm::StringRef command_name_str = command_name;
+ CommandObject *cmd_obj =
+ m_opaque_ptr->GetCommandObjectForCommand(command_name_str);
+ if (cmd_obj) {
+ assert(command_name_str.empty());
+ cmd_obj->SetOverrideCallback(callback, baton);
+ return true;
+ }
+ }
+ return false;
}
-bool
-SBCommandInterpreter::SetCommandOverrideCallback (const char *command_name,
- lldb::CommandOverrideCallback callback,
- void *baton)
-{
- if (command_name && command_name[0] && IsValid())
- {
- std::string command_name_str (command_name);
- CommandObject *cmd_obj = m_opaque_ptr->GetCommandObjectForCommand(command_name_str);
- if (cmd_obj)
- {
- assert(command_name_str.empty());
- cmd_obj->SetOverrideCallback (callback, baton);
- return true;
- }
- }
- return false;
+lldb::SBCommand SBCommandInterpreter::AddMultiwordCommand(const char *name,
+ const char *help) {
+ CommandObjectMultiword *new_command =
+ new CommandObjectMultiword(*m_opaque_ptr, name, help);
+ new_command->SetRemovable(true);
+ lldb::CommandObjectSP new_command_sp(new_command);
+ if (new_command_sp &&
+ m_opaque_ptr->AddUserCommand(name, new_command_sp, true))
+ return lldb::SBCommand(new_command_sp);
+ return lldb::SBCommand();
}
-lldb::SBCommand
-SBCommandInterpreter::AddMultiwordCommand (const char* name, const char* help)
-{
- CommandObjectMultiword *new_command = new CommandObjectMultiword(*m_opaque_ptr, name, help);
- new_command->SetRemovable (true);
- lldb::CommandObjectSP new_command_sp(new_command);
- if (new_command_sp && m_opaque_ptr->AddUserCommand(name, new_command_sp, true))
- return lldb::SBCommand(new_command_sp);
- return lldb::SBCommand();
+lldb::SBCommand SBCommandInterpreter::AddCommand(
+ const char *name, lldb::SBCommandPluginInterface *impl, const char *help) {
+ lldb::CommandObjectSP new_command_sp;
+ new_command_sp.reset(new CommandPluginInterfaceImplementation(
+ *m_opaque_ptr, name, impl, help));
+
+ if (new_command_sp &&
+ m_opaque_ptr->AddUserCommand(name, new_command_sp, true))
+ return lldb::SBCommand(new_command_sp);
+ return lldb::SBCommand();
}
lldb::SBCommand
-SBCommandInterpreter::AddCommand (const char* name, lldb::SBCommandPluginInterface* impl, const char* help)
-{
- lldb::CommandObjectSP new_command_sp;
- new_command_sp.reset(new CommandPluginInterfaceImplementation(*m_opaque_ptr,name, impl, help));
+SBCommandInterpreter::AddCommand(const char *name,
+ lldb::SBCommandPluginInterface *impl,
+ const char *help, const char *syntax) {
+ lldb::CommandObjectSP new_command_sp;
+ new_command_sp.reset(new CommandPluginInterfaceImplementation(
+ *m_opaque_ptr, name, impl, help, syntax));
- if (new_command_sp && m_opaque_ptr->AddUserCommand(name, new_command_sp, true))
- return lldb::SBCommand(new_command_sp);
- return lldb::SBCommand();
+ if (new_command_sp &&
+ m_opaque_ptr->AddUserCommand(name, new_command_sp, true))
+ return lldb::SBCommand(new_command_sp);
+ return lldb::SBCommand();
}
SBCommand::SBCommand() = default;
-SBCommand::SBCommand (lldb::CommandObjectSP cmd_sp) : m_opaque_sp (cmd_sp)
-{}
+SBCommand::SBCommand(lldb::CommandObjectSP cmd_sp) : m_opaque_sp(cmd_sp) {}
-bool
-SBCommand::IsValid()
-{
- return m_opaque_sp.get() != nullptr;
-}
+bool SBCommand::IsValid() { return m_opaque_sp.get() != nullptr; }
-const char*
-SBCommand::GetName()
-{
- return (IsValid() ? m_opaque_sp->GetCommandName() : nullptr);
+const char *SBCommand::GetName() {
+ return (IsValid() ? ConstString(m_opaque_sp->GetCommandName()).AsCString() : nullptr);
}
-const char*
-SBCommand::GetHelp()
-{
- return (IsValid() ? m_opaque_sp->GetHelp() : nullptr);
+const char *SBCommand::GetHelp() {
+ return (IsValid() ? ConstString(m_opaque_sp->GetHelp()).AsCString()
+ : nullptr);
}
-const char*
-SBCommand::GetHelpLong()
-{
- return (IsValid() ? m_opaque_sp->GetHelpLong() : nullptr);
+const char *SBCommand::GetHelpLong() {
+ return (IsValid() ? ConstString(m_opaque_sp->GetHelpLong()).AsCString()
+ : nullptr);
}
-void
-SBCommand::SetHelp (const char* help)
-{
- if (IsValid())
- m_opaque_sp->SetHelp(help);
+void SBCommand::SetHelp(const char *help) {
+ if (IsValid())
+ m_opaque_sp->SetHelp(help);
}
-void
-SBCommand::SetHelpLong (const char* help)
-{
- if (IsValid())
- m_opaque_sp->SetHelpLong(help);
+void SBCommand::SetHelpLong(const char *help) {
+ if (IsValid())
+ m_opaque_sp->SetHelpLong(help);
}
-lldb::SBCommand
-SBCommand::AddMultiwordCommand (const char* name, const char* help)
-{
- if (!IsValid ())
- return lldb::SBCommand();
- if (!m_opaque_sp->IsMultiwordObject())
- return lldb::SBCommand();
- CommandObjectMultiword *new_command = new CommandObjectMultiword(m_opaque_sp->GetCommandInterpreter(),name,help);
- new_command->SetRemovable (true);
- lldb::CommandObjectSP new_command_sp(new_command);
- if (new_command_sp && m_opaque_sp->LoadSubCommand(name,new_command_sp))
- return lldb::SBCommand(new_command_sp);
+lldb::SBCommand SBCommand::AddMultiwordCommand(const char *name,
+ const char *help) {
+ if (!IsValid())
return lldb::SBCommand();
-}
-
-lldb::SBCommand
-SBCommand::AddCommand (const char* name, lldb::SBCommandPluginInterface *impl, const char* help)
-{
- if (!IsValid ())
- return lldb::SBCommand();
- if (!m_opaque_sp->IsMultiwordObject())
- return lldb::SBCommand();
- lldb::CommandObjectSP new_command_sp;
- new_command_sp.reset(new CommandPluginInterfaceImplementation(m_opaque_sp->GetCommandInterpreter(),name,impl,help));
- if (new_command_sp && m_opaque_sp->LoadSubCommand(name,new_command_sp))
- return lldb::SBCommand(new_command_sp);
+ if (!m_opaque_sp->IsMultiwordObject())
+ return lldb::SBCommand();
+ CommandObjectMultiword *new_command = new CommandObjectMultiword(
+ m_opaque_sp->GetCommandInterpreter(), name, help);
+ new_command->SetRemovable(true);
+ lldb::CommandObjectSP new_command_sp(new_command);
+ if (new_command_sp && m_opaque_sp->LoadSubCommand(name, new_command_sp))
+ return lldb::SBCommand(new_command_sp);
+ return lldb::SBCommand();
+}
+
+lldb::SBCommand SBCommand::AddCommand(const char *name,
+ lldb::SBCommandPluginInterface *impl,
+ const char *help) {
+ if (!IsValid())
+ return lldb::SBCommand();
+ if (!m_opaque_sp->IsMultiwordObject())
+ return lldb::SBCommand();
+ lldb::CommandObjectSP new_command_sp;
+ new_command_sp.reset(new CommandPluginInterfaceImplementation(
+ m_opaque_sp->GetCommandInterpreter(), name, impl, help));
+ if (new_command_sp && m_opaque_sp->LoadSubCommand(name, new_command_sp))
+ return lldb::SBCommand(new_command_sp);
+ return lldb::SBCommand();
+}
+
+lldb::SBCommand SBCommand::AddCommand(const char *name,
+ lldb::SBCommandPluginInterface *impl,
+ const char *help, const char *syntax) {
+ if (!IsValid())
+ return lldb::SBCommand();
+ if (!m_opaque_sp->IsMultiwordObject())
return lldb::SBCommand();
+ lldb::CommandObjectSP new_command_sp;
+ new_command_sp.reset(new CommandPluginInterfaceImplementation(
+ m_opaque_sp->GetCommandInterpreter(), name, impl, help, syntax));
+ if (new_command_sp && m_opaque_sp->LoadSubCommand(name, new_command_sp))
+ return lldb::SBCommand(new_command_sp);
+ return lldb::SBCommand();
}
-uint32_t
-SBCommand::GetFlags ()
-{
- return (IsValid() ? m_opaque_sp->GetFlags().Get() : 0);
+uint32_t SBCommand::GetFlags() {
+ return (IsValid() ? m_opaque_sp->GetFlags().Get() : 0);
}
-void
-SBCommand::SetFlags (uint32_t flags)
-{
- if (IsValid())
- m_opaque_sp->GetFlags().Set(flags);
+void SBCommand::SetFlags(uint32_t flags) {
+ if (IsValid())
+ m_opaque_sp->GetFlags().Set(flags);
}