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 641673 - Doygen hangs when PHP class name == namespace in use statement
Doygen hangs when PHP class name == namespace in use statement
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: general
1.7.3-SVN
Other Linux
: Normal normal
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2011-02-06 19:29 UTC by Peter Norden
Modified: 2011-03-28 14:18 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Peter Norden 2011-02-06 19:29:16 UTC
The following class will cause Doxygen to hang on "Computing class inheritance relations...". Note the "Foo" namespace and the coexisting "use Foo\Foo;" statement:

-----
<?php

namespace Foo\Data;

use Foo\Foo;

class DataSet implements IteratorAggregate {

}
-----

If you either change the namespace, one of the "Foo" in the use statement or move the "use IteratorAggregate" below "Foo\Foo", it works. The problem also disappears as soon as no global import is involved.

Working examples:

-----
<?php

namespace Foo\Data;

use IteratorAggregate;
use Foo\AnotherFoo;

class DataSet implements IteratorAggregate {

}

-----
<?php

namespace AnotherFoo\Data;

use IteratorAggregate;
use AnotherFoo\Foo;

class DataSet implements IteratorAggregate {

}

-----
<?php

namespace Foo\Data;

use Foo\Foo;
use IteratorAggregate;

class DataSet implements IteratorAggregate {

}

-----
<?php

namespace Foo\Data;

use Foo\Foo;

class DataSet {

}
-----


Doxygen output for the first example:

Searching for include files...
Searching for example files...
Searching for images...
Searching for dot files...
Searching for msc files...
Searching for files to exclude
Searching for files to process...
Reading and parsing tag files
Reading [***]/Dataset.php...
Parsing file [***]/Dataset.php...
Building group list...
Building directory list...
Building namespace list...
Building file list...
Building class list...
Associating documentation with classes...
Computing nesting relations for classes...
Building example list...
Searching for enumerations...
Searching for documented typedefs...
Searching for members imported via using declarations...
Searching for included using directives...
Searching for documented variables...
Building member list...
Searching for friends...
Searching for documented defines...
Computing class inheritance relations...
Comment 1 Dimitri van Heesch 2011-02-17 20:46:02 UTC
*** Bug 642021 has been marked as a duplicate of this bug. ***
Comment 2 Dimitri van Heesch 2011-02-17 21:11:23 UTC
Confirmed. Should be fixed in the next subversion update.
Comment 3 Dimitri van Heesch 2011-03-28 14:18:55 UTC
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.7.4. 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.