<rdar://problem/12188843> Fixing a problem where a Python command created in the same module where the target function is defined causes the help string not to come out
llvm-svn: 164172
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user