Blob Blame History Raw
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); }