summaryrefslogtreecommitdiffstats
path: root/lldb/test/functionalities/data-formatter/data-formatter-python-synth/fooSynthProvider.py
diff options
context:
space:
mode:
authorEnrico Granata <granata.enrico@gmail.com>2011-07-29 19:53:35 +0000
committerEnrico Granata <granata.enrico@gmail.com>2011-07-29 19:53:35 +0000
commit6f3533fb1d742620328b4fcc79410d3e09d6eb8d (patch)
tree4ed75acf7c94fefcab457f17a568827d5b0e3c22 /lldb/test/functionalities/data-formatter/data-formatter-python-synth/fooSynthProvider.py
parentce0ceebb1c5f896e992e1cac36fad732daf55cb0 (diff)
downloadbcm5719-llvm-6f3533fb1d742620328b4fcc79410d3e09d6eb8d.tar.gz
bcm5719-llvm-6f3533fb1d742620328b4fcc79410d3e09d6eb8d.zip
Public API changes:
- Completely new implementation of SBType - Various enhancements in several other classes Python synthetic children providers for std::vector<T>, std::list<T> and std::map<K,V>: - these return the actual elements into the container as the children of the container - basic template name parsing that works (hopefully) on both Clang and GCC - find them in examples/synthetic and in the test suite in functionalities/data-formatter/data-formatter-python-synth New summary string token ${svar : - the syntax is just the same as in ${var but this new token lets you read the values coming from the synthetic children provider instead of the actual children - Python providers above provide a synthetic child len that returns the number of elements into the container Full bug fix for the issue in which getting byte size for a non-complete type would crash LLDB Several other fixes, including: - inverted the order of arguments in the ClangASTType constructor - EvaluationPoint now only returns SharedPointer's to Target and Process - the help text for several type subcommands now correctly indicates argument-less options as such llvm-svn: 136504
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.py15
1 files changed, 10 insertions, 5 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
index 2d953265c6b..fb95ac2b54d 100644
--- a/lldb/test/functionalities/data-formatter/data-formatter-python-synth/fooSynthProvider.py
+++ b/lldb/test/functionalities/data-formatter/data-formatter-python-synth/fooSynthProvider.py
@@ -1,16 +1,21 @@
+import lldb
class fooSynthProvider:
def __init__(self, valobj, dict):
self.valobj = valobj;
+ self.int_type = valobj.GetType().GetBasicType(lldb.eBasicTypeInt)
def num_children(self):
- return 2;
+ return 3;
def get_child_at_index(self, index):
- if index == 1:
+ if index == 0:
child = self.valobj.GetChildMemberWithName('a');
- else:
+ if index == 1:
+ child = self.valobj.CreateChildAtOffset ('fake_a', 1, self.int_type);
+ if index == 2:
child = self.valobj.GetChildMemberWithName('r');
return child;
def get_child_index(self, name):
if name == 'a':
- return 1;
- else:
return 0;
+ if name == 'fake_a':
+ return 1;
+ return 2;
OpenPOWER on IntegriCloud