[Lldb-commits] [lldb] r135631 - /lldb/trunk/scripts/Python/interface/SBCommandInterpreter.i

Johnny Chen johnny.chen at apple.com
Wed Jul 20 15:50:58 PDT 2011


Author: johnny
Date: Wed Jul 20 17:50:58 2011
New Revision: 135631

URL: http://llvm.org/viewvc/llvm-project?rev=135631&view=rev
Log:
Add docstring for SBCommandInterpreter class.

Modified:
    lldb/trunk/scripts/Python/interface/SBCommandInterpreter.i

Modified: lldb/trunk/scripts/Python/interface/SBCommandInterpreter.i
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/Python/interface/SBCommandInterpreter.i?rev=135631&r1=135630&r2=135631&view=diff
==============================================================================
--- lldb/trunk/scripts/Python/interface/SBCommandInterpreter.i (original)
+++ lldb/trunk/scripts/Python/interface/SBCommandInterpreter.i Wed Jul 20 17:50:58 2011
@@ -9,6 +9,50 @@
 
 namespace lldb {
 
+%feature("docstring",
+"SBCommandInterpreter handles/interprets commands for lldb.  You get the
+command interpreter from the SBDebugger instance. For example (from test/
+python_api/interpreter/TestCommandInterpreterAPI.py),
+
+    def command_interpreter_api(self):
+        '''Test the SBCommandInterpreter APIs.'''
+        exe = os.path.join(os.getcwd(), 'a.out')
+
+        # Create a target by the debugger.
+        target = self.dbg.CreateTarget(exe)
+        self.assertTrue(target, VALID_TARGET)
+
+        # Retrieve the associated command interpreter from our debugger.
+        ci = self.dbg.GetCommandInterpreter()
+        self.assertTrue(ci, VALID_COMMAND_INTERPRETER)
+
+        # Exercise some APIs....
+
+        self.assertTrue(ci.HasCommands())
+        self.assertTrue(ci.HasAliases())
+        self.assertTrue(ci.HasAliasOptions())
+        self.assertTrue(ci.CommandExists('breakpoint'))
+        self.assertTrue(ci.CommandExists('target'))
+        self.assertTrue(ci.CommandExists('platform'))
+        self.assertTrue(ci.AliasExists('file'))
+        self.assertTrue(ci.AliasExists('run'))
+        self.assertTrue(ci.AliasExists('bt'))
+
+        res = lldb.SBCommandReturnObject()
+        ci.HandleCommand('breakpoint set -f main.c -l %d' % self.line, res)
+        self.assertTrue(res.Succeeded())
+        ci.HandleCommand('process launch', res)
+        self.assertTrue(res.Succeeded())
+
+        process = ci.GetProcess()
+        self.assertTrue(process)
+
+        ...
+
+The HandleCommand() instance method takes two args: the command string and
+an SBCommandReturnObject instance which encapsulates the result of command
+execution.
+") SBCommandInterpreter;
 class SBCommandInterpreter
 {
 public:





More information about the lldb-commits mailing list