]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-46306: simplify `CodeType` attribute access in `doctest.py` (GH-30481)
authorNikita Sobolev <mail@sobolevn.me>
Sat, 8 Jan 2022 20:13:42 +0000 (23:13 +0300)
committerGitHub <noreply@github.com>
Sat, 8 Jan 2022 20:13:42 +0000 (15:13 -0500)
Assume co_firstlineno always exists on types.CodeType objects.

Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
Lib/doctest.py
Misc/NEWS.d/next/Library/2022-01-08-13-53-25.bpo-46306.1_es8z.rst [new file with mode: 0644]

index b27cbdfed46ffd2e4f2364f00fac61c1132ac2cc..4735b59852685c9a517d0703b7dbf88400800e1d 100644 (file)
@@ -1113,7 +1113,7 @@ class DocTestFinder:
         if inspect.istraceback(obj): obj = obj.tb_frame
         if inspect.isframe(obj): obj = obj.f_code
         if inspect.iscode(obj):
-            lineno = getattr(obj, 'co_firstlineno', None)-1
+            lineno = obj.co_firstlineno - 1
 
         # Find the line number where the docstring starts.  Assume
         # that it's the first line that begins with a quote mark.
diff --git a/Misc/NEWS.d/next/Library/2022-01-08-13-53-25.bpo-46306.1_es8z.rst b/Misc/NEWS.d/next/Library/2022-01-08-13-53-25.bpo-46306.1_es8z.rst
new file mode 100644 (file)
index 0000000..02943c9
--- /dev/null
@@ -0,0 +1,2 @@
+Assume that :class:`types.CodeType` always has :attr:`types.CodeType.co_firstlineno` in
+:mod:`doctest`.