mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 04:27:45 +00:00
Help+LibManual: Make the children accessor fallible
This is convenient for the section node which might compute children on the fly.
This commit is contained in:
parent
437d3ca0ea
commit
aa5e574872
5 changed files with 22 additions and 12 deletions
|
@ -20,7 +20,7 @@ class Node : public RefCounted<Node> {
|
|||
public:
|
||||
virtual ~Node() = default;
|
||||
|
||||
virtual NonnullRefPtrVector<Node>& children() const = 0;
|
||||
virtual ErrorOr<Span<NonnullRefPtr<Node>>> children() const = 0;
|
||||
virtual Node const* parent() const = 0;
|
||||
virtual ErrorOr<String> name() const = 0;
|
||||
virtual bool is_page() const { return false; }
|
||||
|
|
|
@ -16,10 +16,10 @@ Node const* PageNode::parent() const
|
|||
return m_section.ptr();
|
||||
}
|
||||
|
||||
NonnullRefPtrVector<Node>& PageNode::children() const
|
||||
ErrorOr<Span<NonnullRefPtr<Node>>> PageNode::children() const
|
||||
{
|
||||
static NonnullRefPtrVector<Node> empty_vector;
|
||||
return empty_vector;
|
||||
return empty_vector.span();
|
||||
}
|
||||
|
||||
ErrorOr<String> PageNode::path() const
|
||||
|
|
|
@ -23,7 +23,7 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
virtual NonnullRefPtrVector<Node>& children() const override;
|
||||
virtual ErrorOr<Span<NonnullRefPtr<Node>>> children() const override;
|
||||
virtual Node const* parent() const override;
|
||||
virtual ErrorOr<String> name() const override { return m_page; };
|
||||
virtual bool is_page() const override { return true; }
|
||||
|
|
|
@ -23,10 +23,10 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
virtual NonnullRefPtrVector<Node>& children() const override
|
||||
virtual ErrorOr<Span<NonnullRefPtr<Node>>> children() const override
|
||||
{
|
||||
MUST(reify_if_needed());
|
||||
return m_children;
|
||||
TRY(reify_if_needed());
|
||||
return m_children.span();
|
||||
}
|
||||
|
||||
virtual Node const* parent() const override { return nullptr; }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue