diff options
Diffstat (limited to 'lldb/source/Interpreter/ScriptInterpreter.cpp')
-rw-r--r-- | lldb/source/Interpreter/ScriptInterpreter.cpp | 43 |
1 files changed, 27 insertions, 16 deletions
diff --git a/lldb/source/Interpreter/ScriptInterpreter.cpp b/lldb/source/Interpreter/ScriptInterpreter.cpp index d04baec76e60..00c460612ac1 100644 --- a/lldb/source/Interpreter/ScriptInterpreter.cpp +++ b/lldb/source/Interpreter/ScriptInterpreter.cpp @@ -32,32 +32,36 @@ void ScriptInterpreter::CollectDataForBreakpointCommandCallback( CommandReturnObject &result) { result.SetStatus(eReturnStatusFailed); result.AppendError( - "ScriptInterpreter::GetScriptCommands(StringList &) is not implemented."); + "This script interpreter does not support breakpoint callbacks."); } void ScriptInterpreter::CollectDataForWatchpointCommandCallback( WatchpointOptions *bp_options, CommandReturnObject &result) { result.SetStatus(eReturnStatusFailed); result.AppendError( - "ScriptInterpreter::GetScriptCommands(StringList &) is not implemented."); + "This script interpreter does not support watchpoint callbacks."); } -std::string ScriptInterpreter::LanguageToString(lldb::ScriptLanguage language) { - std::string return_value; +bool ScriptInterpreter::LoadScriptingModule( + const char *filename, bool init_session, lldb_private::Status &error, + StructuredData::ObjectSP *module_sp) { + error.SetErrorString( + "This script interpreter does not support importing modules."); + return false; +} +std::string ScriptInterpreter::LanguageToString(lldb::ScriptLanguage language) { switch (language) { case eScriptLanguageNone: - return_value = "None"; - break; + return "None"; case eScriptLanguagePython: - return_value = "Python"; - break; + return "Python"; + case eScriptLanguageLua: + return "Lua"; case eScriptLanguageUnknown: - return_value = "Unknown"; - break; + return "Unknown"; } - - return return_value; + llvm_unreachable("Unhandled ScriptInterpreter!"); } lldb::ScriptLanguage @@ -66,6 +70,8 @@ ScriptInterpreter::StringToLanguage(const llvm::StringRef &language) { return eScriptLanguageNone; if (language.equals_lower(LanguageToString(eScriptLanguagePython))) return eScriptLanguagePython; + if (language.equals_lower(LanguageToString(eScriptLanguageLua))) + return eScriptLanguageLua; return eScriptLanguageUnknown; } @@ -81,12 +87,17 @@ Status ScriptInterpreter::SetBreakpointCommandCallback( return return_error; } -void ScriptInterpreter::SetBreakpointCommandCallbackFunction( - std::vector<BreakpointOptions *> &bp_options_vec, - const char *function_name) { +Status ScriptInterpreter::SetBreakpointCommandCallbackFunction( + std::vector<BreakpointOptions *> &bp_options_vec, const char *function_name, + StructuredData::ObjectSP extra_args_sp) { + Status error; for (BreakpointOptions *bp_options : bp_options_vec) { - SetBreakpointCommandCallbackFunction(bp_options, function_name); + error = SetBreakpointCommandCallbackFunction(bp_options, function_name, + extra_args_sp); + if (!error.Success()) + return error; } + return error; } std::unique_ptr<ScriptInterpreterLocker> |