mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 09:27:35 +00:00
LibJS: Allow statements to have multiple labels
This is a curious thing that occurs more often than you'd think in minified JavaScript: a: b: c: for (...) { ... break b; ... }
This commit is contained in:
parent
ababcc5725
commit
3252d984ae
6 changed files with 31 additions and 21 deletions
|
@ -80,11 +80,12 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
FlyString const& label() const { return m_label; }
|
||||
void set_label(FlyString string) { m_label = move(string); }
|
||||
HashTable<FlyString> const& labels() const { return m_labels; }
|
||||
void add_label(FlyString label) { m_labels.set(move(label)); }
|
||||
bool has_label(FlyString const& label) const { return m_labels.contains(label); }
|
||||
|
||||
protected:
|
||||
FlyString m_label;
|
||||
HashTable<FlyString> m_labels;
|
||||
};
|
||||
|
||||
class EmptyStatement final : public Statement {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue