forked from qt-creator/qt-creator
dumpers: share the code for extractTemplateArgument
Change-Id: Ic1b03d2dffdfb7ba6ead191601127b54af38b3cd Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
@@ -340,6 +340,34 @@ class DumperBase:
|
||||
def stringData(self, value):
|
||||
return self.byteArrayDataHelper(self.dereferenceValue(value))
|
||||
|
||||
def extractTemplateArgument(self, typename, position):
|
||||
level = 0
|
||||
skipSpace = False
|
||||
inner = ''
|
||||
for c in typename[typename.find('<') + 1 : -1]:
|
||||
if c == '<':
|
||||
inner += c
|
||||
level += 1
|
||||
elif c == '>':
|
||||
level -= 1
|
||||
inner += c
|
||||
elif c == ',':
|
||||
if level == 0:
|
||||
if position == 0:
|
||||
return inner.strip()
|
||||
position -= 1
|
||||
inner = ''
|
||||
else:
|
||||
inner += c
|
||||
skipSpace = True
|
||||
else:
|
||||
if skipSpace and c == ' ':
|
||||
pass
|
||||
else:
|
||||
inner += c
|
||||
skipSpace = False
|
||||
return inner.strip()
|
||||
|
||||
def putStringValue(self, value):
|
||||
return self.putValue(self.encodeString(value), Hex4EncodedLittleEndian)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user