mib created this revision. mib added reviewers: JDevlieghere, kastiglione. mib added a project: LLDB. Herald added a project: All. mib requested review of this revision. Herald added a subscriber: lldb-commits.
This patch makes `ScriptedPythonInterface::GetStatusFromMethod` take a parameter pack as an argument. That will allow it to pass arbitrary arguments to the python method. Signed-off-by: Med Ismail Bennani <medismail.benn...@gmail.com> Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D139248 Files: lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.cpp lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h Index: lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h =================================================================== --- lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h +++ lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h @@ -99,7 +99,13 @@ return ExtractValueFromPythonObject<T>(py_return, error); } - Status GetStatusFromMethod(llvm::StringRef method_name); + template <typename... Args> + Status GetStatusFromMethod(llvm::StringRef method_name, Args &&...args) { + Status error; + Dispatch<Status>(method_name, error, args...); + + return error; + } template <typename T> T Transform(T object) { // No Transformation for generic usage Index: lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.cpp =================================================================== --- lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.cpp +++ lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.cpp @@ -26,14 +26,6 @@ ScriptInterpreterPythonImpl &interpreter) : ScriptedInterface(), m_interpreter(interpreter) {} -Status -ScriptedPythonInterface::GetStatusFromMethod(llvm::StringRef method_name) { - Status error; - Dispatch<Status>(method_name, error); - - return error; -} - template <> StructuredData::ArraySP ScriptedPythonInterface::ExtractValueFromPythonObject<StructuredData::ArraySP>(
Index: lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h =================================================================== --- lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h +++ lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h @@ -99,7 +99,13 @@ return ExtractValueFromPythonObject<T>(py_return, error); } - Status GetStatusFromMethod(llvm::StringRef method_name); + template <typename... Args> + Status GetStatusFromMethod(llvm::StringRef method_name, Args &&...args) { + Status error; + Dispatch<Status>(method_name, error, args...); + + return error; + } template <typename T> T Transform(T object) { // No Transformation for generic usage Index: lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.cpp =================================================================== --- lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.cpp +++ lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.cpp @@ -26,14 +26,6 @@ ScriptInterpreterPythonImpl &interpreter) : ScriptedInterface(), m_interpreter(interpreter) {} -Status -ScriptedPythonInterface::GetStatusFromMethod(llvm::StringRef method_name) { - Status error; - Dispatch<Status>(method_name, error); - - return error; -} - template <> StructuredData::ArraySP ScriptedPythonInterface::ExtractValueFromPythonObject<StructuredData::ArraySP>(
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits