diff --git a/Userland/Libraries/LibCpp/Parser.cpp b/Userland/Libraries/LibCpp/Parser.cpp index 64c814d717..d41bb415be 100644 --- a/Userland/Libraries/LibCpp/Parser.cpp +++ b/Userland/Libraries/LibCpp/Parser.cpp @@ -132,6 +132,11 @@ NonnullRefPtr Parser::parse_function_declaration(ASTNode& p consume(Token::Type::RightParen); + if (match_keyword("const")) { + consume(); + // FIXME: Note that this function is supposed to be a class member, and `this` has to be const, somehow. + } + RefPtr body; Position func_end {}; if (peek(Token::Type::LeftCurly).has_value()) { @@ -739,6 +744,9 @@ bool Parser::match_function_declaration() while (consume().type() != Token::Type::RightParen && !eof()) { }; + if (match_keyword("const")) + consume(); + if (peek(Token::Type::Semicolon).has_value() || peek(Token::Type::LeftCurly).has_value()) return true;