LibJS: Add ThrowableStringBuilder::to_string to create a new String

This wraps around the base class method to throw an OOM completion.
This commit is contained in:
Timothy Flynn 2023-01-14 10:30:18 -05:00 committed by Linus Groh
parent 3ad1f250e7
commit 79e81e8a15
Notes: sideshowbarker 2024-07-17 01:41:31 +09:00
2 changed files with 10 additions and 0 deletions

View file

@ -42,4 +42,13 @@ ThrowCompletionOr<void> ThrowableStringBuilder::append_code_point(u32 value)
return {};
}
ThrowCompletionOr<String> ThrowableStringBuilder::to_string() const
{
auto result = StringBuilder::to_string();
if (result.is_error())
return m_vm.throw_completion<InternalError>(ErrorType::NotEnoughMemoryToAllocate, length());
return result.release_value();
}
}

View file

@ -23,6 +23,7 @@ public:
ThrowCompletionOr<void> append(StringView);
ThrowCompletionOr<void> append(Utf16View const&);
ThrowCompletionOr<void> append_code_point(u32 value);
ThrowCompletionOr<String> to_string() const;
private:
VM& m_vm;