Modify

Opened 8 years ago

Closed 6 years ago

Last modified 6 years ago

#780 closed enhancement (fixed)

Perform Doxygen-like name mangling

Reported by: dirk@… Owned by: cboos
Priority: normal Component: DoxygenPlugin
Severity: normal Keywords:
Cc: Trac Release: 0.11

Description

The current version has problems finding named objects in namespaces, as doxygen encodes '::' as '_1_1' in the filename and some other characters, too (see utils.cpp:escapeCharsInString()). The following patch fixes it. I had to do a few things differently, as you can't have spaces in a WikiLink, but doxygen maps TypeTrait<bool> to TypeTrait< bool >. Currently the mapper adds the spaces (resp. their code), to make doxygen:TypeTrait<bool> work right. This might barf in other languages or other situations, but seems to work ok for now.

It also adds a default namespace option to the .ini that is searched if the global name is not found. This simplifies support for system where everything is in a common namespace.

Hope it helps

Dirk

Attachments (3)

doxygen_namespace.diff (2.7 KB) - added by dirk@… 8 years ago.
namespace search patch
doxygenplugin_dr.zip (75.3 KB) - added by dirk@… 7 years ago.
Full code for extended plugin
doxygen_namemangling.patch (2.3 KB) - added by Giel van Schijndel <me@…> 6 years ago.
Unified diff version of ticket:780:doxygen_namespace.diff

Download all attachments as: .zip

Change History (8)

Changed 8 years ago by dirk@…

namespace search patch

comment:1 follow-up: Changed 7 years ago by Emlyn.Corrin@…

I can't seem to download the diff file (it just links to a page saying when it was added), could somebody send it to me?
All my code is inside a namespace, so this patch would really make doxygenplugin much more useful to me.

Thanks,
Emlyn

Changed 7 years ago by dirk@…

Full code for extended plugin

comment:2 in reply to: ↑ 1 Changed 7 years ago by dirk@…

Replying to Emlyn.Corrin@cern.ch:

I can't seem to download the diff file (it just links to a page saying when it was added), could somebody send it to me?

Hm, not sure what went wrong there. I attached a full version of the code.

Hope it helps

Dirk

comment:3 Changed 6 years ago by Giel van Schijndel <me@…>

  • Summary changed from Searching for named objects in namespaces support to Perform Doxygen-like name mangling

Attached a unified diff version of the above patch ticket:780:doxygen_namespace.diff. This patch basically performs some name mangling in a similar way to how Doxygen does it.

Changed 6 years ago by Giel van Schijndel <me@…>

Unified diff version of ticket:780:doxygen_namespace.diff

comment:4 Changed 6 years ago by cboos

  • Resolution set to fixed
  • Status changed from new to closed

(In [3735]) 0.11: emulate doxygen name mangling (patch by dirk@…, closes #780)

comment:5 Changed 6 years ago by cboos

  • Trac Release changed from 0.10 to 0.11

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.