Skip to content
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

[PROPOSED PATCH] wrong collaboration diagram when in template used scoped argument type (Origin: bugzilla #729921) #5476

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

Comments

Projects
None yet
1 participant
@doxygen
Copy link
Owner

doxygen commented Jul 2, 2018

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

Original attachment names and IDs:

On 2014-05-10 15:22:20 +0000, Robert Paciorek wrote:

Created attachment 276283
example of wrong collaboration diagram

For simple code:

namespace AAA {
struct BB {
AAA::BB* v1;
BB* v2;

  std::list<AAA::BB*> l1;
  std::list<BB*> l2;

};
}

and config:
EXTRACT_ALL = YES
BUILTIN_STL_SUPPORT = YES
ALWAYS_DETAILED_SEC = YES
HAVE_DOT = YES
CALL_GRAPH = YES
CALLER_GRAPH = YES

Doxygen 1.8.1.2 generate correct "collaboration diagram" - see attachment OK__structAAA_1_1BB__coll__graph.png.

Doxygen 1.8.6 generate wrong "collaboration diagram" l1 on diagram is AAA::AAA::BB type and not reference to BB struct - see attachment BAD__structAAA_1_1BB__coll__graph.png.

Problem is probably in normalizeNonTemplateArgumentsInString() function, or in used by it getResolvedClass() function.

Using
result+=cd->localName();
instead
result+=cd->name()
in normalizeNonTemplateArgumentsInString() function fix this issue, but don't resolve short name to full scope name (I don't know if it's a problem for other functionality of doxygen).

On 2014-05-10 15:23:16 +0000, Robert Paciorek wrote:

Created attachment 276284
example of correct collaboration diagram

On 2016-05-11 20:37:32 +0000, Robert Paciorek wrote:

Created attachment 327662
proposed patch

Patch for current git version.

Add colon to regexp, because in scoped type name is integral part of type name and there's no need cut template class name on colons.

On 2016-10-17 19:56:57 +0000, Dimitri van Heesch wrote:

Thanks, I'll include the patch in the next GIT update.

On 2016-12-29 18:45:47 +0000, Dimitri van Heesch wrote:

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).

@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
You can’t perform that action at this time.