import gdb | |
class PointPrinter: | |
"Print a Point" | |
def __init__(self, val): | |
self.val = val | |
self.x = int(val["x"]) | |
self.y = int(val["y"]) | |
def to_string(self): | |
return "({}, {})".format(self.x, self.y) | |
def lookup(val): | |
lookup_tag = val.type.tag | |
if lookup_tag is None: | |
return None | |
if "embedded_visualizer::point::Point" == lookup_tag: | |
return PointPrinter(val) | |
return None | |
gdb.current_objfile().pretty_printers.append(lookup) |