summaryrefslogtreecommitdiff
path: root/share/qtcreator/debugger/dumper.py
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2017-08-15 15:17:12 +0200
committerhjk <hjk@qt.io>2017-08-21 10:35:06 +0000
commit8cb944f4ffd3427f200be3068c875481eded9de4 (patch)
tree230800ce16ea7d6324589efea951b8a78d0d2b52 /share/qtcreator/debugger/dumper.py
parentaf73f6e5723a4b9de1d1e55bdbb62188d35385ff (diff)
downloadqt-creator-8cb944f4ffd3427f200be3068c875481eded9de4.tar.gz
Debugger: Display summaries for CoreFoundation types
Uses lldb's GetSummary() method to display values for CoreFoundation string-like variables. Task-number: QTCREATORBUG-18638 Change-Id: Icca6d9cf7b328c80b44eebe597259f38aba1c3ef Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'share/qtcreator/debugger/dumper.py')
-rw-r--r--share/qtcreator/debugger/dumper.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py
index 1a332ab3e1..e415bc1deb 100644
--- a/share/qtcreator/debugger/dumper.py
+++ b/share/qtcreator/debugger/dumper.py
@@ -2714,6 +2714,8 @@ class DumperBase:
if typeobj.code == TypeCodePointer:
self.putFormattedPointer(value)
+ if value.summary and self.useFancy:
+ self.putValue(self.hexencode(value.summary), 'utf8:1:0')
return
self.putAddress(value.address())
@@ -2797,6 +2799,12 @@ class DumperBase:
#warn('INAMES: %s ' % self.expandedINames)
#warn('EXPANDED: %s ' % (self.currentIName in self.expandedINames))
self.putType(typeName)
+
+ if value.summary is not None and self.useFancy:
+ self.putValue(self.hexencode(value.summary), 'utf8:1:0')
+ self.putNumChild(0)
+ return
+
self.putNumChild(1)
self.putEmptyValue()
#warn('STRUCT GUTS: %s ADDRESS: 0x%x ' % (value.name, value.address()))
@@ -2858,6 +2866,7 @@ class DumperBase:
self.laddress = None # Own address.
self.lIsInScope = True
self.ldisplay = None
+ self.summary = None # Always hexencoded UTF-8.
self.lbitpos = None
self.lbitsize = None
self.targetValue = None # For references.
@@ -2873,6 +2882,7 @@ class DumperBase:
val.laddress = self.laddress
val.lIsInScope = self.lIsInScope
val.ldisplay = self.ldisplay
+ val.summary = self.summary
val.lbitpos = self.lbitpos
val.lbitsize = self.lbitsize
val.targetValue = self.targetValue
@@ -3190,6 +3200,7 @@ class DumperBase:
return self.detypedef().dereference()
val = self.dumper.Value(self.dumper)
if self.type.code == TypeCodeReference:
+ val.summary = self.summary
if self.nativeValue is None:
val.laddress = self.pointer()
if val.laddress is None and self.laddress is not None: