From 010be01694a986e3763da45a546bdb58d5fbc93b Mon Sep 17 00:00:00 2001 From: Ali Mohammad Pur Date: Wed, 28 Jul 2021 21:35:02 +0430 Subject: [PATCH] LibCpp: Add support for east const Now LibCpp can understand the eastest of consts too :^) --- Userland/Libraries/LibCpp/Parser.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Userland/Libraries/LibCpp/Parser.cpp b/Userland/Libraries/LibCpp/Parser.cpp index fc193e57e6..cb77f61061 100644 --- a/Userland/Libraries/LibCpp/Parser.cpp +++ b/Userland/Libraries/LibCpp/Parser.cpp @@ -1219,6 +1219,9 @@ NonnullRefPtr Parser::parse_type(ASTNode& parent) if (match_keyword("auto")) { consume(Token::Type::Keyword); named_type->set_auto(true); + auto original_qualifiers = named_type->qualifiers(); + original_qualifiers.extend(parse_type_qualifiers()); + named_type->set_qualifiers(move(original_qualifiers)); named_type->set_end(position()); return named_type; } @@ -1234,6 +1237,10 @@ NonnullRefPtr Parser::parse_type(ASTNode& parent) } named_type->set_name(parse_name(*named_type)); + auto original_qualifiers = named_type->qualifiers(); + original_qualifiers.extend(parse_type_qualifiers()); + named_type->set_qualifiers(move(original_qualifiers)); + NonnullRefPtr type = named_type; while (!eof() && peek().type() == Token::Type::Asterisk) { type->set_end(position()); @@ -1241,6 +1248,7 @@ NonnullRefPtr Parser::parse_type(ASTNode& parent) auto ptr = create_ast_node(parent, type->start(), asterisk.end()); type->set_parent(*ptr); ptr->set_pointee(type); + ptr->set_qualifiers(parse_type_qualifiers()); ptr->set_end(position()); type = ptr; }