1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 10:18:11 +00:00

HackStudio: Fixes CppLexer crashing on a comment block that does

not end.

CppLexer expected that `/*` always has `*/` at the end. This PR
fixes the issue and assumes the rest of file is a comment.
This commit is contained in:
Sasan Hezarkhani 2019-12-01 22:47:09 -08:00 committed by Andreas Kling
parent f4949fcf83
commit 30db7813de

View file

@ -278,13 +278,21 @@ Vector<CppToken> CppLexer::lex()
begin_token(); begin_token();
consume(); consume();
consume(); consume();
bool comment_block_ends = false;
while (peek()) { while (peek()) {
if (peek() == '*' && peek(1) == '/') if (peek() == '*' && peek(1) == '/') {
comment_block_ends = true;
break; break;
}
consume(); consume();
} }
consume();
consume(); if (comment_block_ends) {
consume();
consume();
}
commit_token(CppToken::Type::Comment); commit_token(CppToken::Type::Comment);
continue; continue;
} }