Take a look at this call graph. Now look at the source of that function and all the calls to methods of InboundLedger
, through the shared_ptr<InboundLedger>
named inbound
. Notice how the call graph mentions none of those methods. Notice how the source doesn't cross-reference hyperlink any of those methods (unlike the methods of app_
, for example).
If we look at a method of InboundLedger
, we can see that Doxygen can resolve and hyperlink other methods of InboundLedger
that it calls (tryDB()
, isDone()
, done()
), so the problem isn't just a general "Doxygen can't resolve InboundLedger
".
This is the source tree that was used to build that documentation. This is the Doxyfile in that tree. I used Doxygen 1.8.18, built from source, commit b4b47b3919650d7350acc9fe59becaee4a3d5ff5. I had started my journey on 1.8.13, the version packaged for Ubuntu Eoan.
I have enabled BUILTIN_STL_SUPPORT
, so Doxygen should be able to see through std::shared_ptr
. In fact, I have tried to build a minimum reproducible example with this same Doxyfile and failed; three files with InboundLedger
, InboundLedgers
, and InboundLedgersImp
was able to resolve the call graph as I expected, with the help of BUILTIN_STL_SUPPORT
.
I have tried changing various settings, but they af nothing:
- Upped
DOT_GRAPH_MAX_NODES
to 200 - Set every
EXTRACT_*
setting toYES
- Unset
TAGFILES
- Set
CLANG_ASSISTED_PARSING
toYES