Error in Clang Doxygen?

There are some entities documented in the source that are not included in the doxygen. For example, CXXRecordDecl has a page, but none of its members appear:
http://clang.llvm.org/doxygen/classCXXRecordDecl.html

For another example, neither CXXMethodDecl nor CXXCtorInitializer have pages at all, even though they appear in the same file (AST/DeclCXX.h), in the same scope, immediately following CXXRecordDecl. Is there an error in the documentation for CXXRecordDecl that prevents doxygen from finishing the file? I generated the docs with warnings, and I got no warnings for the file AST/DeclCXX.h.

- John

Hi,
   Yes from time to time somebody asks about that (I did before) but didn't get answer. Perhaps it is not that important, but it is annoying.
   I could generate documentation as well, but I prefer to use the online docs because they are always up-to-date. Can anyone tell what needs to be fixed in order to see doxygen for DeclCXX in the online documentation?
Vassil

This problem does not just exist with the online docs. I cannot build docs for AST/DeclCXX.h on my machine either.

- John

Knowing how doxygen works (it parses the source code itself, yay), I'm guessing something in the file got doxygen incredibly confused and made it refuse to parse the rest of the source file correctly. It might be possible to fix if you could find a specific error in the invocation.

What need to be done in DXR to cover Doxygen features level (besides the JS UI)?

Kind Regards,
Alek

Hi,
   I got it. There was \code instead of @code and @endcode :slight_smile:
Vassil

declcxx_fix_doxygen.diff (665 Bytes)

Doxygen's documentation implies that it's okay to use \ rather than @ here… I'm guessing that the missing \endcode is the real problem, and have committed that tweak. Thanks for tracking this down!

  - Doug

It works! Thank you so much!

- John

Hi Doug,
   Sure! You're right the closing doxygen tag is missing :slight_smile: I didn't think...
Vassil

I would need to get the comment[s] associated with a Decl, and also find someway to do the doxygen translation on that. After that, it's just a manner of storing the HTML for the output somewhere and loading it up on request.