]> granicus.if.org Git - python/commit
bpo-31183: `dis` now handles coroutines & async generators (GH-3077)
authorsyncosmic <gc@syncosmic.io>
Fri, 18 Aug 2017 02:29:21 +0000 (19:29 -0700)
committerNick Coghlan <ncoghlan@gmail.com>
Fri, 18 Aug 2017 02:29:21 +0000 (12:29 +1000)
commitfe2b56ab9212c1cf19c48b848fa60f7f201c366f
treed16493fb8cc7ff1f7e947011e65670d6d8e5e425
parent82aff62462e65077a6614b466c986f93a601c33d
bpo-31183: `dis` now handles coroutines & async generators (GH-3077)

Coroutines and async generators use a distinct attribute name for their
code objects, so this updates the `dis` module to correctly disassemble
objects with those attributes.

Due to the increase in the test module length, it also fixes some latent
defects in the tests related to how the displayed source line numbers
are extracted.

https://bugs.python.org/issue31230 is a follow-up issue suggesting we
may want to solve this a different way, by instead giving all these object
types a common `__code__` attribute, avoiding the need for special
casing in the `dis` module.
Doc/library/dis.rst
Lib/dis.py
Lib/test/test_dis.py
Misc/NEWS.d/next/Library/2017-08-13-09-17-01.bpo-31183.-2_YGj.rst [new file with mode: 0644]