History log of /external/lldb/scripts/Python/modify-python-lldb.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
33060ada52c4a310c083a85307e954625f5c566f 10-Dec-2012 Greg Clayton <gclayton@apple.com> Make sure that the lldb globals:
lldb.target
lldb.process
lldb.thread
lldb.frame

are initialized to at least contain empty lldb classes in case some python gets imported that uses them.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169750 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
f2b0fef6c754acd4f6a3d7cc5cc5f3ad9be98be7 01-Nov-2012 Filipe Cabecinhas <me@filcab.net> Makefile patches from Charles Davis and Daniel Malea (+ one or two tweaks).

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@167242 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
1dbf2a82654bebe365eb882b2cad9af413418222 16-Mar-2012 Johnny Chen <johnny.chen@apple.com> Export the APIs submitted by Dawn to the Python bindings. Add a simple test case for the SBModule.compile_unit_iter() API.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
106d593033907272de45d8c1602eb4bac3796983 09-Nov-2011 Johnny Chen <johnny.chen@apple.com> Add a missing ')' in the comment.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144145 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
ecd4feb5111432d2878e95461220c720cb2d24c8 14-Oct-2011 Johnny Chen <johnny.chen@apple.com> SBValue::Watch() and SBValue::WatchPointee() are now the official API for creating
a watchpoint for either the variable encapsulated by SBValue (Watch) or the pointee
encapsulated by SBValue (WatchPointee).

Removed SBFrame::WatchValue() and SBFrame::WatchLocation() API as a result of that.

Modified the watchpoint related test suite to reflect the change.

Plus replacing WatchpointLocation with Watchpoint throughout the code base.

There are still cleanups to be dome. This patch passes the whole test suite.
Check it in so that we aggressively catch regressions.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@141925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
1fa6b3d6c83955fe06c63d3a4025f2c0ec431d68 13-Oct-2011 Greg Clayton <gclayton@apple.com> Cleaned up the SBWatchpoint public API.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@141876 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
3689431be6197138f439996dff1537add84df953 03-Oct-2011 Johnny Chen <johnny.chen@apple.com> Add comment markers for in_range(symbol, section).


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@141033 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
f11c029ae8215335b63f419bcefa64b73d12ee22 30-Sep-2011 Johnny Chen <johnny.chen@apple.com> Add docstring to in_range() function residing in the lldb module.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
bf338e678907e3592e84a9fd3986f40dc356b4af 30-Sep-2011 Johnny Chen <johnny.chen@apple.com> Migrate the in_range(symbol, section) and symbol_iter(module, section) utility functions
from lldbutil.py to the lldb.py proper. The in_range() function becomes a function in
the lldb module. And the symbol_iter() function becomes a method within the SBModule
called symbol_in_section_iter(). Example:

# Iterates the text section and prints each symbols within each sub-section.
for subsec in text_sec:
print INDENT + repr(subsec)
for sym in exe_module.symbol_in_section_iter(subsec):
print INDENT2 + repr(sym)
print INDENT2 + 'symbol type: %s' % symbol_type_to_str(sym.GetType())

might produce this following output:

