1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 19:27:44 +00:00

LibCpp: Allow 'final' in a class declaration with inheritance

This commit is contained in:
Ali Mohammad Pur 2021-07-31 02:11:59 +04:30 committed by Andreas Kling
parent 010be01694
commit f16011e4d1

View file

@ -700,7 +700,12 @@ bool Parser::match_class_declaration()
consume(Token::Type::Identifier);
if (peek().type() == Token::Type::Colon) {
auto has_final = match_keyword("final");
if (peek(has_final ? 1 : 0).type() == Token::Type::Colon) {
if (has_final)
consume();
do {
consume();
@ -1158,8 +1163,13 @@ NonnullRefPtr<StructOrClassDeclaration> Parser::parse_class_declaration(ASTNode&
auto name_token = consume(Token::Type::Identifier);
decl->set_name(text_of_token(name_token));
auto has_final = match_keyword("final");
// FIXME: Don't ignore this.
if (peek().type() == Token::Type::Colon) {
if (peek(has_final ? 1 : 0).type() == Token::Type::Colon) {
if (has_final)
consume();
do {
consume();