diff options
Diffstat (limited to 'src/declinfo.l')
-rw-r--r-- | src/declinfo.l | 14 |
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); |