[Python-checkins] bpo-46306: simplify `CodeType` attribute access in `doctest.py` (GH-30481)

ericvsmith webhook-mailer at python.org
Sat Jan 8 15:13:50 EST 2022


https://github.com/python/cpython/commit/0fc58c1e051026baff4919d8519ce2aabe3b2ba1
commit: 0fc58c1e051026baff4919d8519ce2aabe3b2ba1
branch: main
author: Nikita Sobolev <mail at sobolevn.me>
committer: ericvsmith <ericvsmith at users.noreply.github.com>
date: 2022-01-08T15:13:42-05:00
summary:

bpo-46306: simplify `CodeType` attribute access in `doctest.py` (GH-30481)

Assume co_firstlineno always exists on types.CodeType objects.

Co-authored-by: Kumar Aditya <59607654+kumaraditya303 at users.noreply.github.com>

files:
A Misc/NEWS.d/next/Library/2022-01-08-13-53-25.bpo-46306.1_es8z.rst
M Lib/doctest.py

diff --git a/Lib/doctest.py b/Lib/doctest.py
index b27cbdfed46ff..4735b59852685 100644
--- a/Lib/doctest.py
+++ b/Lib/doctest.py
@@ -1113,7 +1113,7 @@ def _find_lineno(self, obj, source_lines):
         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
index 0000000000000..02943c95a7d79
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2022-01-08-13-53-25.bpo-46306.1_es8z.rst
@@ -0,0 +1,2 @@
+Assume that :class:`types.CodeType` always has :attr:`types.CodeType.co_firstlineno` in
+:mod:`doctest`.



More information about the Python-checkins mailing list