diff options
author | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2001-04-22 19:01:52 (GMT) |
---|---|---|
committer | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2001-04-22 19:01:52 (GMT) |
commit | e9fc69b9a4c0106bb5d20efe26d34fd15722a834 (patch) | |
tree | 1f4c97eefd0176861661608ecd3cf7fe0a63225f /src/scanner.l | |
parent | 6dd67240ada85194cac05801d5fcdfa3bc58772d (diff) | |
download | Doxygen-e9fc69b9a4c0106bb5d20efe26d34fd15722a834.zip Doxygen-e9fc69b9a4c0106bb5d20efe26d34fd15722a834.tar.gz Doxygen-e9fc69b9a4c0106bb5d20efe26d34fd15722a834.tar.bz2 |
Release-1.2.6-20010422
Diffstat (limited to 'src/scanner.l')
-rw-r--r-- | src/scanner.l | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/src/scanner.l b/src/scanner.l index cf35630..2a38b43 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -1248,7 +1248,7 @@ TITLE [tT][iI][tT][lL][eE] BEGIN(AfterDoc); } } -<FindMembers,FindFields>"//"([!*]?){B}*{CMD}"{"|"/*"([!*]?){B}*{CMD}"{" { +<FindMembers,FindFields>"//"([!/]?){B}*{CMD}"{"|"/*"([!*]?){B}*{CMD}"{" { startGroup(); tmpDocType=-1; if (current_root->section & Entry::SCOPE_MASK) @@ -1267,7 +1267,7 @@ TITLE [tT][iI][tT][lL][eE] BEGIN( Doc ); } } -<FindMembers,FindFields,ReadInitializer>"//"([!*]?){B}*{CMD}"}"|"/*"([!*]?){B}*{CMD}"}"{B}*"*/" { +<FindMembers,FindFields,ReadInitializer>"//"([!/]?){B}*{CMD}"}"|"/*"([!*]?){B}*{CMD}"}"{B}*"*/" { endGroup(); } <FindMembers>"=" { @@ -1687,6 +1687,15 @@ TITLE [tT][iI][tT][lL][eE] varEntry->doc = current->doc.copy(); varEntry->brief = current->brief.copy(); varEntry->mGrpId = current->mGrpId; + + // deep copy group list + QListIterator<QCString> sli(*current->groups); + QCString *s; + for (;(s=sli.current());++sli) + { + varEntry->groups->append(new QCString(*s)); + } + //printf("Add: type=`%s',name=`%s',args=`%s'\n", // varEntry->type.data(),varEntry->name.data(),varEntry->args.data()); current_root->addSubEntry(varEntry); @@ -2313,7 +2322,6 @@ TITLE [tT][iI][tT][lL][eE] BEGIN( ClassVar ); } <ClassVar>{SCOPENAME}{BN}*/"(" { - err("Inside IDL = %d\n",insideIDL); if (insideIDL && strncmp(yytext,"switch",6)==0 && !isId(yytext[6])) { // Corba IDL style union @@ -3810,7 +3818,19 @@ static void parseCompounds(Entry *rt) mtype = Method; gstat = FALSE; virt = Normal; + + memberGroupId = NOGROUP; + + // rebuild compound's group context + QCString *s = ce->groups->first(); + if (s) + { + lastDefGroup=*s; + startGroup(); + } + current->mGrpId = memberGroupId = ce->mGrpId; + scanYYlex() ; delete current; current=0; ce->program.resize(0); |