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 533821 - C# Generics classes implementing an interface are not corretly documented
C# Generics classes implementing an interface are not corretly documented
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: general
1.7.0
Other Windows
: Normal major
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2008-05-19 08:37 UTC by Jiri Findejs
Modified: 2010-10-13 07:36 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Test file (396 bytes, text/plain)
2008-05-19 08:38 UTC, Jiri Findejs
Details
Doxygen configuration file (59.35 KB, text/plain)
2008-05-19 08:38 UTC, Jiri Findejs
Details

Description Jiri Findejs 2008-05-19 08:37:27 UTC
Consider the following example:

/** \brief A namespace. */
namespace NS
{
  /** \brief An interface. */
  interface IfaceA
  {
  }

  /** \brief Generic implementation of IfaceA. */
  public class ClassA<T> : IfaceA
  {
  }

  /** \brief Specialization of ClassA. */
  public class ClassB : ClassA<long>
  {
  }

  /** \brief Concrete implementation of IfaceA. */
  public class ClassC : IfaceA
  {
  }
}

ClassA is not documented and interface IfaceA is incorrectly documented:

NS::IfaceA< T >	An interface

ClassB has not documented relation to ClassA.

ClassC is OK.
Comment 1 Jiri Findejs 2008-05-19 08:38:02 UTC
Created attachment 111135 [details]
Test file
Comment 2 Jiri Findejs 2008-05-19 08:38:33 UTC
Created attachment 111136 [details]
Doxygen configuration file
Comment 3 Jiri Findejs 2008-10-17 11:04:31 UTC
Everything works fine in Doxygen version 1.5.7.1

    * NS::IfaceA
          o NS::ClassA< long >
                + NS::ClassB 
          o NS::ClassA< T >
          o NS::ClassC 
Comment 4 Jiri Findejs 2009-02-01 15:00:34 UTC
This bug reappears in doxygen 1.5.8. The output from doxygen is now:

This inheritance list is sorted roughly, but not completely, alphabetically:

    * NS::ClassB
    * NS::IfaceA
          o NS::ClassA< T >
          o NS::ClassC 

The correct output is the one produced by doxygen 1.5.7.1, see coment #3.
Comment 5 Jiri Findejs 2009-08-20 18:46:06 UTC
Doxygen versions 1.5.9 and 1.6.0 didn't fix the bug. The behavior is the same as in doxygen 1.5.8.
Bug importance increased.
Comment 6 Jiri Findejs 2010-06-15 22:10:49 UTC
Doxygen version 1.7.0 still contains the bug. It produces the same output as version 1.5.8

•NS::ClassB
•NS::IfaceA
     ◦NS::ClassA< T >
     ◦NS::ClassC

The class NS::ClassB inherits from NS::ClassA<long>. It is not recognized by doxygen. Also ClassA specialization ClassA<long> is not recognized. Doxygen version 1.5.7.1 was able to recognize both.

   * NS::IfaceA
          o NS::ClassA< long >
                + NS::ClassB 
          o NS::ClassA< T >
          o NS::ClassC
Comment 7 Dimitri van Heesch 2010-06-18 21:21:54 UTC
Confirmed. Sorry it took so long, but in the next release this problem should be corrected.
Comment 8 Dimitri van Heesch 2010-06-25 11:48:57 UTC
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.7.1. 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.
Comment 9 Edwin F. López A. 2010-06-27 15:09:16 UTC
Good day.

This issue is similar/related to 583958 (Class diagrams and class hierarchy don't work for java generic classes: https://bugzilla.gnome.org/show_bug.cgi?id=583958), which is not currently assigned.

I had attached a java source file (https://bugzilla.gnome.org/attachment.cgi?id=160795) for that bug that triggers the problem. I have confirmed it happened from versions 1.5.8 and up.

How can I be of any assistance to help fixing it since it is of my interest this is resolved?

Thank you very much.
Comment 10 Dimitri van Heesch 2010-10-09 08:19:15 UTC
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.7.2. 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.
Comment 11 Jiri Findejs 2010-10-13 07:36:24 UTC
It works correctly for attached example as well as for my, much more complex, real case.
Thanks a lot.