@@ -604,6 +604,7 @@ public:
virtual void dump(int indent) const override;
virtual Value execute(Interpreter&, GlobalObject&) const override;
+ virtual Optional<Bytecode::Register> generate_bytecode(Bytecode::Generator&) const override;
private:
NonnullRefPtrVector<Expression> m_expressions;
@@ -449,4 +449,14 @@ Optional<Bytecode::Register> ConditionalExpression::generate_bytecode(Bytecode::
return result_reg;
}
+Optional<Bytecode::Register> SequenceExpression::generate_bytecode(Bytecode::Generator& generator) const
+{
+ Optional<Bytecode::Register> last_reg;
+
+ for (auto& expression : m_expressions)
+ last_reg = expression.generate_bytecode(generator);
+ return last_reg;
+}