]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
bpo-35113: Fix inspect.getsource to return correct source for inner classes (#10307)
authorKarthikeyan Singaravelan <tir.karthi@gmail.com>
Sat, 18 Apr 2020 16:19:32 +0000 (21:49 +0530)
committerGitHub <noreply@github.com>
Sat, 18 Apr 2020 16:19:32 +0000 (21:49 +0530)
commit696136b993e11b37c4f34d729a0375e5ad544ade
tree19b1085d34db9d665b8f131e3f99bd0c2a40fcb6
parentce578831a4e573eac422a488930100bc5380f227
bpo-35113: Fix inspect.getsource to return correct source for inner classes (#10307)

* Use ast module to find class definition

* Add NEWS entry

* Fix class with multiple children and move decorator code to the method

* Fix PR comments

1. Use node.decorator_list to select decorators
2. Remove unwanted variables in ClassVisitor
3. Simplify stack management as per review

* Add test for nested functions and async calls

* Fix pydoc test since comments are returned now correctly

* Set event loop policy as None to fix environment related change

* Refactor visit_AsyncFunctionDef and tests

* Refactor to use local variables and fix tests

* Add patch attribution

* Use self.addCleanup for asyncio

* Rename ClassVisitor to ClassFinder and fix asyncio cleanup

* Return first class inside conditional in case of multiple definitions. Remove decorator for class source.

* Add docstring to make the test correct

* Modify NEWS entry regarding decorators

* Return decorators too for bpo-15856

* Move ast and the class source code to top. Use proper Exception.
Lib/inspect.py
Lib/test/inspect_fodder2.py
Lib/test/test_inspect.py
Lib/test/test_pydoc.py
Misc/NEWS.d/next/Library/2018-11-03-16-18-20.bpo-35113.vwvWKG.rst [new file with mode: 0644]