diff options
Diffstat (limited to 'lldb/source/Interpreter')
| -rw-r--r-- | lldb/source/Interpreter/ScriptInterpreterPython.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/lldb/source/Interpreter/ScriptInterpreterPython.cpp b/lldb/source/Interpreter/ScriptInterpreterPython.cpp index fec70e301cc..d0858739b12 100644 --- a/lldb/source/Interpreter/ScriptInterpreterPython.cpp +++ b/lldb/source/Interpreter/ScriptInterpreterPython.cpp @@ -2542,9 +2542,12 @@ ScriptInterpreterPython::RunScriptBasedCommand(const char* impl_function, // in Python, a special attribute __doc__ contains the docstring // for an object (function, method, class, ...) if any is defined // Otherwise, the attribute's value is None -std::string -ScriptInterpreterPython::GetDocumentationForItem(const char* item) +bool +ScriptInterpreterPython::GetDocumentationForItem(const char* item, std::string& dest) { + dest.clear(); + if (!item || !*item) + return false; std::string command(item); command += ".__doc__"; @@ -2554,10 +2557,16 @@ ScriptInterpreterPython::GetDocumentationForItem(const char* item) ScriptInterpreter::eScriptReturnTypeCharStrOrNone, &result_ptr, false) && result_ptr) { - return std::string(result_ptr); + dest.assign(result_ptr); + return true; } else - return std::string(""); + { + StreamString str_stream; + str_stream.Printf("Function %s was not found. Containing module might be missing.",item); + dest.assign(str_stream.GetData()); + return false; + } } void |

