After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 387781 - ObjC documentation misses members
ObjC documentation misses members
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: general
1.5.1
Other Mac OS
: Normal blocker
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2006-12-20 04:35 UTC by Ryan
Modified: 2007-04-05 20:10 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Objective C source, DoxyFile, and produced html (98.20 KB, application/x-compressed-tar)
2006-12-25 01:12 UTC, Ryan
Details

Description Ryan 2006-12-20 04:35:37 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"
Comment 1 Dimitri van Heesch 2006-12-23 13:49:03 UTC
Can you please attach a self-contained example (source+config file) that allows me to reproduce the problem?
Comment 2 Ryan 2006-12-25 01:12:48 UTC
Created attachment 78867 [details]
Objective C source, DoxyFile, and produced html

Missing class and member documentation
Comment 3 Ryan 2006-12-25 01:15:03 UTC
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
Comment 4 Dimitri van Heesch 2006-12-29 10:43:06 UTC
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.








Comment 5 Ryan 2006-12-30 03:55:37 UTC
Thanks Dimitri, the 1.4.7 version does work well, so I'll use that until the next update is released. 
Comment 6 dazza 2007-03-03 14:19:23 UTC
*** Bug 413877 has been marked as a duplicate of this bug. ***
Comment 7 Dimitri van Heesch 2007-04-05 20:10:17 UTC
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.