From 1130e923e2d7fe046101bf639bc5ebcde194c005 Mon Sep 17 00:00:00 2001 From: Med Ismail Bennani Date: Fri, 28 Jun 2024 01:40:03 -0700 Subject: [lldb/Interpreter] Discard ScriptedThreadPlan::GetStopDescription return value (#96985) This patch changes `ScriptedThreadPlan::GetStopDescription` behavior by discarding its return value since it is optional in the first place (the user doesn't need to provide a return value in their implementation). This patch also addresses the test failures in TestStepScripted following 9a9ec22 and re-enables the tests that were XFAIL'd previously. The issue here was that the `Stream*` that's passed to `ThreadPlanPython::GetDescription` wasn't being passed by reference to the python method so it was never updated to reflect how the python method interacted with it. This patch solves this issue by making a temporary `StreamSP` that will be passed to the python method by reference, after what we will copy its content to the caller `Stream` pointer argument. --------- Signed-off-by: Med Ismail Bennani --- .../ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h') diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h index 062bf1fcff4a..e1a3156d10af 100644 --- a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h +++ b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h @@ -341,8 +341,8 @@ protected: return python::SWIGBridge::ToSWIGWrapper(arg); } - python::PythonObject Transform(Stream *arg) { - return python::SWIGBridge::ToSWIGWrapper(arg); + python::PythonObject Transform(lldb::StreamSP arg) { + return python::SWIGBridge::ToSWIGWrapper(arg.get()); } python::PythonObject Transform(lldb::DataExtractorSP arg) { @@ -447,7 +447,8 @@ Event *ScriptedPythonInterface::ExtractValueFromPythonObject( python::PythonObject &p, Status &error); template <> -Stream *ScriptedPythonInterface::ExtractValueFromPythonObject( +lldb::StreamSP +ScriptedPythonInterface::ExtractValueFromPythonObject( python::PythonObject &p, Status &error); template <> -- cgit v1.2.3