The bug fix for #284 was quite simple, but I kept going, because I wasn't totally satisfied with the quality of this common check.
I ended up modifying the code a lot, but I made sure to always add failing tests before working on a feature, so I recommend going through it commit by commit to keep track of the context.
In a nutshell, here are some issues that this PR fixes:
List of definition was not getting reversed at transition between modules/submodules (bug in #284)
AST traversal changed the AST, causing to skip modules with a single function
AST traversal didn't handle transitions between modules/submodules correctly
code didn't handle overloaded specs
code handled private functions/macros and guards, which are not supposed to have public docs and specs (I guess)
there were other issues due to my own modifications that I fixed at the end
Closes #284.
The bug fix for #284 was quite simple, but I kept going, because I wasn't totally satisfied with the quality of this common check.
I ended up modifying the code a lot, but I made sure to always add failing tests before working on a feature, so I recommend going through it commit by commit to keep track of the context.
In a nutshell, here are some issues that this PR fixes: