From 6f3533fb1d742620328b4fcc79410d3e09d6eb8d Mon Sep 17 00:00:00 2001 From: Enrico Granata Date: Fri, 29 Jul 2011 19:53:35 +0000 Subject: Public API changes: - Completely new implementation of SBType - Various enhancements in several other classes Python synthetic children providers for std::vector, std::list and std::map: - 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 --- .../data-formatter-python-synth/ftsp.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 lldb/test/functionalities/data-formatter/data-formatter-python-synth/ftsp.py (limited to 'lldb/test/functionalities/data-formatter/data-formatter-python-synth/ftsp.py') diff --git a/lldb/test/functionalities/data-formatter/data-formatter-python-synth/ftsp.py b/lldb/test/functionalities/data-formatter/data-formatter-python-synth/ftsp.py new file mode 100644 index 00000000000..f618672deaa --- /dev/null +++ b/lldb/test/functionalities/data-formatter/data-formatter-python-synth/ftsp.py @@ -0,0 +1,20 @@ +import lldb +class ftsp: + def __init__(self, valobj, dict): + self.valobj = valobj; + self.update() + def num_children(self): + if self.char.IsValid(): + return 4; + return 0; + def get_child_index(self,name): + return 0; + def get_child_at_index(self,index): + if index == 0: + return self.x.Cast(self.char) + return self.x.CreateChildAtOffset(str(index), + index, + self.char); + def update(self): + self.x = self.valobj.GetChildMemberWithName('x'); + self.char = self.valobj.GetType().GetBasicType(lldb.eBasicTypeChar) -- cgit v1.2.3