i've been trying to nail this bug, but the behavior of docparser._global_name() is not clear to me, so i prefer to discuss about it.
I found the issue trying to generate api docs for the twisted package by parsing. The offending situation is summarized by the attached package.
Briefly, in the twisted.manhole module there is the following class declaration:
from twisted.application import service
when the base classes are being inspected, "service.Service" must be translated into a global name, but it is erroneously transformed into "twisted.manhole.service.Service". The inheritance tree becomes a graph with a loop which eventually leads to a runtime error for excessive recursion depth.
To reproduce the bug, unpack the attached package and parse it using:
epydoc --parse-only twis
You can put a breakpoint on docparser.py:954 (rev. 1418): it will stop right before the wrong call.
p.s. this bug category should be "parsing"
Log in to post a comment.