diff options
author | emaste <emaste@FreeBSD.org> | 2013-08-23 18:06:42 +0000 |
---|---|---|
committer | emaste <emaste@FreeBSD.org> | 2013-08-23 18:06:42 +0000 |
commit | 424d4dadd208e2a1e9a43c3d55f47f03ba0c4509 (patch) | |
tree | 05d762b98a499804ce690e6ce04033f1ddf4dee6 /contrib/llvm/tools/lldb/source/Interpreter/ScriptInterpreter.cpp | |
parent | cde487f27a84e02a560384f75178fddca68740f6 (diff) | |
parent | dcd15f81789e389c1cb27d264fcdddfd0a6002bd (diff) | |
download | FreeBSD-src-424d4dadd208e2a1e9a43c3d55f47f03ba0c4509.zip FreeBSD-src-424d4dadd208e2a1e9a43c3d55f47f03ba0c4509.tar.gz |
Merge lldb r188801 to contrib/llvm/tools/lldb/
Diffstat (limited to 'contrib/llvm/tools/lldb/source/Interpreter/ScriptInterpreter.cpp')
-rw-r--r-- | contrib/llvm/tools/lldb/source/Interpreter/ScriptInterpreter.cpp | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/contrib/llvm/tools/lldb/source/Interpreter/ScriptInterpreter.cpp b/contrib/llvm/tools/lldb/source/Interpreter/ScriptInterpreter.cpp new file mode 100644 index 0000000..6731473 --- /dev/null +++ b/contrib/llvm/tools/lldb/source/Interpreter/ScriptInterpreter.cpp @@ -0,0 +1,105 @@ +//===-- ScriptInterpreter.cpp -----------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "lldb/lldb-python.h" + +#include "lldb/Interpreter/ScriptInterpreter.h" + +#include <string> +#include <stdlib.h> +#include <stdio.h> + +#include "lldb/Core/Error.h" +#include "lldb/Core/Stream.h" +#include "lldb/Core/StringList.h" +#include "lldb/Interpreter/CommandReturnObject.h" +#include "lldb/Interpreter/ScriptInterpreterPython.h" +#include "lldb/Utility/PseudoTerminal.h" + +using namespace lldb; +using namespace lldb_private; + +ScriptInterpreter::ScriptInterpreter (CommandInterpreter &interpreter, lldb::ScriptLanguage script_lang) : + m_interpreter (interpreter), + m_script_lang (script_lang) +{ +} + +ScriptInterpreter::~ScriptInterpreter () +{ +} + +CommandInterpreter & +ScriptInterpreter::GetCommandInterpreter () +{ + return m_interpreter; +} + +void +ScriptInterpreter::CollectDataForBreakpointCommandCallback +( + BreakpointOptions *bp_options, + CommandReturnObject &result +) +{ + result.SetStatus (eReturnStatusFailed); + result.AppendError ("ScriptInterpreter::GetScriptCommands(StringList &) is not implemented."); +} + +void +ScriptInterpreter::CollectDataForWatchpointCommandCallback +( + WatchpointOptions *bp_options, + CommandReturnObject &result +) +{ + result.SetStatus (eReturnStatusFailed); + result.AppendError ("ScriptInterpreter::GetScriptCommands(StringList &) is not implemented."); +} + +std::string +ScriptInterpreter::LanguageToString (lldb::ScriptLanguage language) +{ + std::string return_value; + + switch (language) + { + case eScriptLanguageNone: + return_value = "None"; + break; + case eScriptLanguagePython: + return_value = "Python"; + break; + } + + return return_value; +} + +std::unique_ptr<ScriptInterpreterLocker> +ScriptInterpreter::AcquireInterpreterLock () +{ + return std::unique_ptr<ScriptInterpreterLocker>(new ScriptInterpreterLocker()); +} + +void +ScriptInterpreter::InitializeInterpreter (SWIGInitCallback python_swig_init_callback) +{ +#ifndef LLDB_DISABLE_PYTHON + ScriptInterpreterPython::InitializeInterpreter (python_swig_init_callback); +#endif // #ifndef LLDB_DISABLE_PYTHON +} + +void +ScriptInterpreter::TerminateInterpreter () +{ +#ifndef LLDB_DISABLE_PYTHON + ScriptInterpreterPython::TerminateInterpreter (); +#endif // #ifndef LLDB_DISABLE_PYTHON +} + |