This issue has gotten worse now #1244 has been merged, but wasn't perfect before, either. The docs currently show functions that are explicitly defined in the interface file; they do not show functions that are present on the interface due to inheritance. This doesn't really obstruct the usefulness of the docs, as it's the explicitly defined functions that are usually of interest, but for completeness I think all functions should be present.
I would expect a solution to this to involve some combination of flattening the contract in question (npx hardhat flatten), and using the compiled ABI to work out which functions are actually visible on the contract, and then stitching together the comments from the source file as is currently done. I would find any solution that resulted in all functions that are callable on the contract being visible acceptable, though.
This issue has gotten worse now #1244 has been merged, but wasn't perfect before, either. The docs currently show functions that are explicitly defined in the interface file; they do not show functions that are present on the interface due to inheritance. This doesn't really obstruct the usefulness of the docs, as it's the explicitly defined functions that are usually of interest, but for completeness I think all functions should be present.
I would expect a solution to this to involve some combination of flattening the contract in question (
npx hardhat flatten
), and using the compiled ABI to work out which functions are actually visible on the contract, and then stitching together the comments from the source file as is currently done. I would find any solution that resulted in all functions that are callable on the contract being visible acceptable, though.