Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DocSet Tokens.xml file mislabels most symbols (Origin: bugzilla #557026) #3131

Closed
doxygen opened this Issue Jul 2, 2018 · 0 comments

Comments

Projects
None yet
1 participant
@doxygen
Copy link
Owner

doxygen commented Jul 2, 2018

status RESOLVED severity major in component general for ---
Reported in version 1.5.7.1 on platform Other
Assigned to: Dimitri van Heesch

Original attachment names and IDs:

On 2008-10-20 04:36:14 +0000, Peter wrote:

When generating a docset, most Objective-C API symbols are marked up incorrectly. As a result, the symbols do not show up in Xcode's Research Assistant.

I've created a sample header for a bunch of different ObjC symbols and listed their proper apple_ref (the basis of the TokenIdentifier structure) as \brief documentation. I will attach the header and resulting Tokens.xml files to this bug (if possible). You can compare each token's TokenIdentifier with its Abstract element to see each mismatch.

Two significant things to highlight though...

  1. "@interface" defines an ObjC class (or in some cases category on a class) and should be listed as type='cl', but doxygen marks it up as type='intf'. "@protocol" defines an ObjC protocol and should be listed as type='intf', but doxygen marks it up as type='cl'. Given the keywords and conflicting terminology between ObjC and Java, the confusion is quite understandable.

  2. Doxygen appends "-p" to the name of protocols. This needs to be stripped off when the name appears in the TokenIdentifier element.

On 2008-10-20 04:39:41 +0000, Peter wrote:

Created attachment 120901
Sample header and Tokens.xml file show incorrect markup

On 2008-10-21 18:20:51 +0000, Dimitri van Heesch wrote:

Confirmed. I'll correct these in the next subversion update.

On 2008-12-27 14:12:56 +0000, Dimitri van Heesch wrote:

This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.5.8. 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).

On 2009-03-05 02:00:02 +0000, Peter wrote:

I just tested the attached test header with 1.5.8. The 2 significant items I highlighted in the bug description have been fixed, but all the other symbols in the header are still marked up incorrectly. Sorry for not making it clear that there were more than these 2 issues being reported.

More highlights of things going wrong...

  1. Global constants and enums are being marked up as C++ symbols instead of plain C (eg, myGlobalConstant and myEnum).

  2. Instance methods of a class should have the type "instm", but doxygen is using "intfm", which is the type used to identify instance methods of a protocol.

  3. Static/class methods of a class should have the type "clm", but doxygen is using "intfm" again.

  4. Properties are all getting marked as C++ symbols.

  5. Member methods and properties of protocols are using a name identifing the protocol, but it still uses the "-p" version of the protocol name.

On 2009-07-29 17:50:28 +0000, Peter wrote:

Created attachment 139493
Proposed patch that fixes all the issues

This patch fixes all the issues I report in this bug. It is based on the latest files in the subversion repository: "Release-1.5.9-20090720".

On 2009-08-12 08:44:13 +0000, Dimitri van Heesch wrote:

Thanks for the patch. I'll include it in the next update.

On 2009-08-20 10:13:11 +0000, Dimitri van Heesch wrote:

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).

@doxygen doxygen closed this Jul 2, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.