forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/4.14' into 4.15
Change-Id: I9b4f24456b94381fb7427d60bd683069edf31360
This commit is contained in:
@@ -844,39 +844,7 @@ class Dumper(DumperBase):
|
||||
if typeobj is not None:
|
||||
return typeobj
|
||||
|
||||
return self.lookupNativeTypeInAllModules(name)
|
||||
|
||||
def lookupNativeTypeInAllModules(self, name):
|
||||
needle = self.canonicalTypeName(name)
|
||||
#DumperBase.warn('NEEDLE: %s ' % needle)
|
||||
DumperBase.warn('Searching for type %s across all target modules, this could be very slow' % name)
|
||||
for i in range(self.target.GetNumModules()):
|
||||
module = self.target.GetModuleAtIndex(i)
|
||||
# SBModule.GetType is new somewhere after early 300.x
|
||||
# So this may fail.
|
||||
for t in module.GetTypes():
|
||||
n = self.canonicalTypeName(t.GetName())
|
||||
#DumperBase.warn('N: %s' % n)
|
||||
if n == needle:
|
||||
#DumperBase.warn('FOUND TYPE DIRECT 2: %s ' % t)
|
||||
self.typeCache[name] = t
|
||||
return t
|
||||
if n == needle + '*':
|
||||
res = t.GetPointeeType()
|
||||
self.typeCache[name] = res
|
||||
x = self.fromNativeType(res) # Register under both names
|
||||
self.registerTypeAlias(x.typeId, name)
|
||||
#DumperBase.warn('FOUND TYPE BY POINTER: %s ' % res.name)
|
||||
return res
|
||||
if n == needle + '&':
|
||||
res = t.GetDereferencedType().GetUnqualifiedType()
|
||||
self.typeCache[name] = res
|
||||
x = self.fromNativeType(res) # Register under both names
|
||||
self.registerTypeAlias(x.typeId, name)
|
||||
#DumperBase.warn('FOUND TYPE BY REFERENCE: %s ' % res.name)
|
||||
return res
|
||||
#DumperBase.warn('NOT FOUND: %s ' % needle)
|
||||
return None
|
||||
return lldb.SBType()
|
||||
|
||||
def setupInferior(self, args):
|
||||
""" Set up SBTarget instance """
|
||||
@@ -2075,10 +2043,6 @@ class SummaryDumper(Dumper, LogMixin):
|
||||
def report(self, stuff):
|
||||
return # Don't mess up lldb output
|
||||
|
||||
def lookupNativeTypeInAllModules(self, name):
|
||||
self.warn('Failed to resolve type %s' % name)
|
||||
return None
|
||||
|
||||
def dump_summary(self, valobj, expanded=False):
|
||||
try:
|
||||
from pygdbmi import gdbmiparser
|
||||
|
Reference in New Issue
Block a user