February 1st, 2013, 03:36 AM
Help with pretty printing
I don't know if there is anyone on this forum who can help
I am developing a set of gdb pretty printers for Qt
A dictionary is built of the functions to call when a variable of a given type is detected
Here I have declared handlers for the QFile and QFile * types
def build_dictionary ():
pretty_printers_dict[re.compile ('^QFile$')] = lambda val:QFilePrinter(val,"false")
pretty_printers_dict[re.compile ('^QFile \*$')] = lambda val: QFilePointerPrinter(val)
In the QFile handler I have this code
The problem is that this causes the handler for QFile * to be called which causes great problems
exp = "((class QFile *)%s)->%s()" % (value.address, "exists")
If any Python guru knows how to overcome this I would appreciate it
February 1st, 2013, 07:55 AM
Looks like c++ code is built. So I'm clueless, but remember "Any problem in computer science can be solved with another layer of indirection. But that usually will create another problem".
[/code] are essential for python code and Makefiles!