New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

members missing from classes in output tag files (Origin: bugzilla #694376) #5086

Closed
doxygen opened this Issue Jul 2, 2018 · 0 comments

Comments

Projects
None yet
1 participant
@doxygen
Owner

doxygen commented Jul 2, 2018

status RESOLVED severity normal in component general for ---
Reported in version 1.8.3.1 on platform Other
Assigned to: Dimitri van Heesch

Original attachment names and IDs:

On 2013-02-21 17:16:37 +0000, damon.carter@xcerra.com wrote:

Created attachment 237071
test case, with 1.8.2 and 1.8.3 output

We have discovered that in the change from Doxygen version 1.8.2 to 1.8.3 and beyond, the contents of the generated tag file output has changed. In 1.8.2 and before, the container held all of the class member functions and enums in containers. In 1.8.2 and 1.8.3, the member functions are also contained in . But in 1.8.3 and later, the contains only undocumented member functions, all the documented members are missing. This breaks our context-sensitive help, because our internal software relies on being able to get the member function help based upon the class name, it has no knowledge of the group name.

I have attached a test case and a potential patch.

On 2013-02-21 17:18:34 +0000, damon.carter@xcerra.com wrote:

Created attachment 237072
patch for memberdef.cpp

I don't pretend to know if this fix has undesired side effects, but it fixes the problem for me.

On 2013-02-21 18:54:31 +0000, damon.carter@xcerra.com wrote:

I notice also that elements and <member kind="enumvalue> are missing from the list for container when comparing 1.8.2 vs 1.8.3. In the example submitted, there should be enumerations showing for the group1 container. My patch does not address that issue, but if all mention of the tagDataWritten bool are removed from the memberdef.cpp file, that problem also goes away. Removing the bool does leave duplicate members listed for the file and group containers, but at least the info is not missing.

On 2013-03-07 14:21:06 +0000, damon.carter@xcerra.com wrote:

Created attachment 238297
Better patch to fix problem

This patches fixes this problem and also fixes duplication of enumvalues in the tags file. This fix makes it so this version of Doxygen has the same member elements in the tags file as were found in older versions of Doxygen.
This fix changes the MemberDef::_writeTagData routine to add an argument for the definition type the member element is being printed from. Then the element keeps track that it has been written from file, class, group, etc. Routines which call _writeTagData have been modified to pass in their definitionType() value.

On 2013-03-07 19:19:11 +0000, Dimitri van Heesch wrote:

That's a pretty neat patch. I'll include it in the next subversion update.

On 2013-03-08 17:36:40 +0000, damon.carter@xcerra.com wrote:

Created attachment 238384
same patch file, not zipped

This is the same patch, but the patch file is not gzipped.

On 2013-05-19 12:36:02 +0000, Dimitri van Heesch wrote:

This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.8.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.

On 2013-05-20 16:15:54 +0000, damon.carter@xcerra.com wrote:

I agree, it is fixed, thank you!

@doxygen doxygen closed this Jul 2, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment