doxygen/doxygen-771344.patch

24 lines
1.1 KiB
Diff

commit b93dbcdab6dfc5681ec49f1d567698b7c4dc6846
Author: albert-github <albert.tests@gmail.com>
Date: Sun Sep 18 17:58:30 2016 +0200
Bug 771344 - Class name 'internal' breaks class hierarchy in C++
Analogous to the rule for:
<FindMembers>{B}*"internal"{BN}*":"{BN}*
reject the "internal" keyword in case not in Cli
diff --git a/src/scanner.l b/src/scanner.l
index 6c69224..68eb8fc 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -5771,7 +5771,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
<BasesProt>"virtual"{BN}+ { lineCount(); baseVirt = Virtual; }
<BasesProt>"public"{BN}+ { lineCount(); baseProt = Public; }
<BasesProt>"protected"{BN}+ { lineCount(); baseProt = Protected; }
-<BasesProt>"internal"{BN}+ { lineCount(); baseProt = Package; }
+<BasesProt>"internal"{BN}+ { if (!insideCli) REJECT ; lineCount(); baseProt = Package; }
<BasesProt>"private"{BN}+ { lineCount(); baseProt = Private; }
<BasesProt>{BN} { lineCount(); }
<BasesProt>. { unput(*yytext); BEGIN(Bases); }