Add some more docstrings (includng example usages) to SBTarget.h.

Add logic to modify-python-lldb to correct swig's transformation of 'char **argv' and 'char **envp'
to 'char argv' and 'char envp' by morphing them into the 'list argv' and 'list envp' (as a list of
Python strings).

llvm-svn: 135114
This commit is contained in:
Johnny Chen 2011-07-14 00:17:49 +00:00
parent d7e9937175
commit fa181f4fdb
2 changed files with 26 additions and 2 deletions

View File

@ -63,7 +63,7 @@ public:
GetProcess ();
#ifdef SWIG
%feature("autodoc", "
%feature("docstring", "
#endif
//------------------------------------------------------------------
/// Launch a new process.
@ -122,6 +122,20 @@ public:
/// A process object for the newly created process.
//------------------------------------------------------------------
#ifdef SWIG
For example,
process = target.Launch(self.dbg.GetListener(), None, None,
None, '/tmp/stdout.txt', None,
None, 0, False, error)
launches a new process by passing nothing for both the args and the envs
and redirect the standard output of the inferior to the /tmp/stdout.txt
file. It does not specify a working directory so that the debug server
will use its idea of what the current working directory is for the
inferior. Also, we ask the debugger not to stop the inferior at the
entry point. If no breakpoint is specified for the inferior, it should
run to completion if no user interaction is required.
") Launch;
#endif
lldb::SBProcess
@ -138,7 +152,7 @@ public:
#ifdef SWIG
%feature("autodoc", "
%feature("docstring", "
#endif
//------------------------------------------------------------------
/// Launch a new process with sensible defaults.
@ -167,6 +181,13 @@ public:
/// A process object for the newly created process.
//------------------------------------------------------------------
#ifdef SWIG
For example,
process = target.LaunchSimple(['X', 'Y', 'Z'], None, os.getcwd())
launches a new process by passing 'X', 'Y', 'Z' as the args to the
executable.
") LaunchSimple;
#endif
lldb::SBProcess

View File

@ -47,6 +47,9 @@ def char_to_str_xform(line):
"""This transforms the 'char', i.e, 'char *' to 'str', Python string."""
line = line.replace(' char', ' str')
line = line.replace('char ', 'str ')
# Special case handling of 'char **argv' and 'char **envp'.
line = line.replace('str argv', 'list argv')
line = line.replace('str envp', 'list envp')
return line
#