Skip to content

Commit ebab8a2

Browse files
committed
issue doxygen#11510 enum class value not appearing in the documentation if using std::numeric_limits
1 parent d1e0f0b commit ebab8a2

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

src/scanner.l

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2063,6 +2063,7 @@ NONLopt [^\n]*
20632063
yyextra->current->bodyLine = yyextra->yyLineNr;
20642064
yyextra->current->bodyColumn = yyextra->yyColNr;
20652065
yyextra->lastInitializerContext = UsingAlias;
2066+
yyextra->sharpCount=0;
20662067
yyextra->initBracketCount=0;
20672068
storeClangId(yyscanner,yyextra->current->name.data());
20682069
BEGIN(ReadInitializer);
@@ -3054,6 +3055,7 @@ NONLopt [^\n]*
30543055
yyextra->current->bodyColumn = yyextra->yyColNr;
30553056
yyextra->current->initializer.str(yytext);
30563057
yyextra->lastInitializerContext = YY_START;
3058+
yyextra->sharpCount=0;
30573059
yyextra->initBracketCount=0;
30583060
yyextra->current->mtype = yyextra->mtype = MethodTypes::Property;
30593061
yyextra->current->spec.setGettable(true);
@@ -3064,6 +3066,7 @@ NONLopt [^\n]*
30643066
yyextra->current->bodyColumn = yyextra->yyColNr;
30653067
yyextra->current->initializer.str(yytext);
30663068
yyextra->lastInitializerContext = YY_START;
3069+
yyextra->sharpCount=0;
30673070
yyextra->initBracketCount=0;
30683071
BEGIN(ReadInitializer);
30693072
}
@@ -3207,15 +3210,26 @@ NONLopt [^\n]*
32073210
<ReadInitializer,ReadInitializerPtr>("<<"|"<=") {
32083211
yyextra->current->initializer << yytext;
32093212
}
3210-
<ReadInitializer,ReadInitializerPtr>(">>"|">=") {
3213+
<ReadInitializer,ReadInitializerPtr>(">>") {
3214+
if (yyextra->initBracketCount<=yyextra->sharpCount && yyextra->sharpCount>=2)
3215+
{
3216+
// heuristic to detect '>>' in A<B<C>>::D as '> >', but not e.g. 'A>>B' or A<B<(C>>2)>::D>
3217+
yyextra->initBracketCount-=2;
3218+
yyextra->sharpCount-=2;
3219+
}
3220+
yyextra->current->initializer << yytext;
3221+
}
3222+
<ReadInitializer,ReadInitializerPtr>(">=") {
32113223
yyextra->current->initializer << yytext;
32123224
}
32133225
<ReadInitializer,ReadInitializerPtr>[<\[{(] {
32143226
yyextra->initBracketCount++;
3227+
yyextra->sharpCount++;
32153228
yyextra->current->initializer << *yytext;
32163229
}
32173230
<ReadInitializer,ReadInitializerPtr>[>\]})] {
32183231
yyextra->initBracketCount--;
3232+
yyextra->sharpCount--;
32193233
if (*yytext=='}')
32203234
{
32213235
yyextra->current->endBodyLine=yyextra->yyLineNr;
@@ -4061,12 +4075,14 @@ NONLopt [^\n]*
40614075
// Java enum initializer
40624076
unput(*yytext);
40634077
yyextra->lastInitializerContext = YY_START;
4078+
yyextra->sharpCount=0;
40644079
yyextra->initBracketCount=0;
40654080
yyextra->current->initializer.str("=");
40664081
BEGIN(ReadInitializer);
40674082
}
40684083
<FindFields>"=" {
40694084
yyextra->lastInitializerContext = YY_START;
4085+
yyextra->sharpCount=0;
40704086
yyextra->initBracketCount=0;
40714087
yyextra->current->initializer.str(yytext);
40724088
BEGIN(ReadInitializer);
@@ -4588,6 +4604,7 @@ NONLopt [^\n]*
45884604
}
45894605
<MemberSpec>"=" {
45904606
yyextra->lastInitializerContext=YY_START;
4607+
yyextra->sharpCount=0;
45914608
yyextra->initBracketCount=0;
45924609
yyextra->current->initializer.str(yytext);
45934610
BEGIN(ReadInitializer);
@@ -5331,6 +5348,7 @@ NONLopt [^\n]*
53315348
{
53325349
// typically an initialized function pointer
53335350
yyextra->lastInitializerContext=YY_START;
5351+
yyextra->sharpCount=0;
53345352
yyextra->initBracketCount=0;
53355353
yyextra->current->initializer.str(yytext);
53365354
BEGIN(ReadInitializer);
@@ -6058,6 +6076,7 @@ NONLopt [^\n]*
60586076
yyextra->current->bodyColumn = yyextra->yyColNr;
60596077
yyextra->current->initializer.str(std::string());
60606078
yyextra->lastInitializerContext = FindMembers;
6079+
yyextra->sharpCount=0;
60616080
yyextra->initBracketCount=0;
60626081
BEGIN(ReadInitializer);
60636082
}
@@ -6918,6 +6937,7 @@ NONLopt [^\n]*
69186937
yyextra->current->bodyColumn = yyextra->yyColNr;
69196938
yyextra->current->initializer.str(yytext);
69206939
yyextra->lastInitializerContext = YY_START;
6940+
yyextra->sharpCount=0;
69216941
yyextra->initBracketCount=1;
69226942
BEGIN(ReadInitializer);
69236943
}

0 commit comments

Comments
 (0)