[0x0000000100001780-0x0000000100001d5c) a.out.__TEXT.__text
id = {0x00000004}, name = 'mask_access(MaskAction, unsigned int)', range = [0x00000001000017c0-0x0000000100001870)
symbol type: code
id = {0x00000008}, name = 'thread_func(void*)', range = [0x0000000100001870-0x00000001000019b0)
symbol type: code
id = {0x0000000c}, name = 'main', range = [0x00000001000019b0-0x0000000100001d5c)
symbol type: code
id = {0x00000023}, name = 'start', address = 0x0000000100001780
symbol type: code
[0x0000000100001d5c-0x0000000100001da4) a.out.__TEXT.__stubs
id = {0x00000024}, name = '__stack_chk_fail', range = [0x0000000100001d5c-0x0000000100001d62)
symbol type: trampoline
id = {0x00000028}, name = 'exit', range = [0x0000000100001d62-0x0000000100001d68)
symbol type: trampoline
id = {0x00000029}, name = 'fflush', range = [0x0000000100001d68-0x0000000100001d6e)
symbol type: trampoline
id = {0x0000002a}, name = 'fgets', range = [0x0000000100001d6e-0x0000000100001d74)
symbol type: trampoline
id = {0x0000002b}, name = 'printf', range = [0x0000000100001d74-0x0000000100001d7a)
symbol type: trampoline
id = {0x0000002c}, name = 'pthread_create', range = [0x0000000100001d7a-0x0000000100001d80)
symbol type: trampoline
id = {0x0000002d}, name = 'pthread_join', range = [0x0000000100001d80-0x0000000100001d86)
symbol type: trampoline
id = {0x0000002e}, name = 'pthread_mutex_lock', range = [0x0000000100001d86-0x0000000100001d8c)
symbol type: trampoline
id = {0x0000002f}, name = 'pthread_mutex_unlock', range = [0x0000000100001d8c-0x0000000100001d92)
symbol type: trampoline
id = {0x00000030}, name = 'rand', range = [0x0000000100001d92-0x0000000100001d98)
symbol type: trampoline
id = {0x00000031}, name = 'strtoul', range = [0x0000000100001d98-0x0000000100001d9e)
symbol type: trampoline
id = {0x00000032}, name = 'usleep', range = [0x0000000100001d9e-0x0000000100001da4)
symbol type: trampoline
[0x0000000100001da4-0x0000000100001e2c) a.out.__TEXT.__stub_helper
[0x0000000100001e2c-0x0000000100001f10) a.out.__TEXT.__cstring
[0x0000000100001f10-0x0000000100001f68) a.out.__TEXT.__unwind_info
[0x0000000100001f68-0x0000000100001ff8) a.out.__TEXT.__eh_frame


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140830 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
5eb54bb63835eb01b200223503b5fd89a7557dd5 27-Sep-2011 Johnny Chen <johnny.chen@apple.com> Add SBTarget::GetLastCreatedWatchpointLocation() API and export to the Python interface.
Also add rich comparison methods (__eq__ and __ne__) for SBWatchpointLocation.
Modify TestWatchpointLocationIter.py to exercise the new APIs.

Add fuzz testings for the recently added SBTarget APIs related to watchpoint manipulations.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140633 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
092bd1575675778c6ebe901a7760af7427db617e 27-Sep-2011 Johnny Chen <johnny.chen@apple.com> Export the watchpoint related API (SBWatchpointLocation class and added SBTarget methods)
to the Python interface.

