From 931fe670df9b12ded7e6f50c5d209db43c0d5bd3 Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Wed, 8 Apr 2015 17:27:44 +0200 Subject: solenv: there are no more SvArrays in need of pretty printing Change-Id: Ic4d59228f3295e8400bcacf637ff4def7669b775 --- solenv/gdb/libreoffice/svl.py | 80 ------------------------------------------- 1 file changed, 80 deletions(-) (limited to 'solenv') diff --git a/solenv/gdb/libreoffice/svl.py b/solenv/gdb/libreoffice/svl.py index 41a600cad81e..05049652c434 100644 --- a/solenv/gdb/libreoffice/svl.py +++ b/solenv/gdb/libreoffice/svl.py @@ -77,84 +77,6 @@ class ItemSetPrinter(object): assert self.pos <= self.count assert len(self.whichids) == self.count -class SvArrayPrinter(object): - '''Prints macro-declared arrays from svl module''' - - def __init__(self, typename, value): - self.typename = typename - self.value = value - - def to_string(self): - if int(self.value['nA']): - return "%s of length %d" % (self.typename, self.value['nA']) - else: - return "empty " + self.typename - - def children(self): - return self._iterator(self.value['pData'], self.value['nA']) - - def display_hint(self): - return 'array' - - class _iterator(six.Iterator): - - def __init__(self, data, count): - self.data = data - self.count = count - self.pos = 0 - self._check_invariant() - - def __iter__(self): - return self - - def __next__(self): - if self.pos == self.count: - raise StopIteration() - - pos = self.pos - elem = self.data[pos] - self.pos = self.pos + 1 - - self._check_invariant() - return (str(pos), elem) - - def _check_invariant(self): - assert self.count >= 0 - if self.count > 0: - assert self.data - assert self.pos >= 0 - assert self.pos <= self.count - - @staticmethod - def query(type): - if type.code == gdb.TYPE_CODE_REF: - type = type.target() - type = type.unqualified().strip_typedefs() - - if not type.tag: - return False - - ushort = gdb.lookup_type('sal_uInt16') - conforming = True - for field in type.fields(): - if field.name == 'pData': - conforming = field.type.code == gdb.TYPE_CODE_PTR - elif field.name == 'nFree': - conforming = field.type == ushort - elif field.name == 'nA': - conforming = field.type == ushort - else: - conforming = False - if not conforming: - return False - - try: - gdb.lookup_type('FnForEach_' + type.tag) - except RuntimeError: - return False - - return True - printer = None def build_pretty_printers(): @@ -163,8 +85,6 @@ def build_pretty_printers(): printer = printing.Printer("libreoffice/svl") printer.add('SfxItemSet', ItemSetPrinter) - # macro-based arrays from svl module - printer.add('SvArray', SvArrayPrinter, SvArrayPrinter.query) def register_pretty_printers(obj): printing.register_pretty_printer(printer, obj) -- cgit