summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Tests/LibJS/test-js.cpp2
-rw-r--r--Tests/LibJS/test262-runner.cpp8
-rw-r--r--Userland/Libraries/LibJS/Bytecode/Interpreter.cpp6
-rw-r--r--Userland/Libraries/LibJS/Bytecode/Op.cpp8
-rw-r--r--Userland/Libraries/LibJS/MarkupGenerator.cpp6
-rw-r--r--Userland/Libraries/LibJS/Print.cpp6
-rw-r--r--Userland/Libraries/LibJS/Runtime/Value.h4
-rw-r--r--Userland/Libraries/LibTest/JavaScriptTestRunner.h10
8 files changed, 28 insertions, 22 deletions
diff --git a/Tests/LibJS/test-js.cpp b/Tests/LibJS/test-js.cpp
index 62478a46d1..b4022b5c8f 100644
--- a/Tests/LibJS/test-js.cpp
+++ b/Tests/LibJS/test-js.cpp
@@ -53,7 +53,7 @@ TESTJS_GLOBAL_FUNCTION(mark_as_garbage, markAsGarbage)
{
auto argument = vm.argument(0);
if (!argument.is_string())
- return vm.throw_completion<JS::TypeError>(JS::ErrorType::NotAString, argument.to_deprecated_string_without_side_effects());
+ return vm.throw_completion<JS::TypeError>(JS::ErrorType::NotAString, TRY_OR_THROW_OOM(vm, argument.to_string_without_side_effects()));
auto& variable_name = argument.as_string();
diff --git a/Tests/LibJS/test262-runner.cpp b/Tests/LibJS/test262-runner.cpp
index 3765d79acf..a7fcba1e60 100644
--- a/Tests/LibJS/test262-runner.cpp
+++ b/Tests/LibJS/test262-runner.cpp
@@ -112,22 +112,22 @@ static Result<void, TestError> run_program(InterpreterT& interpreter, ScriptOrMo
auto name = object.get_without_side_effects("name");
if (!name.is_empty() && !name.is_accessor()) {
- error.type = name.to_deprecated_string_without_side_effects();
+ error.type = name.to_string_without_side_effects().release_value_but_fixme_should_propagate_errors().to_deprecated_string();
} else {
auto constructor = object.get_without_side_effects("constructor");
if (constructor.is_object()) {
name = constructor.as_object().get_without_side_effects("name");
if (!name.is_undefined())
- error.type = name.to_deprecated_string_without_side_effects();
+ error.type = name.to_string_without_side_effects().release_value_but_fixme_should_propagate_errors().to_deprecated_string();
}
}
auto message = object.get_without_side_effects("message");
if (!message.is_empty() && !message.is_accessor())
- error.details = message.to_deprecated_string_without_side_effects();
+ error.details = message.to_string_without_side_effects().release_value_but_fixme_should_propagate_errors().to_deprecated_string();
}
if (error.type.is_empty())
- error.type = error_value.to_deprecated_string_without_side_effects();
+ error.type = error_value.to_string_without_side_effects().release_value_but_fixme_should_propagate_errors().to_deprecated_string();
return error;
}
return {};
diff --git a/Userland/Libraries/LibJS/Bytecode/Interpreter.cpp b/Userland/Libraries/LibJS/Bytecode/Interpreter.cpp
index b96251e9a6..216ac98e98 100644
--- a/Userland/Libraries/LibJS/Bytecode/Interpreter.cpp
+++ b/Userland/Libraries/LibJS/Bytecode/Interpreter.cpp
@@ -145,11 +145,11 @@ Interpreter::ValueAndFrame Interpreter::run_and_return_frame(Executable const& e
if constexpr (JS_BYTECODE_DEBUG) {
for (size_t i = 0; i < registers().size(); ++i) {
- DeprecatedString value_string;
+ String value_string;
if (registers()[i].is_empty())
- value_string = "(empty)";
+ value_string = MUST(String::from_utf8("(empty)"sv));
else
- value_string = registers()[i].to_deprecated_string_without_side_effects();
+ value_string = MUST(registers()[i].to_string_without_side_effects());
dbgln("[{:3}] {}", i, value_string);
}
}
diff --git a/Userland/Libraries/LibJS/Bytecode/Op.cpp b/Userland/Libraries/LibJS/Bytecode/Op.cpp
index 8829ad1449..75631b05fc 100644
--- a/Userland/Libraries/LibJS/Bytecode/Op.cpp
+++ b/Userland/Libraries/LibJS/Bytecode/Op.cpp
@@ -593,7 +593,7 @@ static MarkedVector<Value> argument_list_evaluation(Bytecode::Interpreter& inter
auto arguments = interpreter.accumulator();
if (!(arguments.is_object() && is<Array>(arguments.as_object()))) {
- dbgln("[{}] Call arguments are not an array, but: {}", interpreter.debug_position(), arguments.to_deprecated_string_without_side_effects());
+ dbgln("[{}] Call arguments are not an array, but: {}", interpreter.debug_position(), MUST(arguments.to_string_without_side_effects()));
interpreter.current_executable().dump();
VERIFY_NOT_REACHED();
}
@@ -1345,7 +1345,11 @@ DeprecatedString GetObjectPropertyIterator::to_deprecated_string_impl(Bytecode::
DeprecatedString IteratorClose::to_deprecated_string_impl(Bytecode::Executable const&) const
{
- return DeprecatedString::formatted("IteratorClose completion_type={} completion_value={}", to_underlying(m_completion_type), m_completion_value.has_value() ? m_completion_value.value().to_deprecated_string_without_side_effects() : "<empty>");
+ if (!m_completion_value.has_value())
+ return DeprecatedString::formatted("IteratorClose completion_type={} completion_value=<empty>", to_underlying(m_completion_type));
+
+ auto completion_value_string = m_completion_value->to_string_without_side_effects().release_value_but_fixme_should_propagate_errors();
+ return DeprecatedString::formatted("IteratorClose completion_type={} completion_value={}", to_underlying(m_completion_type), completion_value_string);
}
DeprecatedString IteratorNext::to_deprecated_string_impl(Executable const&) const
diff --git a/Userland/Libraries/LibJS/MarkupGenerator.cpp b/Userland/Libraries/LibJS/MarkupGenerator.cpp
index 27d63f3a3a..98650548a4 100644
--- a/Userland/Libraries/LibJS/MarkupGenerator.cpp
+++ b/Userland/Libraries/LibJS/MarkupGenerator.cpp
@@ -81,7 +81,7 @@ ErrorOr<void> MarkupGenerator::value_to_html(Value value, StringBuilder& output_
if (value.is_string())
TRY(output_html.try_append('"'));
- TRY(output_html.try_append(escape_html_entities(value.to_deprecated_string_without_side_effects())));
+ TRY(output_html.try_append(escape_html_entities(TRY(value.to_string_without_side_effects()))));
if (value.is_string())
TRY(output_html.try_append('"'));
@@ -167,8 +167,8 @@ ErrorOr<void> MarkupGenerator::error_to_html(Error const& error, StringBuilder&
auto& vm = error.vm();
auto name = error.get_without_side_effects(vm.names.name).value_or(js_undefined());
auto message = error.get_without_side_effects(vm.names.message).value_or(js_undefined());
- auto name_string = name.to_deprecated_string_without_side_effects();
- auto message_string = message.to_deprecated_string_without_side_effects();
+ auto name_string = TRY(name.to_string_without_side_effects());
+ auto message_string = TRY(message.to_string_without_side_effects());
auto uncaught_message = TRY(String::formatted("Uncaught {}[{}]: ", in_promise ? "(in promise) " : "", name_string));
TRY(html_output.try_append(TRY(wrap_string_in_style(uncaught_message, StyleType::Invalid)).bytes_as_string_view()));
diff --git a/Userland/Libraries/LibJS/Print.cpp b/Userland/Libraries/LibJS/Print.cpp
index 6f820f9853..804fc5c6f1 100644
--- a/Userland/Libraries/LibJS/Print.cpp
+++ b/Userland/Libraries/LibJS/Print.cpp
@@ -230,8 +230,8 @@ ErrorOr<void> print_error(JS::PrintContext& print_context, JS::Object const& obj
if (name.is_accessor() || message.is_accessor()) {
TRY(print_value(print_context, &object, seen_objects));
} else {
- auto name_string = name.to_deprecated_string_without_side_effects();
- auto message_string = message.to_deprecated_string_without_side_effects();
+ auto name_string = TRY(name.to_string_without_side_effects());
+ auto message_string = TRY(message.to_string_without_side_effects());
TRY(print_type(print_context, name_string));
if (!message_string.is_empty())
TRY(js_out(print_context, " \033[31;1m{}\033[0m", message_string));
@@ -1018,7 +1018,7 @@ ErrorOr<void> print_value(JS::PrintContext& print_context, JS::Value value, Hash
TRY(js_out(print_context, "\""));
else if (value.is_negative_zero())
TRY(js_out(print_context, "-"));
- TRY(js_out(print_context, "{}", value.to_deprecated_string_without_side_effects()));
+ TRY(js_out(print_context, "{}", TRY(value.to_string_without_side_effects())));
if (value.is_string())
TRY(js_out(print_context, "\""));
TRY(js_out(print_context, "\033[0m"));
diff --git a/Userland/Libraries/LibJS/Runtime/Value.h b/Userland/Libraries/LibJS/Runtime/Value.h
index 0fe5bac93a..9dc2daeeb2 100644
--- a/Userland/Libraries/LibJS/Runtime/Value.h
+++ b/Userland/Libraries/LibJS/Runtime/Value.h
@@ -683,7 +683,9 @@ template<>
struct Formatter<JS::Value> : Formatter<StringView> {
ErrorOr<void> format(FormatBuilder& builder, JS::Value value)
{
- return Formatter<StringView>::format(builder, value.is_empty() ? "<empty>" : value.to_deprecated_string_without_side_effects());
+ if (value.is_empty())
+ return Formatter<StringView>::format(builder, "<empty>"sv);
+ return Formatter<StringView>::format(builder, TRY(value.to_string_without_side_effects()));
}
};
diff --git a/Userland/Libraries/LibTest/JavaScriptTestRunner.h b/Userland/Libraries/LibTest/JavaScriptTestRunner.h
index 2507d5bf6f..a24ffe44c6 100644
--- a/Userland/Libraries/LibTest/JavaScriptTestRunner.h
+++ b/Userland/Libraries/LibTest/JavaScriptTestRunner.h
@@ -409,7 +409,7 @@ inline JSFileResult TestRunner::run_file_test(DeprecatedString const& test_path)
auto& arr = user_output.as_array();
for (auto& entry : arr.indexed_properties()) {
auto message = MUST(arr.get(entry.index()));
- file_result.logged_messages.append(message.to_deprecated_string_without_side_effects());
+ file_result.logged_messages.append(message.to_string_without_side_effects().release_value_but_fixme_should_propagate_errors().to_deprecated_string());
}
test_json.value().as_object().for_each_member([&](DeprecatedString const& suite_name, JsonValue const& suite_value) {
@@ -475,11 +475,11 @@ inline JSFileResult TestRunner::run_file_test(DeprecatedString const& test_path)
auto message = error_object.get_without_side_effects(g_vm->names.message).value_or(JS::js_undefined());
if (name.is_accessor() || message.is_accessor()) {
- detail_builder.append(error.to_deprecated_string_without_side_effects());
+ detail_builder.append(error.to_string_without_side_effects().release_value_but_fixme_should_propagate_errors());
} else {
- detail_builder.append(name.to_deprecated_string_without_side_effects());
+ detail_builder.append(name.to_string_without_side_effects().release_value_but_fixme_should_propagate_errors());
detail_builder.append(": "sv);
- detail_builder.append(message.to_deprecated_string_without_side_effects());
+ detail_builder.append(message.to_string_without_side_effects().release_value_but_fixme_should_propagate_errors());
}
if (is<JS::Error>(error_object)) {
@@ -490,7 +490,7 @@ inline JSFileResult TestRunner::run_file_test(DeprecatedString const& test_path)
test_case.details = detail_builder.to_deprecated_string();
} else {
- test_case.details = error.to_deprecated_string_without_side_effects();
+ test_case.details = error.to_string_without_side_effects().release_value_but_fixme_should_propagate_errors().to_deprecated_string();
}
suite.tests.append(move(test_case));