diff options
-rw-r--r-- | Tests/LibJS/test-js.cpp | 2 | ||||
-rw-r--r-- | Tests/LibJS/test262-runner.cpp | 8 | ||||
-rw-r--r-- | Userland/Libraries/LibJS/Bytecode/Interpreter.cpp | 6 | ||||
-rw-r--r-- | Userland/Libraries/LibJS/Bytecode/Op.cpp | 8 | ||||
-rw-r--r-- | Userland/Libraries/LibJS/MarkupGenerator.cpp | 6 | ||||
-rw-r--r-- | Userland/Libraries/LibJS/Print.cpp | 6 | ||||
-rw-r--r-- | Userland/Libraries/LibJS/Runtime/Value.h | 4 | ||||
-rw-r--r-- | Userland/Libraries/LibTest/JavaScriptTestRunner.h | 10 |
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)); |