mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-10 18:19:03 +00:00
Shell: Make the parser read consecutive sequences without recursing
This fixes (the easy) part of #4976.
This commit is contained in:
parent
212c90d68f
commit
2bd77bc93b
Notes:
sideshowbarker
2024-07-18 22:57:04 +09:00
Author: https://github.com/alimpfard
Commit: 2bd77bc93b
Pull-request: https://github.com/SerenityOS/serenity/pull/4981
Issue: https://github.com/SerenityOS/serenity/issues/4976
Reviewed-by: https://github.com/awesomekling
7 changed files with 130 additions and 100 deletions
|
@ -1139,14 +1139,13 @@ private:
|
|||
|
||||
class Sequence final : public Node {
|
||||
public:
|
||||
Sequence(Position, NonnullRefPtr<Node>, NonnullRefPtr<Node>, Position separator_position);
|
||||
Sequence(Position, NonnullRefPtrVector<Node>, Vector<Position> separator_positions);
|
||||
virtual ~Sequence();
|
||||
virtual void visit(NodeVisitor& visitor) override { visitor.visit(this); }
|
||||
|
||||
const NonnullRefPtr<Node>& left() const { return m_left; }
|
||||
const NonnullRefPtr<Node>& right() const { return m_right; }
|
||||
const NonnullRefPtrVector<Node>& entries() const { return m_entries; }
|
||||
|
||||
const Position& separator_position() const { return m_separator_position; }
|
||||
const Vector<Position>& separator_positions() const { return m_separator_positions; }
|
||||
|
||||
private:
|
||||
NODE(Sequence);
|
||||
|
@ -1157,9 +1156,8 @@ private:
|
|||
virtual bool is_list() const override { return true; }
|
||||
virtual bool should_override_execution_in_current_process() const override { return true; }
|
||||
|
||||
NonnullRefPtr<Node> m_left;
|
||||
NonnullRefPtr<Node> m_right;
|
||||
Position m_separator_position;
|
||||
NonnullRefPtrVector<Node> m_entries;
|
||||
Vector<Position> m_separator_positions;
|
||||
};
|
||||
|
||||
class Subshell final : public Node {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue