summaryrefslogtreecommitdiffstats
path: root/src/docparser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/docparser.cpp')
-rw-r--r--src/docparser.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/docparser.cpp b/src/docparser.cpp
index de28a65..a812406 100644
--- a/src/docparser.cpp
+++ b/src/docparser.cpp
@@ -724,7 +724,21 @@ static bool findDocsForMemberOrCompound(const QCString &commandName,
// for symbols we need to normalize the separator, so A#B, or A\B, or A.B becomes A::B
cmdArg = substitute(cmdArg,"#","::");
cmdArg = substitute(cmdArg,"\\","::");
- cmdArg = substitute(cmdArg,".","::");
+ static bool extractAnonNs = Config_getBool(EXTRACT_ANON_NSPACES);
+ if (extractAnonNs &&
+ cmdArg.startsWith("anonymous_namespace{")
+ )
+ {
+ int rightBracePos = cmdArg.find("}", std::strlen("anonymous_namespace{"));
+ QCString leftPart = cmdArg.left(rightBracePos + 1);
+ QCString rightPart = cmdArg.right(cmdArg.size() - rightBracePos - 1);
+ rightPart = substitute(rightPart, ".", "::");
+ cmdArg = leftPart + rightPart;
+ }
+ else
+ {
+ cmdArg = substitute(cmdArg,".","::");
+ }
int l=(int)cmdArg.length();