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

LibJS: Add SequenceExpression AST node (comma operator)

This patch only adds the AST node, the parser doesn't create them yet.
This commit is contained in:
Andreas Kling 2020-04-07 15:11:05 +02:00
parent f8942411ac
commit 19cbfaee54
2 changed files with 34 additions and 0 deletions

View file

@ -1133,4 +1133,22 @@ void ConditionalExpression::dump(int indent) const
m_test->dump(indent + 1);
}
void SequenceExpression::dump(int indent) const
{
ASTNode::dump(indent);
for (auto& expression : m_expressions)
expression.dump(indent + 1);
}
Value SequenceExpression::execute(Interpreter& interpreter) const
{
Value last_value;
for (auto& expression : m_expressions) {
last_value = expression.execute(interpreter);
if (interpreter.exception())
return {};
}
return last_value;
}
}