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 707266 - C++/CLI indexed property not documented
C++/CLI indexed property not documented
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: documentation
1.8.5
Other Windows
: Normal normal
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2013-09-02 07:18 UTC by Marcel
Modified: 2016-12-29 18:45 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Source and configuration file to reproduce bug (25.35 KB, application/x-zip-compressed)
2013-09-23 07:06 UTC, Marcel
Details

Description Marcel 2013-09-02 07:18:38 UTC
When I have an indexed property in a C++/CLI class, Doxygen 1.8.5 gives a warning.

Example:
public ref class Foo
{
public:
    /// <summary>
    /// Constructor.
    /// </summary>
    Foo() {}

    /// <summary>
    /// The nth element of this object.
    /// </summary>
    property Byte default[UInt16]
    {
        Byte get(UInt16 n);
        void set(UInt16 n, Byte value);
    }

private:
    System::Generic::List<Byte> m_list;
};

When I run Doxygen over this code, the following warning is issued:
warning: documented symbol `Byte Foo::default' was not declared or defined.

A similar warning is issued when I rename the "default" property to for example "Bar":
warning: documented symbol `Byte Foo::Bar' was not declared or defined.

Even when I add the implementation to the class definition, the same warnings are issued.
Comment 1 Dimitri van Heesch 2013-09-22 08:31:52 UTC
I don't see this warning with the above example.
Can you please attach a self-contained example (source+config file in a tar or zip) that allows me to reproduce the problem?
Comment 2 Marcel 2013-09-23 07:05:25 UTC
I have attached a source file with the configuration file that reproduces the issue.
I have also done some additional investigation myself and indeed the issue cannot be reproduced with the original example. However, the issue is triggered when a datatype is used with a full namespace specification.
Changing the original example to

public ref class Foo
{
public:
    /// <summary>
    /// Constructor.
    /// </summary>
    Foo() {}

    /// <summary>
    /// The nth element of this object.
    /// </summary>
    property Byte default[System::UInt16]
    {
        Byte get(System::UInt16 n);
        void set(System::UInt16 n, Byte value);
    }

private:
    System::Generic::List<Byte> m_list;
};

already triggers the warning and leaves the indexed property out of the documentation.

In my project I use a datatype of my own (defined in another namespace) as the index of the class. This causes the issue.
Comment 3 Marcel 2013-09-23 07:06:19 UTC
Created attachment 255547 [details]
Source and configuration file to reproduce bug
Comment 4 Dimitri van Heesch 2016-12-03 19:08:25 UTC
Confirmed. Should be fixed in the next GIT update.
Comment 5 Dimitri van Heesch 2016-12-29 18:45:56 UTC
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.8.13. Please verify if this is indeed the case. Reopen the
bug if you think it is not fixed and please include any additional information 
that you think can be relevant (preferably in the form of a self-contained example).