diff options
author | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2010-11-06 19:00:58 (GMT) |
---|---|---|
committer | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2010-11-06 19:00:58 (GMT) |
commit | 01f41c40b8505c8f197ef1e5bf7e3a3bc777dc0e (patch) | |
tree | 0a8fa55f942d3a0e2f845bc77e6a357b9fb1c1c7 /src/scanner.l | |
parent | a32c2461bfbe6705159abfcae92fb11f1309b37c (diff) | |
download | Doxygen-01f41c40b8505c8f197ef1e5bf7e3a3bc777dc0e.zip Doxygen-01f41c40b8505c8f197ef1e5bf7e3a3bc777dc0e.tar.gz Doxygen-01f41c40b8505c8f197ef1e5bf7e3a3bc777dc0e.tar.bz2 |
Release-1.7.2-20101106
Diffstat (limited to 'src/scanner.l')
-rw-r--r-- | src/scanner.l | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/src/scanner.l b/src/scanner.l index 4846433..be8f716 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -4733,19 +4733,27 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?) BEGIN( ClassVar ); } <ClassVar>":" { - current->type.resize(0); - if ((current->spec & Entry::Interface) || - (current->spec & Entry::Struct) || - (current->spec & Entry::Ref) || - (current->spec & Entry::Value) || - insidePHP || insideCS || insideD || insideObjC - ) - baseProt=Public; + if (current->section == Entry::VARIABLE_SEC) // enum a b:2, see bug 313527 + { + BEGIN(BitFields); + current->bitfields+=":"; + } else - baseProt=Private; - baseVirt=Normal; - baseName.resize(0); - BEGIN( BasesProt ) ; + { + current->type.resize(0); + if ((current->spec & Entry::Interface) || + (current->spec & Entry::Struct) || + (current->spec & Entry::Ref) || + (current->spec & Entry::Value) || + insidePHP || insideCS || insideD || insideObjC + ) + baseProt=Public; + else + baseProt=Private; + baseVirt=Normal; + baseName.resize(0); + BEGIN( BasesProt ) ; + } } <ClassVar>[;=*&] { unput(*yytext); |