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 591749 - Objective-C protocol @optional/@required not represented in XML
Objective-C protocol @optional/@required not represented in XML
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: general
1.5.9
Other All
: Normal minor
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2009-08-13 21:53 UTC by Matt Ball
Modified: 2009-08-20 10:13 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Matt Ball 2009-08-13 21:53:02 UTC
Please describe the problem:
Doxygen does not appear to add any information about whether Objective-C 2.0 protocol methods have been marked as @optional or @required to its XML output.

This information is added to the generated HTML files, but there does not seem to be any way to determine whether a protocol method is optional or required solely from the XML output. This makes it very difficult to write XSLT stylesheets to format the XML however one wants -- no matter what, the information available from the XML is not as complete as that in the HTML output.

Steps to reproduce:
1. Mark protocol methods as @optional or @required
2. Generate XML documentation
3. Look for any indicators as to required-ness in the generated XML


Actual results:
There is no way to determine whether a given member of the protocol is optional or required.

Expected results:
Each member has a "required='yes/no'" attribute or something similar.

Does this happen every time?
yes

Other information:
I maintain a script (called Doxyclean) which converts Doxygen's XML output into a format which is consistent with Apple's documentation. Without this information, my script is unable to mark protocol methods appropriately.
Comment 1 Dimitri van Heesch 2009-08-14 07:30:46 UTC
Hi Matt,

I'll add the missing attributes in the next update, along with the missing set accessor for properties (assign|retain|copy).

I'll also add a link to your script from the helpers section of doxygen's website so more people can find it.
Comment 2 Dimitri van Heesch 2009-08-20 10:13:17 UTC
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.6.0. Please verify if this is indeed the case and reopen the
bug if you think it is not fixed (include any additional information that you
think can be relevant).