1 //===-- ScriptInterpreter.cpp -----------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #include "lldb/lldb-python.h"
12 #include "lldb/Interpreter/ScriptInterpreter.h"
18 #include "lldb/Core/Error.h"
19 #include "lldb/Core/Stream.h"
20 #include "lldb/Core/StringList.h"
21 #include "lldb/Interpreter/CommandReturnObject.h"
22 #include "lldb/Interpreter/ScriptInterpreterPython.h"
23 #include "lldb/Utility/PseudoTerminal.h"
26 using namespace lldb_private;
28 ScriptInterpreter::ScriptInterpreter (CommandInterpreter &interpreter, lldb::ScriptLanguage script_lang) :
29 m_interpreter (interpreter),
30 m_script_lang (script_lang)
34 ScriptInterpreter::~ScriptInterpreter ()
39 ScriptInterpreter::GetCommandInterpreter ()
45 ScriptInterpreter::CollectDataForBreakpointCommandCallback
47 BreakpointOptions *bp_options,
48 CommandReturnObject &result
51 result.SetStatus (eReturnStatusFailed);
52 result.AppendError ("ScriptInterpreter::GetScriptCommands(StringList &) is not implemented.");
56 ScriptInterpreter::CollectDataForWatchpointCommandCallback
58 WatchpointOptions *bp_options,
59 CommandReturnObject &result
62 result.SetStatus (eReturnStatusFailed);
63 result.AppendError ("ScriptInterpreter::GetScriptCommands(StringList &) is not implemented.");
67 ScriptInterpreter::LanguageToString (lldb::ScriptLanguage language)
69 std::string return_value;
73 case eScriptLanguageNone:
74 return_value = "None";
76 case eScriptLanguagePython:
77 return_value = "Python";
84 std::unique_ptr<ScriptInterpreterLocker>
85 ScriptInterpreter::AcquireInterpreterLock ()
87 return std::unique_ptr<ScriptInterpreterLocker>(new ScriptInterpreterLocker());
91 ScriptInterpreter::InitializeInterpreter (SWIGInitCallback python_swig_init_callback)
93 #ifndef LLDB_DISABLE_PYTHON
94 ScriptInterpreterPython::InitializeInterpreter (python_swig_init_callback);
95 #endif // #ifndef LLDB_DISABLE_PYTHON
99 ScriptInterpreter::TerminateInterpreter ()
101 #ifndef LLDB_DISABLE_PYTHON
102 ScriptInterpreterPython::TerminateInterpreter ();
103 #endif // #ifndef LLDB_DISABLE_PYTHON