diff --git a/Libraries/LibJS/Parser.cpp b/Libraries/LibJS/Parser.cpp index 0be2fb3bb0..ebbae3c475 100644 --- a/Libraries/LibJS/Parser.cpp +++ b/Libraries/LibJS/Parser.cpp @@ -245,9 +245,10 @@ NonnullOwnPtr Parser::parse_function_declaration() consume(TokenType::Function); auto name = consume(TokenType::Identifier).value(); consume(TokenType::ParenOpen); + Vector parameters; while (match(TokenType::Identifier)) { - // FIXME: actually add parameters to function - consume(TokenType::Identifier); + auto parameter = consume(TokenType::Identifier).value(); + parameters.append(parameter); if (match(TokenType::ParenClose)) { break; } @@ -255,7 +256,7 @@ NonnullOwnPtr Parser::parse_function_declaration() } consume(TokenType::ParenClose); auto body = parse_block_statement(); - return make(name, move(body)); + return make(name, move(body), move(parameters)); } NonnullOwnPtr Parser::parse_variable_declaration()