summaryrefslogtreecommitdiffstats
path: root/src/declinfo.l
diff options
context:
space:
mode:
Diffstat (limited to 'src/declinfo.l')
-rw-r--r--src/declinfo.l14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/declinfo.l b/src/declinfo.l
index b3a296e..2160021 100644
--- a/src/declinfo.l
+++ b/src/declinfo.l
@@ -48,6 +48,7 @@ static int sharpCount;
static bool classTempListFound;
static bool funcTempListFound;
static QCString exceptionString;
+static bool insideObjC;
static void addType()
{
@@ -117,6 +118,16 @@ ID ([a-z_A-Z][a-z_A-Z0-9]*)|(@[0-9]+)
name += yytext;
BEGIN(Operator);
}
+<Start>{ID}{B}*"("{B}*{ID}{B}*")" { // Objective-C class categories
+ if (!insideObjC)
+ {
+ REJECT;
+ }
+ else
+ {
+ name += yytext;
+ }
+ }
<Start>(~{B}*)?{ID}/({B}*"["{B}*"]")* { // the []'s are for Java,
// the / was add to deal with multi-
// dimensional C++ arrays like A[][15]
@@ -213,7 +224,7 @@ ID ([a-z_A-Z][a-z_A-Z0-9]*)|(@[0-9]+)
/*@ ----------------------------------------------------------------------------
*/
-void parseFuncDecl(const QCString &decl,QCString &cl,QCString &t,
+void parseFuncDecl(const QCString &decl,bool objC,QCString &cl,QCString &t,
QCString &n,QCString &a,QCString &ftl,QCString &exc)
{
inputString = decl;
@@ -222,6 +233,7 @@ void parseFuncDecl(const QCString &decl,QCString &cl,QCString &t,
inputPosition = 0;
classTempListFound = FALSE;
funcTempListFound = FALSE;
+ insideObjC = objC;
scope.resize(0);
className.resize(0);
classTempList.resize(0);