mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-25 17:25:08 +02:00
LibJS: Make Value() default-construct the undefined value
The special empty value (that we use for array holes, Optional<Value> when empty and a few other other placeholder/sentinel tasks) still exists, but you now create one via JS::js_special_empty_value() and check for it with Value::is_special_empty_value(). The main idea here is to make it very unlikely to accidentally create an unexpected special empty value.
This commit is contained in:
committed by
Andreas Kling
parent
0d91363742
commit
3cf50539ec
Notes:
github-actions[bot]
2025-04-05 09:21:31 +00:00
Author: https://github.com/awesomekling Commit: https://github.com/LadybirdBrowser/ladybird/commit/3cf50539ec0 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/4232
@@ -436,8 +436,8 @@ inline JSFileResult TestRunner::run_file_test(ByteString const& test_path)
|
||||
StringBuilder detail_builder;
|
||||
|
||||
auto& error_object = error.as_object();
|
||||
auto name = error_object.get_without_side_effects(g_vm->names.name).value_or(JS::js_undefined());
|
||||
auto message = error_object.get_without_side_effects(g_vm->names.message).value_or(JS::js_undefined());
|
||||
auto name = error_object.get_without_side_effects(g_vm->names.name);
|
||||
auto message = error_object.get_without_side_effects(g_vm->names.message);
|
||||
|
||||
if (name.is_accessor() || message.is_accessor()) {
|
||||
detail_builder.append(error.to_string_without_side_effects());
|
||||
|
||||
Reference in New Issue
Block a user