Implement yet another (threre're 3 now) iterator protocol for SBTarget: watchpoint_location_iter(),
to iterate on the available watchpoint locations. And add a print representation for
SBWatchpointLocation.

Exercise some of these Python API with TestWatchpointLocationIter.py.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140595 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
dc0cbd1f62ce2b2cf7dfdc0fbb3cf30f1c23c244 24-Sep-2011 Johnny Chen <johnny.chen@apple.com> SBSection supports iteration through its subsections, represented as SBSection as well.
SBModule supports an additional SBSection iteration, besides the original SBSymbol iteration.
Add docstrings and implement the two SBSection iteration protocols.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140449 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
758db9690ae3d2f65fc5e6ef177581ae8d75221d 11-Aug-2011 Johnny Chen <johnny.chen@apple.com> Add logic to SBValue.linked_list_iter() to detect infinite loop and to bail out early.
Add code to test case to create an evil linked list with:

task_evil -> task_2 -> task_3 -> task_evil ...

and to check that the linked list iterator only iterates 3 times.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137291 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
d96c9e88f80b8856aa76b7e7dd41acdf2bec202e 11-Aug-2011 Johnny Chen <johnny.chen@apple.com> Change the SBValue.linked_list_iter() to treat the value object as a homogeneous linked list data structure
where an empty linked list is represented as a value object with a NULL value, instead of a special value
object which 'points' to NULL.

Also modifies the test case to comply.

rdar://problem/9933692


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137289 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
d7e04d9473e155e459d15eff744e1d954197a97d 05-Aug-2011 Johnny Chen <johnny.chen@apple.com> o modify-python-lldb.py:

Add the rich comparison methods (__eq__, __ne__) to SBType, too.

o lldbtest.py:

Add debug utility method TestBase.DebugSBType().

o test/python_api/type:

Add tests for exercising SBType/SBTypeList API, including the SBTarget.FindTypes(type_name)
API which returns a SBTypeList matching the type_name.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136975 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
3ee852091eeaf0009daa28ab7418c8965f62e2a2 05-Aug-2011 Johnny Chen <johnny.chen@apple.com> The recently introduced SBTypeList is also iterable.
This patch takes some time because the old Python constructor pattern was not a valid one,
and breaks with SBTypeList's __init__ signature. Oops.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136958 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
38581d29207f732ab913f2d0c1f203fce1749b0e 27-Jul-2011 Johnny Chen <johnny.chen@apple.com> The SBValue.linked_list_iter() API failed for an empty list.
Fix the bug and add a test case.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
a4673e104b84eca5ad4ffd62ea086d5ac6b3a348 26-Jul-2011 Johnny Chen <johnny.chen@apple.com> We can do better with the SBValue.linked_list_iter() API by supplying a default
end of list test function as __eol_test__.

The simple example can be reduced to:

for t in task_head.linked_list_iter('next'):
print t

Modify the test program to exercise the API for both cases: supplying or not
supplying an end of list test function.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136144 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
021cdc20ee58988a63f5b1569ed87438f4bfb687 26-Jul-2011 Johnny Chen <johnny.chen@apple.com> The test function to determine whether we have reached the end of the list was
too complex in the test case. We can just simply test that the SBValue object
is a valid object and it does not correspond to a null pointer in order to say
that EOL has not been reached.

Modify the test case and the lldb.py docstring to have a more compact test
function.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136123 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
9ed9f8b355c82d762d871a7e70f8a4e6519b2085 26-Jul-2011 Johnny Chen <johnny.chen@apple.com> Rename the parameter for the end-of-list test function from end_of_list to end_of_list_test.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
de856cc86c68a51e93aa72b8a478faf50de663c0 26-Jul-2011 Johnny Chen <johnny.chen@apple.com> Add cross references between the docstrings for regular SBValue iteration:

for child in value:
# do something with the child value

and SBValue.linked_list_iter():

for task in task_head.linked_list_iter('next', eol_test):
# visit each item in the linked list


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136015 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
fbebbc9e3b140e77886db46a84f58aef2ea72bb8 25-Jul-2011 Johnny Chen <johnny.chen@apple.com> Provide an add-on API to SBValue class by post-processing to provide a way
to iterate through an SBValue instance by treating it as the head of a linked
list. API program must provide two args to the linked_list_iter() method:
the first being the child member name which points to the next item on the list
and the second being a Python function which an SBValue (for the next item) and
returns True if end of list is reached, otherwise it returns False.

For example, suppose we have the following sample program.

#include <stdio.h>

class Task {
public:
int id;
Task *next;
Task(int i, Task *n):
id(i),
next(n)
{}
};


int main (int argc, char const *argv[])
{
Task *task_head = new Task(-1, NULL);
Task *task1 = new Task(1, NULL);
Task *task2 = new Task(2, NULL);
Task *task3 = new Task(3, NULL); // Orphaned.
Task *task4 = new Task(4, NULL);
Task *task5 = new Task(5, NULL);

task_head->next = task1;
task1->next = task2;
task2->next = task4;
task4->next = task5;

int total = 0; // Break at this line
Task *t = task_head;
while (t != NULL) {
if (t->id >= 0)
++total;
t = t->next;
}
printf("We have a total number of %d tasks\n", total);
return 0;
}

The test program produces the following output while exercising the linked_list_iter() SBVAlue API:

task_head:
TypeName -> Task *
ByteSize -> 8
NumChildren -> 2
Value -> 0x0000000106400380
ValueType -> local_variable
Summary -> None
IsPointerType -> True
Location -> 0x00007fff65f06e60
(Task *) next = 0x0000000106400390
(int) id = 1
(Task *) next = 0x00000001064003a0

(Task *) next = 0x00000001064003a0
(int) id = 2
(Task *) next = 0x00000001064003c0

(Task *) next = 0x00000001064003c0
(int) id = 4
(Task *) next = 0x00000001064003d0

(Task *) next = 0x00000001064003d0
(int) id = 5
(Task *) next = 0x0000000000000000



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135938 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
ebd63b28c6b7574ed9fbd71e57677c25e57c6a5b 16-Jul-2011 Johnny Chen <johnny.chen@apple.com> Create an interface file for SBTarget named SBTarget.i which relieves SBTarget.h
of the duty of having SWIG docstring features and multiline string literals
embedded within.

lldb.swig now %include .../SBTarget.i, instead of .../SBTarget.h. Will create
other interface files and transition them over.

Also update modify-python-lldb.py to better handle the trailing blank line right
before the ending '"""' Python docstring delimiter.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135355 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
533ed2fd6d3763654cd35cdc2379e1bf1049e0dd 15-Jul-2011 Johnny Chen <johnny.chen@apple.com> Add some more docstrings for SBCompileUnit and SBBreakpoint, plus incorporate the doxgen doc block of

SBValue::GetChildAtIndex(uint32_t idx,
lldb::DynamicValueType use_dynamic,
bool can_create_synthetic);

into the SBValue docstrings.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135295 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
2de7ce665acfd7040e9372209d2f750c4b58e0fd 14-Jul-2011 Johnny Chen <johnny.chen@apple.com> 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).


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135114 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
21c0fd130eeec47c40e5f828a3712ab06dcd518c 09-Jul-2011 Johnny Chen <johnny.chen@apple.com> Missed the char_to_str_xform on the docstrings for the module level function definitions.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134775 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
37811372f52b56d7e0b61cf71ec62130f0c57c82 06-Jul-2011 Johnny Chen <johnny.chen@apple.com> Add post-processing step to transform the docstring from 'char', i.e., 'char *', to 'str', i.e., Python string.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134543 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
f6ce70a9b9be279ab4cbd7540c69375a17108347 03-Jul-2011 Johnny Chen <johnny.chen@apple.com> Add a CLEANUP_DOCSTRING state to our FSM to do cleanup of the Python docstrings
generated from the swig docstring features instead of blindly applying the
cleanup action for all input lines.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
f451e30ad3a1867065fb19e1601048a417f88f9f 03-Jul-2011 Johnny Chen <johnny.chen@apple.com> Add swig docstrings for SBFrame.h.
Add post-processing step to remove the trailing blank lines from the docstrings of lldb.py.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
2c77fa4742759a5fdea17ca10ffe3b4772b4c264 02-Jul-2011 Johnny Chen <johnny.chen@apple.com> Refine the post-processing phase of lldb.py to remove some more doxygen/c++-comment residues.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134326 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
09e0a42211591a7ee4de26cdb80350568eab40ec 02-Jul-2011 Johnny Chen <johnny.chen@apple.com> Add some documentation blocks to SBTarget.h and use swig docstring feature to
take advantage of them. Update modify-python-lldb.py to remove some 'residues'
resulting from swigification.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134269 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
f208453e36d51559e5b230b4c5b52a99990137e9 14-Jun-2011 Peter Collingbourne <peter@pcc.me.uk> Generalise pattern for matching IsValid signature

