Debugger: Drop some Python 2 leftovers

Change-Id: Id120abaadb23af4139fc126b14a37932f6d630ea
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2024-06-11 13:52:26 +02:00
parent 670b4ec729
commit 363e9b4c1a
2 changed files with 6 additions and 32 deletions

View File

@@ -736,9 +736,6 @@ class DumperBase():
# Hex decoding operating on str, return str. # Hex decoding operating on str, return str.
@staticmethod @staticmethod
def hexdecode(s, encoding='utf8'): def hexdecode(s, encoding='utf8'):
if sys.version_info[0] == 2:
# For python2 we need an extra str() call to return str instead of unicode
return str(s.decode('hex').decode(encoding))
return bytes.fromhex(s).decode(encoding) return bytes.fromhex(s).decode(encoding)
# Hex encoding operating on str or bytes, return str. # Hex encoding operating on str or bytes, return str.
@@ -746,10 +743,6 @@ class DumperBase():
def hexencode(s): def hexencode(s):
if s is None: if s is None:
s = '' s = ''
if sys.version_info[0] == 2:
if isinstance(s, buffer):
return bytes(s).encode('hex')
return s.encode('hex')
if isinstance(s, str): if isinstance(s, str):
s = s.encode('utf8') s = s.encode('utf8')
return hexencode_(s) return hexencode_(s)
@@ -2727,10 +2720,7 @@ typename))
try: try:
if funcname.startswith('qdump__'): if funcname.startswith('qdump__'):
typename = funcname[7:] typename = funcname[7:]
if sys.version_info > (3,):
spec = inspect.getfullargspec(function) spec = inspect.getfullargspec(function)
else:
spec = inspect.getargspec(function)
if len(spec.args) == 2: if len(spec.args) == 2:
self.qqDumpers[typename] = function self.qqDumpers[typename] = function
elif len(spec.args) == 3 and len(spec.defaults) == 1: elif len(spec.args) == 3 and len(spec.defaults) == 1:
@@ -2777,11 +2767,8 @@ typename))
def reloadDumpers(self, args): def reloadDumpers(self, args):
for mod in self.dumpermodules: for mod in self.dumpermodules:
m = sys.modules[mod] m = sys.modules[mod]
if sys.version_info[0] >= 3:
import importlib import importlib
importlib.reload(m) importlib.reload(m)
else:
reload(m)
self.setupDumpers(args) self.setupDumpers(args)
def loadDumpers(self, args): def loadDumpers(self, args):

View File

@@ -18,11 +18,7 @@ sys.path.insert(1, os.path.dirname(os.path.abspath(inspect.getfile(inspect.curre
# Simplify development of this module by reloading deps # Simplify development of this module by reloading deps
if 'dumper' in sys.modules: if 'dumper' in sys.modules:
if sys.version_info[0] >= 3:
if sys.version_info[1] > 3:
from importlib import reload from importlib import reload
else:
def reload(m): print('Unsupported Python version - not reloading %s' % str(m))
reload(sys.modules['dumper']) reload(sys.modules['dumper'])
from dumper import DumperBase, SubItem, Children, TopLevelItem from dumper import DumperBase, SubItem, Children, TopLevelItem
@@ -34,16 +30,10 @@ from dumper import DumperBase, SubItem, Children, TopLevelItem
####################################################################### #######################################################################
qqWatchpointOffset = 10000 qqWatchpointOffset = 10000
_c_str_trans = None _c_str_trans = str.maketrans({"\n": "\\n", '"':'\\"', "\\":"\\\\"})
if sys.version_info[0] >= 3:
_c_str_trans = str.maketrans({"\n": "\\n", '"':'\\"', "\\":"\\\\"})
def toCString(s): def toCString(s):
if _c_str_trans is not None:
return str(s).translate(_c_str_trans) return str(s).translate(_c_str_trans)
else:
return str(s).replace('\\', '\\\\').replace('\n', '\\n').replace('"', '\\"')
def fileNameAsString(file): def fileNameAsString(file):
return toCString(file) if file.IsValid() else '' return toCString(file) if file.IsValid() else ''
@@ -2360,9 +2350,6 @@ class SummaryProvider(LogMixin):
if encoding in text_encodings: if encoding in text_encodings:
try: try:
decodedValue = Dumper.hexdecode(summaryValue, encoding) decodedValue = Dumper.hexdecode(summaryValue, encoding)
# LLDB expects UTF-8 for python 2
if sys.version_info[0] < 3:
return "\"%s\"" % (decodedValue.encode('utf8'))
return '"' + decodedValue + '"' return '"' + decodedValue + '"'
except: except:
return "<failed to decode '%s' as '%s': %s>" % (summaryValue, encoding, sys.exc_info()[1]) return "<failed to decode '%s' as '%s': %s>" % (summaryValue, encoding, sys.exc_info()[1])