LibJS: Parse labels in continue and break statements

This commit is contained in:
Matthew Olsson 2020-05-28 12:02:32 -07:00 committed by Andreas Kling
commit 03615a7872
Notes: sideshowbarker 2024-07-19 05:59:34 +09:00
2 changed files with 32 additions and 6 deletions

View file

@ -1048,22 +1048,36 @@ private:
class BreakStatement final : public Statement {
public:
BreakStatement() { }
BreakStatement(FlyString target_label)
: m_target_label(target_label)
{
}
virtual Value execute(Interpreter&) const override;
const FlyString& target_label() const { return m_target_label; }
private:
virtual const char* class_name() const override { return "BreakStatement"; }
FlyString m_target_label;
};
class ContinueStatement final : public Statement {
public:
ContinueStatement() { }
ContinueStatement(FlyString target_label)
: m_target_label(target_label)
{
}
virtual Value execute(Interpreter&) const override;
const FlyString& target_label() const { return m_target_label; }
private:
virtual const char* class_name() const override { return "ContinueStatement"; }
FlyString m_target_label;
};
class DebuggerStatement final : public Statement {