summaryrefslogtreecommitdiffstats
path: root/src/declinfo.l
diff options
context:
space:
mode:
Diffstat (limited to 'src/declinfo.l')
-rw-r--r--src/declinfo.l11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/declinfo.l b/src/declinfo.l
index 7a1b020..bfa599e 100644
--- a/src/declinfo.l
+++ b/src/declinfo.l
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2000 by Dimitri van Heesch.
+ * Copyright (C) 1997-2001 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -114,7 +114,7 @@ ID ([a-z_A-Z][a-z_A-Z0-9]*)|(@[0-9]+)
name += yytext;
BEGIN(Operator);
}
-<Start>(~{B}*)?{ID} {
+<Start>(~{B}*)?{ID}({B}*"["{B}*"]")* { // the []'s are for Java
addTypeName();
name += yytext;
}
@@ -228,6 +228,13 @@ void parseFuncDecl(const QCString &decl,QCString &cl,QCString &ctl,QCString &t,
//printf("type=`%s' class=`%s' name=`%s' args=`%s'\n",
// type.data(),scope.data(),name.data(),args.data());
+ int nb = name.findRev('[');
+ if (nb!=-1) // correct for [] in name ambigity (due to Java return type allowing [])
+ {
+ args.prepend(name.right(name.length()-nb));
+ name=name.left(nb);
+ }
+
cl=scope.copy();
//printf("scope=`%s'\n",scope.data());
int il=0,ir=0;