GNOME Bugzilla – Bug 387781
ObjC documentation misses members
Last modified: 2007-04-05 20:10:17 UTC
80% of the time, the 'm' file is parsed, and the header file is not used in creating the method list. Note: None of these have javadoc comments..."all entities" was selected. Example: ------- <name> Class Reference Detailed Description Definition at line 36 of file <name>.m ------- There is no documentation generated for this class. On only one case out of 20 classes, it used the header, and generated the method listing documentation. Inspecting the headers and implementation files of the two classes reveals no reason for why one "worked" and the other was skipped (and the m file was used instead) This in effect makes doxygen 80% not working for the Objective C I have tested it on; at least the ones that request "all entities"
Can you please attach a self-contained example (source+config file) that allows me to reproduce the problem?
Created attachment 78867 [details] Objective C source, DoxyFile, and produced html Missing class and member documentation
I have attached a self contained selection of some objective c source files, as well as headers. In the doxyfile, I set it for all entities, but in this set, effectively, nothing was done except create the diagrams and source reference. I have seen DoxyGen work with objective c when it's documented with /// or /** */ tags, but when those are missing, everything seems to be missed. What I was expected was a full listing of functions and classes. Note: When I did the entire project before, as this is just a subset, NIBManager was documented. The base directory is /tmp/ for the DoxyFile. Regards, Ryan
Thanks for providing the example. I have found the source of the problem. Is was in processing #import statements. The fix is to edit src/pre.l and replace <EndImport>[^\\]*/\n { by <EndImport>[^\\\n]*/\n { CVS appears to be down at the moment, so I cannot see when this bug was introduced, but I think it is quite recent (some things were changed to fix #imports for other languages), so you can also try an older version (1.4.7 or 1.5.0) or wait for the next update.
Thanks Dimitri, the 1.4.7 version does work well, so I'll use that until the next update is released.
*** Bug 413877 has been marked as a duplicate of this bug. ***
This bug was marked "assigned" by me some time ago, which means it should be fixed in version 1.5.2 and is hereby marked as such. I would kindly request you to check if this version indeed fixes the problem and reopen the bug report should you still see the same problem.