Link to home
Start Free TrialLog in
Avatar of aedolbey
aedolbeyFlag for Afghanistan

asked on

Doxygen error with constructor generated

Experts,

I'm using Doxygen to generate doc files for Java classes that are organized in an Eclipse project.  Doxygen appears to run without any problems, but the doc page for classes in the project includes an error in the section that lists the constructor.

Here's an example of what the problem looks like.  Say the project is part of the following package:

  org.foo.bar

The name of a class in the project is this:

  MyClass

So the full name of the class would be this:

  org.foo.bar.MyClass

In the result file Doxygen produces for 'MyClass', the very first section has this:

---------
  Public Member Functions

   MyClass ()
---------

So far, so good -- this looks fine.  But the next section has the problem:

---------
  Constructor & Destructor Documentation

   org.foo.bar.MyClass.MyClass ()
---------

Here the class name is included *twice* in the full name listing, almost as if it's there once as part of the package name and then again, filling the role of class name.  This, of course, would not compile.  It's a real shame, since otherwise, the results Doxygen produced look pretty good.  And, it was fast, easy, and free to do this, so I don't want to complain too loudly about this.

Has anybody else had this problem with Doxygen?  For there to be any errors in the results, I would not have guessed it would be with the constructor!

Any thoughts?

Thanks.

Andy
ASKER CERTIFIED SOLUTION
Avatar of Mahesh Bhutkar
Mahesh Bhutkar

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of aedolbey

ASKER

Fair enough that the constructor would be presented in a fuller form, but make sure the result would actually work!  This guy would compile:

  MyClass myClassTok = new org.foo.bar.MyClass ();

The form given would not work:

  MyClass myClassTok = new org.foo.bar.MyClass.MyClass ();  // won't compile!

Rather than futzing around with DoxygenLayout or Doxygen source code, an even faster solution would be just to manually correct in the result the one item with the mistake.