1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-28 19:15:09 +00:00

LibJS: Add parsed parameters to FunctionDeclaration

This commit is contained in:
Linus Groh 2020-03-13 13:40:24 +00:00 committed by Andreas Kling
parent 83ea7bb9e7
commit 0e04e2cff0

View file

@ -245,9 +245,10 @@ NonnullOwnPtr<FunctionDeclaration> Parser::parse_function_declaration()
consume(TokenType::Function); consume(TokenType::Function);
auto name = consume(TokenType::Identifier).value(); auto name = consume(TokenType::Identifier).value();
consume(TokenType::ParenOpen); consume(TokenType::ParenOpen);
Vector<String> parameters;
while (match(TokenType::Identifier)) { while (match(TokenType::Identifier)) {
// FIXME: actually add parameters to function auto parameter = consume(TokenType::Identifier).value();
consume(TokenType::Identifier); parameters.append(parameter);
if (match(TokenType::ParenClose)) { if (match(TokenType::ParenClose)) {
break; break;
} }
@ -255,7 +256,7 @@ NonnullOwnPtr<FunctionDeclaration> Parser::parse_function_declaration()
} }
consume(TokenType::ParenClose); consume(TokenType::ParenClose);
auto body = parse_block_statement(); auto body = parse_block_statement();
return make<FunctionDeclaration>(name, move(body)); return make<FunctionDeclaration>(name, move(body), move(parameters));
} }
NonnullOwnPtr<VariableDeclaration> Parser::parse_variable_declaration() NonnullOwnPtr<VariableDeclaration> Parser::parse_variable_declaration()