Previously the IsValid pattern matched only function signatures of
the form:
def IsValid(*args): ...

However under SWIG 1.3.40 on Linux the signature reads:
def IsValid(self): ...

The new pattern matches both signature types by matching only up to
the left paren.

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132968 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
694cfd036c78cc28ece8b4eebf2087f0572158cd 10-Jun-2011 Johnny Chen <johnny.chen@apple.com> Add rich comparison methods for the SBAddress object.
If two SBAddress's have the same module and file address, they are considered equal.

Add a test snippet 'sa1 == sa2' to exercise the rich comparison methods for SBAddress.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
814222034b6791579e216e6c78bd98899f6a8bee 01-Jun-2011 Johnny Chen <johnny.chen@apple.com> Make it clear that the Python script modify-python-lldb.py is responsible for post-processing
the SWIG-generated lldb.py module by adding comments in the post-processed file in order to
facilitate reading of the code.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132417 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
ec5e0a24691dbff8c3bd2be7429654a9a1352165 01-Jun-2011 Johnny Chen <johnny.chen@apple.com> Fix comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
08477f5a6f8cdf9f89d79e287e459bcb74c73b69 25-May-2011 Johnny Chen <johnny.chen@apple.com> Added comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132019 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
a6303ef4c58c715896a688788fffe82de180c548 25-May-2011 Johnny Chen <johnny.chen@apple.com> Comment change.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132018 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
b72d1773d472029b62820a633395b98f05b42501 25-May-2011 Johnny Chen <johnny.chen@apple.com> Fix a potential bug resulting from the wrong assumption that SWIG puts out the __init__
method definition before other method definitions. Instead, do without it and process
the class with IsValid() method definition in all possible states.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
e5637d23efe9be028fc8d3083644cd5e8e0cfced 24-May-2011 Johnny Chen <johnny.chen@apple.com> Update comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132002 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
2077f0d1ea42e1941387b101e61db01a73d5ee08 18-May-2011 Johnny Chen <johnny.chen@apple.com> Add truth value testing to those lldb Python objects with the IsValid() method definitions.
object.__nonzero__(self) is called to implement truth value testing and the built-in operation bool(),
via a simple delegation to self.IsValid().

