--- a/src/eric7/UI/PythonDisViewer.py Tue Oct 15 12:07:51 2024 +0200 +++ b/src/eric7/UI/PythonDisViewer.py Tue Oct 15 16:29:36 2024 +0200 @@ -11,6 +11,7 @@ import dis import enum import os +import sys from PyQt6.QtCore import Qt, QTimer, pyqtSlot from PyQt6.QtGui import QBrush @@ -337,7 +338,13 @@ fields = [] # Column: Source code line number (right aligned) if instr.starts_line: - fields.append("{0:d}".format(instr.starts_line)) + fields.append( + "{0:d}".format( + instr.starts_line + if sys.version_info < (3, 13) + else instr.line_number + ) + ) else: fields.append("") # Column: Instruction offset from start of code sequence @@ -514,15 +521,30 @@ lasti = disassembly["lasti"] lastStartItem = None for instrDict in disassembly["instructions"]: - instr = dis.Instruction( - instrDict["opname"], - 0, # dummy value - instrDict["arg"], - "", # dummy value - instrDict["argrepr"], - instrDict["offset"], - instrDict["lineno"], - instrDict["isJumpTarget"], + instr = ( + dis.Instruction( + instrDict["opname"], + 0, # dummy value + instrDict["arg"], + "", # dummy value + instrDict["argrepr"], + instrDict["offset"], + instrDict["lineno"], + instrDict["isJumpTarget"], + ) + if sys.version_info < (3, 13, 0) + else dis.Instruction( + instrDict["opname"], + 0, # dummy value + instrDict["arg"], + "", # dummy value + instrDict["argrepr"], + instrDict["offset"], + instrDict["offset"], + instrDict["starts_line"], + instrDict["lineno"], + instrDict["label"] if instrDict["label"] else None, + ) ) if instrDict["lineno"] > 0: if lastStartItem: