diff options
Diffstat (limited to 'src/docparser.cpp')
-rw-r--r-- | src/docparser.cpp | 16 |
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(); |