You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.7 KiB
49 lines
1.7 KiB
diff -Naur doxygen-1.7.3.orig/src/scanner.l doxygen-1.7.3/src/scanner.l
|
|
--- doxygen-1.7.3.orig/src/scanner.l 2010-11-30 22:45:51.000000000 +0100
|
|
+++ doxygen-1.7.3/src/scanner.l 2011-11-20 05:25:20.494000106 +0100
|
|
@@ -1436,6 +1436,7 @@
|
|
}
|
|
lineCount() ;
|
|
if (yytext[yyleng-1]=='{') unput('{');
|
|
+ if (yytext[yyleng-1]=='(') unput('(');
|
|
if (insidePHP && current->spec&Entry::Abstract)
|
|
{
|
|
// convert Abstract to AbstractClass
|
|
@@ -1507,6 +1508,7 @@
|
|
}
|
|
}
|
|
<FindMembers>{B}*{TYPEDEFPREFIX}"struct{" |
|
|
+<FindMembers>{B}*{TYPEDEFPREFIX}"CLASS(" |
|
|
<FindMembers>{B}*{TYPEDEFPREFIX}"struct"/{BN}+ {
|
|
isTypedef=((QCString)yytext).find("typedef")!=-1;
|
|
current->section = Entry::CLASS_SEC ;
|
|
@@ -1514,7 +1516,12 @@
|
|
// bug 582676: can be a struct nested in an interface so keep insideObjC state
|
|
//current->objc = insideObjC = FALSE;
|
|
addType( current ) ;
|
|
- current->type += " struct" ;
|
|
+ if (yytext[yyleng-1]=='(') {
|
|
+ unput('(');
|
|
+ current->type += " class" ;
|
|
+ } else {
|
|
+ current->type += " struct" ;
|
|
+ }
|
|
current->fileName = yyFileName;
|
|
current->startLine = yyLineNr;
|
|
current->bodyLine = yyLineNr;
|
|
@@ -4540,6 +4547,7 @@
|
|
// e.g. @protocol A,B;
|
|
current->reset();
|
|
}
|
|
+<CompoundName>{ID} |
|
|
<CompoundName>{SCOPENAME} {
|
|
current->name = yytext ;
|
|
lineCount();
|
|
@@ -4806,6 +4814,7 @@
|
|
BEGIN( ReadBodyIntf );
|
|
}
|
|
}
|
|
+<CompoundName>")"{BN}*"{"{BN}* |
|
|
<CompoundName,ClassVar>{B}*"{"{B}* {
|
|
current->fileName = yyFileName ;
|
|
current->startLine = yyLineNr ;
|