From b93dbcdab6dfc5681ec49f1d567698b7c4dc6846 Mon Sep 17 00:00:00 2001 From: albert-github Date: Sun, 18 Sep 2016 17:58:30 +0200 Subject: [PATCH] Bug 771344 - Class name 'internal' breaks class hierarchy in C++ Analogous to the rule for: {B}*"internal"{BN}*":"{BN}* reject the "internal" keyword in case not in Cli --- src/scanner.l | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scanner.l b/src/scanner.l index 6c69224d104..68eb8fc5344 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -5771,7 +5771,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP}) "virtual"{BN}+ { lineCount(); baseVirt = Virtual; } "public"{BN}+ { lineCount(); baseProt = Public; } "protected"{BN}+ { lineCount(); baseProt = Protected; } -"internal"{BN}+ { lineCount(); baseProt = Package; } +"internal"{BN}+ { if (!insideCli) REJECT ; lineCount(); baseProt = Package; } "private"{BN}+ { lineCount(); baseProt = Private; } {BN} { lineCount(); } . { unput(*yytext); BEGIN(Bases); }