diff options
author | Enrico Granata <granata.enrico@gmail.com> | 2011-07-24 00:14:56 +0000 |
---|---|---|
committer | Enrico Granata <granata.enrico@gmail.com> | 2011-07-24 00:14:56 +0000 |
commit | a37a065c3392ab52abd6a896ac1e95b4878cafad (patch) | |
tree | 87687e7cf49c92f298ba9f8c9a65fc0cecb81b0f /lldb/test/functionalities/data-formatter/data-formatter-python-synth/fooSynthProvider.py | |
parent | fb66d5cc9c236d0f6b07177e42509244d9b9d5d5 (diff) | |
download | bcm5719-llvm-a37a065c3392ab52abd6a896ac1e95b4878cafad.tar.gz bcm5719-llvm-a37a065c3392ab52abd6a896ac1e95b4878cafad.zip |
Python synthetic children:
- you can now define a Python class as a synthetic children producer for a type
the class must adhere to this "interface":
def __init__(self, valobj, dict):
def get_child_at_index(self, index):
def get_child_index(self, name):
then using type synth add -l className typeName
(e.g. type synth add -l fooSynthProvider foo)
(This is still WIP with lots to be added)
A small test case is available also as reference
llvm-svn: 135865
Diffstat (limited to 'lldb/test/functionalities/data-formatter/data-formatter-python-synth/fooSynthProvider.py')
-rw-r--r-- | lldb/test/functionalities/data-formatter/data-formatter-python-synth/fooSynthProvider.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lldb/test/functionalities/data-formatter/data-formatter-python-synth/fooSynthProvider.py b/lldb/test/functionalities/data-formatter/data-formatter-python-synth/fooSynthProvider.py new file mode 100644 index 00000000000..add34074fb0 --- /dev/null +++ b/lldb/test/functionalities/data-formatter/data-formatter-python-synth/fooSynthProvider.py @@ -0,0 +1,16 @@ +class fooSynthProvider: + def __init__(self, valobj, dict): + self.valobj = valobj; + def num_children(self): + return 2; + def get_child_at_index(self, index): + if index == 1: + child = self.valobj.GetChildMemberWithName('a'); + else: + child = self.valobj.GetChildMemberWithName('r'); + return child; + def get_child_index(self, name): + if name == 'a': + return 1; + else: + return 0;
\ No newline at end of file |