summaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2015-05-13 13:28:23 +0100
committerMaxime Coste <frrrwww@gmail.com>2015-05-13 13:28:23 +0100
commit51f6c52013740d3a160712d2c8eeb3f48b99b903 (patch)
tree8847b2f081ad644998d2e9d8655f91e8771c1ecf /gdb
parent49def73e4e6717e325275f936681c55e93cba200 (diff)
Fix StringDataPtr gdb pretty printer
Diffstat (limited to 'gdb')
-rw-r--r--gdb/kakoune.py17
1 files changed, 14 insertions, 3 deletions
diff --git a/gdb/kakoune.py b/gdb/kakoune.py
index 97c0e307..f47be8fe 100644
--- a/gdb/kakoune.py
+++ b/gdb/kakoune.py
@@ -73,8 +73,8 @@ class StringView:
def to_string(self):
return "\"%s\"" % (self.val['m_data'].string("utf-8", "ignore", self.val['m_length']['m_value']))
-class StringStoragePtr:
- """ Print a ref_ptr<StringStorage>"""
+class StringDataPtr:
+ """ Print a RefPtr<StringData>"""
def __init__(self, val):
self.val = val
@@ -85,6 +85,16 @@ class StringStoragePtr:
content = (ptr + 1).cast(str_type).string("utf-8", "ignore", ptr.dereference()['length'])
return "\"%s\" (ref:%d)" % (content.replace("\n", "\\n"), ptr.dereference()['refcount'])
+class RefPtr:
+ """ Print a RefPtr"""
+
+ def __init__(self, val):
+ self.val = val
+
+ def to_string(self):
+ ptr = self.val['m_ptr']
+ return "\"refptr %s\"" % (ptr)
+
class Option:
""" Print a Option"""
@@ -131,7 +141,8 @@ def build_pretty_printer():
pp.add_printer('String', '^Kakoune::String$', String)
pp.add_printer('StringView', '^Kakoune::StringView$', StringView)
pp.add_printer('SharedString', '^Kakoune::SharedString$', StringView)
- pp.add_printer('StringStoragePtr', '^Kakoune::ref_ptr<Kakoune::StringStorage>$', StringStoragePtr)
+ pp.add_printer('StringDataPtr', '^Kakoune::RefPtr<Kakoune::StringData,.*>$', StringDataPtr)
+ pp.add_printer('RefPtr', '^Kakoune::RefPtr<.*>$', RefPtr)
pp.add_printer('Option', '^Kakoune::Option$', Option)
pp.add_printer('LineCount', '^Kakoune::LineCount$', LineCount)
pp.add_printer('CharCount', '^Kakoune::CharCount$', CharCount)