[Doxygen-develop] Undeserved explicit link warnings with 1.5.2
Brought to you by:
dimitri
From: Robbie G. <ro...@m8...> - 2007-04-11 09:38:32
|
Hi All, I'm getting warnings like myFile.cpp:2: Warning: explicit link request to 'myFunction' could not be resolved The documentation source in question is a "#myFunction" reference in the @file section of myFile.cpp. They're being generated by calls to docparser.cpp's handleLinkedWord from the buildFileList call of parseInput. Note that myFunction is indeed a documented function. The generated documentation is actually correct - when handleLinkedWord is called from doxygen.cpp's generateFileDocs, no warning is produced, and the correct link is made in the final generated documentation. The first call (the one that produces the warnings) is via Definition::_setBriefDescription, which calls parseCommentAsText in order to garner the tooltip text - so iiuc it doesn't need to expand the links anyway. I hacked up a quick change using a global set by validatingParseDoc to arrange handleLinkedWord to just return a DocWord always, and arrange for only the call from parseCommentAsText to set the global. This appears to fix the problem, but maybe there's a better way to address this ? To a first glance/guess, it looks like the early warnings are being produced because the functions have not yet been parsed, and so the references to them are unknown. I get a few other cases, some when variables reference function names, and occasionally when variables reference other variables. The same issue occurs for \ref links in the same context, and for the same reasons. A simliar change (using the same global) in DocRef::DocRef also fixes this. i'm happy to post my patch if that's desired, but if there's a better way to attack this, lmk and (time permitting) i'll have a go at implementing that. This happens both with a self compiled exe and with the distributed zipped binaries (windows). - robbie |