summaryrefslogtreecommitdiffstats
path: root/src/scanner.l
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2010-11-06 19:00:58 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2010-11-06 19:00:58 (GMT)
commit01f41c40b8505c8f197ef1e5bf7e3a3bc777dc0e (patch)
tree0a8fa55f942d3a0e2f845bc77e6a357b9fb1c1c7 /src/scanner.l
parenta32c2461bfbe6705159abfcae92fb11f1309b37c (diff)
downloadDoxygen-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.l32
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);