forked from qt-creator/qt-creator
CPlusPlus: Fix parsing of <: :> <% %> %: digraphs
See 2.5/2.12. Most useful feature ever. Change-Id: I3f92256733e15078df56205dba9746ffff8ed145 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
This commit is contained in:
15
src/libs/3rdparty/cplusplus/Lexer.cpp
vendored
15
src/libs/3rdparty/cplusplus/Lexer.cpp
vendored
@@ -269,6 +269,9 @@ void Lexer::scan_helper(Token *tok)
|
||||
if (_yychar == ':') {
|
||||
yyinp();
|
||||
tok->f.kind = T_COLON_COLON;
|
||||
} else if (_yychar == '>') {
|
||||
yyinp();
|
||||
tok->f.kind = T_RBRACKET;
|
||||
} else {
|
||||
tok->f.kind = T_COLON;
|
||||
}
|
||||
@@ -428,6 +431,12 @@ void Lexer::scan_helper(Token *tok)
|
||||
if (_yychar == '=') {
|
||||
yyinp();
|
||||
tok->f.kind = T_PERCENT_EQUAL;
|
||||
} else if (_yychar == '>') {
|
||||
yyinp();
|
||||
tok->f.kind = T_RBRACE;
|
||||
} else if (_yychar == ':') {
|
||||
yyinp();
|
||||
tok->f.kind = T_POUND;
|
||||
} else {
|
||||
tok->f.kind = T_PERCENT;
|
||||
}
|
||||
@@ -515,6 +524,12 @@ void Lexer::scan_helper(Token *tok)
|
||||
} else if (_yychar == '=') {
|
||||
yyinp();
|
||||
tok->f.kind = T_LESS_EQUAL;
|
||||
} else if (_yychar == ':') {
|
||||
yyinp();
|
||||
tok->f.kind = T_LBRACKET;
|
||||
} else if (_yychar == '%') {
|
||||
yyinp();
|
||||
tok->f.kind = T_LBRACE;
|
||||
} else {
|
||||
tok->f.kind = T_LESS;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user