Merge remote-tracking branch 'origin/4.14' into 4.15

Change-Id: I9b4f24456b94381fb7427d60bd683069edf31360
This commit is contained in:
Eike Ziller
2021-03-09 12:44:12 +01:00

View File

@@ -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