Debugger: Consolidate special type lookups in *bridge.py

Change-Id: If5f255a32f1cfde925345f4a33e6fa4de01d10d2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2016-09-28 09:13:14 +02:00
parent cce9159c3a
commit 412d7b2255
4 changed files with 17 additions and 58 deletions
+15 -9
View File
@@ -467,6 +467,21 @@ class DumperBase:
self.cachedFormats[typeName] = stripped
return stripped
def intType(self):
result = self.lookupType('int')
self.intType = lambda: result
return result
def charType(self):
result = self.lookupType('char')
self.intType = lambda: result
return result
def ptrSize(self):
result = self.lookupType('void*').size()
self.ptrSize = lambda: result
return result
# Hex decoding operating on str, return str.
def hexdecode(self, s):
if sys.version_info[0] == 2:
@@ -626,15 +641,6 @@ class DumperBase:
def stringData(self, value):
return self.byteArrayDataHelper(self.extractPointer(value))
def encodeStdString(self, value, limit = 0):
data = value["_M_dataplus"]["_M_p"]
sizePtr = data.cast(self.sizetType().pointer())
size = int(sizePtr[-3])
alloc = int(sizePtr[-2])
self.check(0 <= size and size <= alloc and alloc <= 100*1000*1000)
elided, shown = self.computeLimit(size, limit)
return self.readMemory(data, shown)
def extractTemplateArgument(self, typename, position):
level = 0
skipSpace = False