Commit d3756a1
committed
Fix lineno offset across python version
Previously call_site.f_lineno was used but this definition changed by an offset of 1 in Python 3.11
You can verify this, e.g., by running this script:
class MyDecorator:
def __call__(self, func):
frame = inspect.currentframe()
call_site = frame.f_back
func_def_line = func.__code__.co_firstlineno
if sys.version_info < (3, 11):
assert call_site.f_lineno - func_def_line == 1
else:
assert call_site.f_lineno - func_def_line == 2
return func
decorator = MyDecorator()
@decorator # Line 26
def test_func(): # Line 27
pass1 parent cc0bdd7 commit d3756a1
2 files changed
+3
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
216 | 216 | | |
217 | 217 | | |
218 | 218 | | |
219 | | - | |
| 219 | + | |
220 | 220 | | |
221 | 221 | | |
222 | 222 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
138 | 138 | | |
139 | 139 | | |
140 | 140 | | |
141 | | - | |
| 141 | + | |
142 | 142 | | |
143 | 143 | | |
144 | 144 | | |
| |||
150 | 150 | | |
151 | 151 | | |
152 | 152 | | |
153 | | - | |
| 153 | + | |
154 | 154 | | |
155 | 155 | | |
156 | 156 | | |
| |||
0 commit comments