From acdda1344a0e1b45bd3ba7feb0e8cd398bee0179 Mon Sep 17 00:00:00 2001 From: Jonas Devlieghere Date: Sat, 21 Dec 2019 21:54:44 -0800 Subject: [PATCH] [lldb/Lua] Add missing boiler plate to ScriptInterpreter. - Fix enum entry order. - Fix missing enum case in CommandObjectBreakpointCommand. - Add Lua entry to swtich in LanguageToString and simplify the code. --- lldb/include/lldb/lldb-enumerations.h | 6 ++--- .../CommandObjectBreakpointCommand.cpp | 1 + lldb/source/Interpreter/ScriptInterpreter.cpp | 24 ++++++++----------- 3 files changed, 14 insertions(+), 17 deletions(-) diff --git a/lldb/include/lldb/lldb-enumerations.h b/lldb/include/lldb/lldb-enumerations.h index 5640a16c8f44..dd3d9cc7da50 100644 --- a/lldb/include/lldb/lldb-enumerations.h +++ b/lldb/include/lldb/lldb-enumerations.h @@ -211,11 +211,11 @@ enum DescriptionLevel { /// Script interpreter types. enum ScriptLanguage { - eScriptLanguageNone, + eScriptLanguageNone = 0, eScriptLanguagePython, eScriptLanguageLua, - eScriptLanguageDefault = eScriptLanguagePython, - eScriptLanguageUnknown + eScriptLanguageUnknown, + eScriptLanguageDefault = eScriptLanguagePython }; /// Register numbering types. diff --git a/lldb/source/Commands/CommandObjectBreakpointCommand.cpp b/lldb/source/Commands/CommandObjectBreakpointCommand.cpp index d62fe519eca5..551d0ac0081a 100644 --- a/lldb/source/Commands/CommandObjectBreakpointCommand.cpp +++ b/lldb/source/Commands/CommandObjectBreakpointCommand.cpp @@ -307,6 +307,7 @@ are no syntax errors may indicate that a function was declared but never called. m_use_script_language = true; break; case eScriptLanguageNone: + case eScriptLanguageUnknown: m_use_script_language = false; break; } diff --git a/lldb/source/Interpreter/ScriptInterpreter.cpp b/lldb/source/Interpreter/ScriptInterpreter.cpp index fd47aed6dcf6..552661ef80ee 100644 --- a/lldb/source/Interpreter/ScriptInterpreter.cpp +++ b/lldb/source/Interpreter/ScriptInterpreter.cpp @@ -43,21 +43,16 @@ void ScriptInterpreter::CollectDataForWatchpointCommandCallback( } std::string ScriptInterpreter::LanguageToString(lldb::ScriptLanguage language) { - std::string return_value; - 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; } lldb::ScriptLanguage @@ -66,6 +61,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; } @@ -82,13 +79,12 @@ Status ScriptInterpreter::SetBreakpointCommandCallback( } Status ScriptInterpreter::SetBreakpointCommandCallbackFunction( - std::vector &bp_options_vec, - const char *function_name, + std::vector &bp_options_vec, const char *function_name, StructuredData::ObjectSP extra_args_sp) { Status error; for (BreakpointOptions *bp_options : bp_options_vec) { - error = SetBreakpointCommandCallbackFunction(bp_options, function_name, - extra_args_sp); + error = SetBreakpointCommandCallbackFunction(bp_options, function_name, + extra_args_sp); if (!error.Success()) return error; }