Change tests under python_api/lldbutil to utilize this mechanism.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
a79a21c64268ccadb34cbb1084fb70849034afdd 16-May-2011 Johnny Chen <johnny.chen@apple.com> Add implementation of built-in function len() for those lldb containers with
unambiguous iteration support. So that we could, for example:

...

REGs = lldbutil.get_GPRs(frame)
print "Number of general purpose registers: %d" % len(REGs)
for reg in REGs:
print "%s => %s" %(reg.GetName(), reg.GetValue())

...


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
7616cb926ee91fedfe5ed72dde5e6fc6285ce425 02-May-2011 Johnny Chen <johnny.chen@apple.com> Add implementation of '==' and '!=' for SBFileSpec and SBModule. Modify a test case to take advantage of 'ths_module == that_module'.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
6ea16c79a7d1b665c99ae73f8cb7b3f22e55a569 02-May-2011 Johnny Chen <johnny.chen@apple.com> Fix a typo in comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
22e418aec3a980f430539ee75033e00691e08991 29-Apr-2011 Johnny Chen <johnny.chen@apple.com> Update comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130533 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
a2f86e809ef3b49d90b8d8ee2b1811411dd01304 29-Apr-2011 Johnny Chen <johnny.chen@apple.com> Fix a bug introduced in my previous checkin, where the state was not properly
restored after parsing "SBTarget". Indentation matters in Python. :-)


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130532 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
3a3d65976a5b0dd701a9a375823eb932a2e1472f 29-Apr-2011 Johnny Chen <johnny.chen@apple.com> Add the Python rich comparison methods for SBBreakpoint, where GetID() returns
the breakpoint ID and provides the semantics needed for '==' and '!='. And
modify LLDBIteratorTestCase.lldb_iter_2() to use '==' between two SBBreakpoint's.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130531 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
c622005311cdd8eb210b93ed2a631b6eead4fc8c 29-Apr-2011 Johnny Chen <johnny.chen@apple.com> Fix a typo.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py
1409780f7984561a0fe3fe217f0b3910113fda75 28-Apr-2011 Johnny Chen <johnny.chen@apple.com> Move the iteration protocol of lldb objects to the auto-generated lldb Python module.
This is so that the objects which support the iteration protocol are immediately obvious
from looking at the lldb.py file.

SBTarget supports two types of iterations: module and breakpoint. For an SBTarget instance,
you will need to issue either:

for m in target.module_iter()

or

for b in target.breakpoint_iter()

For other single iteration protocol objects, just use, for example:

for thread in process:
ID = thread.GetThreadID()
for frame in thread:
frame.Disassemble()
....



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130442 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/scripts/Python/modify-python-lldb.py