forked from qt-creator/qt-creator
Debugger: Drop some Python 2 leftovers
Change-Id: Id120abaadb23af4139fc126b14a37932f6d630ea Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -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):
|
||||||
|
@@ -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
|
|
||||||
|
|
||||||
if sys.version_info[0] >= 3:
|
|
||||||
_c_str_trans = str.maketrans({"\n": "\\n", '"':'\\"', "\\":"\\\\"})
|
_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])
|
||||||
|
Reference in New Issue
Block a user