Skip to content

Commit 740fa9d

Browse files
authored
In 3.12 findlinestarts seems to return None for line more often (#1721)
1 parent 6a7f7c0 commit 740fa9d

3 files changed

Lines changed: 6 additions & 4 deletions

File tree

src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_api.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,8 @@ def iterate():
8383
# bodies of nested class and function definitions, as they have their
8484
# own objects.
8585
for _, lineno in dis.findlinestarts(code):
86-
yield lineno
86+
if lineno is not None:
87+
yield lineno
8788

8889
# For nested class and function definitions, their respective code objects
8990
# are constants referenced by this object.

src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_modify_bytecode.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ def _get_code_line_info(code_obj):
5959
last_line = None
6060

6161
for offset, line in dis.findlinestarts(code_obj):
62-
line_to_offset[line] = offset
62+
if line is not None and offset is not None:
63+
line_to_offset[line] = offset
6364

6465
if line_to_offset:
6566
first_line = min(line_to_offset)

src/debugpy/_vendored/pydevd/pydevd.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -791,10 +791,10 @@ def collect_try_except_info(self, code_obj):
791791
max_line = -1
792792
min_line = sys.maxsize
793793
for _, line in dis.findlinestarts(code_obj):
794-
if line > max_line:
794+
if line is not None and line > max_line:
795795
max_line = line
796796

797-
if line < min_line:
797+
if line is not None and line < min_line:
798798
min_line = line
799799

800800
try_except_infos = [x for x in try_except_infos if min_line <= x.try_line <= max_line]

0 commit comments

Comments
 (0)