GNOME Bugzilla – Bug 582676
Regression: a struct ivar in ObjC class screws up method identification
Last modified: 2009-08-20 10:12:48 UTC
This is a regression between 1.5.8 and 1.5.9. If I have an ObjC class like this: @interface MyStructClass : NSObject { struct { unsigned int _used; unsigned int _reserved; } _s; int _i; } - (int)aMethod; @end doxygen 1.5.8 will properly identify the aMethod method as a virtual function: <member kind="function" virtualness="virtual"> <type>int</type> <name>aMethod</name> <anchorfile>interface_my_struct_class.html</anchorfile> <anchor>89673546ff21f82f35ccd79aac28fcfa</anchor> <arglist>()</arglist> </member> In doxygen 1.5.9, it (and any other methods in the class) get identified as a protected variable: <member kind="variable" protection="protected"> <type>int</type> <name>aMethod</name> <anchorfile>interface_my_struct_class.html</anchorfile> <anchor>65c91d18e131ae97a78bc6e5165588c6</anchor> <arglist></arglist> </member> Removing the struct, gives correct results in both versions of doxygen.
Created attachment 134670 [details] File demonstrating error
I've attached a tgz file containing my test header, DOXYGEN file, and the Tags files created by 1.5.8 and 1.5.9.
Confirmed. Should be fixed again in the next subversion update.
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).