summaryrefslogtreecommitdiffstats
path: root/src/scanner.l
diff options
context:
space:
mode:
Diffstat (limited to 'src/scanner.l')
-rw-r--r--src/scanner.l18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/scanner.l b/src/scanner.l
index b654d47..122cd05 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -1220,16 +1220,18 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
current->startLine = yyLineNr;
current->bodyLine = yyLineNr;
lineCount();
- curlyCount=0;
+ }
+<PackageName>";" {
current_root->addSubEntry(current);
current_root = current ;
- current = new Entry ;
+ current = new Entry ;
initEntry();
- BEGIN( FindMembers ) ;
- }
-<PackageName>";" {
BEGIN(FindMembers);
}
+<PackageName>"{" {
+ curlyCount=0;
+ BEGIN( ReadNSBody );
+ }
<FindMembers>{B}*"initonly"{BN}+ {
current->type += " initonly ";
if (insideCli) current->spec |= Entry::Initonly;
@@ -3129,7 +3131,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
current->endBodyLine = yyLineNr;
QCString &cn = current->name;
QCString rn = current_root->name.copy();
- //printf("cn=`%s' rn=`%s'\n",cn.data(),rn.data());
+ //printf("cn=`%s' rn=`%s' isTypedef=%d\n",cn.data(),rn.data(),isTypedef);
if (!cn.isEmpty() && !rn.isEmpty())
{
prependScope();
@@ -3174,7 +3176,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
}
else
{
- if (!isTypedef)
+ if (!isTypedef && cn.find('@')==-1) // not typedef or unnamed struct
{
// enabled the next two lines for bug 623424
current->doc.resize(0);
@@ -3392,7 +3394,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
}
if (*yytext==';') // end of a struct/class ...
{
- if (msName.isEmpty() && memspecEntry && (current->section&Entry::COMPOUND_MASK))
+ if (!isTypedef && msName.isEmpty() && memspecEntry && (current->section&Entry::COMPOUND_MASK))
{ // case where a class/struct has a doc block after it
if (!current->doc.isEmpty())
{