1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 19:07:35 +00:00

LibJS: Migrate DeprecatedString to String

This changes BasicBlock's constructor and create().
This commit is contained in:
Nick Hawke 2023-10-26 23:57:51 -04:00 committed by Andreas Kling
parent 4c915a9e67
commit 67566e5017
4 changed files with 14 additions and 12 deletions

View file

@ -4,18 +4,18 @@
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <AK/DeprecatedString.h>
#include <AK/String.h>
#include <LibJS/Bytecode/BasicBlock.h>
#include <LibJS/Bytecode/Op.h>
namespace JS::Bytecode {
NonnullOwnPtr<BasicBlock> BasicBlock::create(DeprecatedString name)
NonnullOwnPtr<BasicBlock> BasicBlock::create(String name)
{
return adopt_own(*new BasicBlock(move(name)));
}
BasicBlock::BasicBlock(DeprecatedString name)
BasicBlock::BasicBlock(String name)
: m_name(move(name))
{
}

View file

@ -7,7 +7,7 @@
#pragma once
#include <AK/Badge.h>
#include <AK/DeprecatedString.h>
#include <AK/String.h>
#include <LibJS/Forward.h>
#include <LibJS/Heap/Handle.h>
@ -24,7 +24,7 @@ class BasicBlock {
AK_MAKE_NONCOPYABLE(BasicBlock);
public:
static NonnullOwnPtr<BasicBlock> create(DeprecatedString name);
static NonnullOwnPtr<BasicBlock> create(String name);
~BasicBlock();
void dump(Executable const&) const;
@ -38,7 +38,7 @@ public:
void terminate(Badge<Generator>) { m_terminated = true; }
bool is_terminated() const { return m_terminated; }
DeprecatedString const& name() const { return m_name; }
String const& name() const { return m_name; }
void set_handler(BasicBlock const& handler) { m_handler = &handler; }
void set_finalizer(BasicBlock const& finalizer) { m_finalizer = &finalizer; }
@ -47,12 +47,12 @@ public:
BasicBlock const* finalizer() const { return m_finalizer; }
private:
explicit BasicBlock(DeprecatedString name);
explicit BasicBlock(String name);
Vector<u8> m_buffer;
BasicBlock const* m_handler { nullptr };
BasicBlock const* m_finalizer { nullptr };
DeprecatedString m_name;
String m_name;
bool m_terminated { false };
};

View file

@ -449,7 +449,8 @@ void Generator::generate_scoped_jump(JumpType type)
VERIFY(m_current_unwind_context->finalizer().has_value());
m_current_unwind_context = m_current_unwind_context->previous();
auto jump_type_name = type == JumpType::Break ? "break"sv : "continue"sv;
auto& block = make_block(DeprecatedString::formatted("{}.{}", current_block().name(), jump_type_name));
auto block_name = MUST(String::formatted("{}.{}", current_block().name(), jump_type_name));
auto& block = make_block(block_name);
emit<Op::ScheduleJump>(Label { block });
switch_to_basic_block(block);
last_was_finally = true;
@ -485,7 +486,8 @@ void Generator::generate_labelled_jump(JumpType type, DeprecatedFlyString const&
VERIFY(m_current_unwind_context->finalizer().has_value());
m_current_unwind_context = m_current_unwind_context->previous();
auto jump_type_name = type == JumpType::Break ? "break"sv : "continue"sv;
auto& block = make_block(DeprecatedString::formatted("{}.{}", current_block().name(), jump_type_name));
auto block_name = MUST(String::formatted("{}.{}", current_block().name(), jump_type_name));
auto& block = make_block(block_name);
emit<Op::ScheduleJump>(Label { block });
switch_to_basic_block(block);
last_was_finally = true;

View file

@ -128,10 +128,10 @@ public:
[[nodiscard]] BasicBlock& current_block() { return *m_current_basic_block; }
BasicBlock& make_block(DeprecatedString name = {})
BasicBlock& make_block(String name = {})
{
if (name.is_empty())
name = DeprecatedString::number(m_next_block++);
name = MUST(String::number(m_next_block++));
auto block = BasicBlock::create(name);
if (auto const* context = m_current_unwind_context) {
if (context->handler().has_value())