src/eric7/DebugClients/Python/DebugBase.py

branch
eric7
changeset 10979
960fe726594c
parent 10683
779cda568acb
child 10981
e80ffe75107c
diff -r 0373041ce25a -r 960fe726594c src/eric7/DebugClients/Python/DebugBase.py
--- a/src/eric7/DebugClients/Python/DebugBase.py	Tue Oct 15 12:07:51 2024 +0200
+++ b/src/eric7/DebugClients/Python/DebugBase.py	Tue Oct 15 16:29:36 2024 +0200
@@ -1065,14 +1065,30 @@
 
         # 1. disassembly info
         for instr in dis.get_instructions(co):
-            instrDict = {
-                "lineno": 0 if instr.starts_line is None else instr.starts_line,
-                "isJumpTarget": instr.is_jump_target,
-                "offset": instr.offset,
-                "opname": instr.opname,
-                "arg": instr.arg,
-                "argrepr": instr.argrepr,
-            }
+            instrDict = (
+                {
+                    "lineno": 0 if instr.starts_line is None else instr.starts_line,
+                    "starts_line": instr.starts_line is not None,
+                    "isJumpTarget": instr.is_jump_target,
+                    "offset": instr.offset,
+                    "opname": instr.opname,
+                    "arg": instr.arg,
+                    "argrepr": instr.argrepr,
+                    "label": "dummy_label" if instr.is_jump_target else "",
+                    # IDE might be 3.13.0+
+                }
+                if sys.version_info < (3, 13, 0)
+                else {
+                    "lineno": 0 if instr.line_number is None else instr.line_number,
+                    "starts_line": instr.starts_line,
+                    "isJumpTarget": instr.is_jump_target,
+                    "offset": instr.offset,
+                    "opname": instr.opname,
+                    "arg": instr.arg,
+                    "argrepr": instr.argrepr,
+                    "label": "" if instr.label is None else instr.label,
+                }
+            )
             disDict["instructions"].append(instrDict)
 
         # 2. code info

eric ide

mercurial