diff options
Diffstat (limited to 'contrib/llvm/tools/lldb/source/Interpreter/CommandObjectScript.cpp')
-rw-r--r-- | contrib/llvm/tools/lldb/source/Interpreter/CommandObjectScript.cpp | 96 |
1 files changed, 46 insertions, 50 deletions
diff --git a/contrib/llvm/tools/lldb/source/Interpreter/CommandObjectScript.cpp b/contrib/llvm/tools/lldb/source/Interpreter/CommandObjectScript.cpp index e7de490..0891298 100644 --- a/contrib/llvm/tools/lldb/source/Interpreter/CommandObjectScript.cpp +++ b/contrib/llvm/tools/lldb/source/Interpreter/CommandObjectScript.cpp @@ -30,61 +30,57 @@ using namespace lldb_private; // CommandObjectScript //------------------------------------------------------------------------- -CommandObjectScript::CommandObjectScript(CommandInterpreter &interpreter, ScriptLanguage script_lang) - : CommandObjectRaw(interpreter, "script", "Invoke the script interpreter with provided code and display any " - "results. Start the interactive interpreter if no code is supplied.", - "script [<script-code>]") -{ -} +CommandObjectScript::CommandObjectScript(CommandInterpreter &interpreter, + ScriptLanguage script_lang) + : CommandObjectRaw( + interpreter, "script", + "Invoke the script interpreter with provided code and display any " + "results. Start the interactive interpreter if no code is supplied.", + "script [<script-code>]") {} -CommandObjectScript::~CommandObjectScript () -{ -} +CommandObjectScript::~CommandObjectScript() {} -bool -CommandObjectScript::DoExecute -( - const char *command, - CommandReturnObject &result -) -{ +bool CommandObjectScript::DoExecute(const char *command, + CommandReturnObject &result) { #ifdef LLDB_DISABLE_PYTHON - // if we ever support languages other than Python this simple #ifdef won't work - result.AppendError("your copy of LLDB does not support scripting."); - result.SetStatus (eReturnStatusFailed); - return false; + // if we ever support languages other than Python this simple #ifdef won't + // work + result.AppendError("your copy of LLDB does not support scripting."); + result.SetStatus(eReturnStatusFailed); + return false; #else - if (m_interpreter.GetDebugger().GetScriptLanguage() == lldb::eScriptLanguageNone) - { - result.AppendError("the script-lang setting is set to none - scripting not available"); - result.SetStatus (eReturnStatusFailed); - return false; - } - - ScriptInterpreter *script_interpreter = m_interpreter.GetScriptInterpreter (); - - if (script_interpreter == nullptr) - { - result.AppendError("no script interpreter"); - result.SetStatus (eReturnStatusFailed); - return false; - } - - DataVisualization::ForceUpdate(); // script might change Python code we use for formatting.. make sure we keep up to date with it - - if (command == nullptr || command[0] == '\0') - { - 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 (command, &result)) - result.SetStatus(eReturnStatusSuccessFinishNoResult); - else - result.SetStatus(eReturnStatusFailed); + if (m_interpreter.GetDebugger().GetScriptLanguage() == + lldb::eScriptLanguageNone) { + result.AppendError( + "the script-lang setting is set to none - scripting not available"); + result.SetStatus(eReturnStatusFailed); + return false; + } + + ScriptInterpreter *script_interpreter = m_interpreter.GetScriptInterpreter(); + if (script_interpreter == nullptr) { + result.AppendError("no script interpreter"); + result.SetStatus(eReturnStatusFailed); + return false; + } + + DataVisualization::ForceUpdate(); // script might change Python code we use + // for formatting.. make sure we keep up to + // date with it + + if (command == nullptr || command[0] == '\0') { + 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(command, &result)) + result.SetStatus(eReturnStatusSuccessFinishNoResult); + else + result.SetStatus(eReturnStatusFailed); + + return result.Succeeded(); #endif } |