summaryrefslogtreecommitdiffstats
path: root/src/docparser.cpp
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2010-04-18 13:59:11 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2010-04-18 13:59:11 (GMT)
commit85b3296309775195f499c1ae43ad2575379a1e55 (patch)
tree5a45c08fe6f9334d87e18a8b8271d2c8cbb71e93 /src/docparser.cpp
parent707831ea739af5ae137c9cc1d04e3ffbbde11a6a (diff)
downloadDoxygen-85b3296309775195f499c1ae43ad2575379a1e55.zip
Doxygen-85b3296309775195f499c1ae43ad2575379a1e55.tar.gz
Doxygen-85b3296309775195f499c1ae43ad2575379a1e55.tar.bz2
Release-1.6.3-20100418
Diffstat (limited to 'src/docparser.cpp')
-rw-r--r--src/docparser.cpp27
1 files changed, 22 insertions, 5 deletions
diff --git a/src/docparser.cpp b/src/docparser.cpp
index d0b8fb0..cd7e956 100644
--- a/src/docparser.cpp
+++ b/src/docparser.cpp
@@ -535,10 +535,10 @@ static void detectNoDocumentedParams()
}
else if ( // see if return needs to documented
g_memberDef->hasDocumentedReturnType() ||
- returnType.isEmpty() || // empty return type
- returnType.find("void")!=-1 || // void return type
- !g_memberDef->isConstructor() || // a constructor
- !g_memberDef->isDestructor() // or destructor
+ returnType.isEmpty() || // empty return type
+ returnType.find("void")!=-1 || // void return type
+ g_memberDef->isConstructor() || // a constructor
+ g_memberDef->isDestructor() // or destructor
)
{
g_memberDef->setHasDocumentedReturnType(TRUE);
@@ -670,7 +670,24 @@ static bool findDocsForMemberOrCompound(const char *commandName,
if (l==0) return FALSE;
int funcStart=cmdArg.find('(');
- if (funcStart==-1) funcStart=l;
+ if (funcStart==-1)
+ {
+ funcStart=l;
+ }
+ else
+ {
+ // Check for the case of operator() and the like.
+ // beware of scenarios like operator()((foo)bar)
+ int secondParen = cmdArg.find('(', funcStart+1);
+ int leftParen = cmdArg.find(')', funcStart+1);
+ if (leftParen!=-1 && secondParen!=-1)
+ {
+ if (leftParen<secondParen)
+ {
+ funcStart=secondParen;
+ }
+ }
+ }
QString name=removeRedundantWhiteSpace(cmdArg.left(funcStart).latin1());
QString args=cmdArg.right(l-funcStart);