1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-20 16:55:08 +00:00

LibJS: Add ThrowCompletionOr versions of the JS native function macros

The old versions were renamed to JS_DECLARE_OLD_NATIVE_FUNCTION and
JS_DEFINE_OLD_NATIVE_FUNCTION, and will be eventually removed once all
native functions were converted to the new format.
This commit is contained in:
Idan Horowitz 2021-10-19 20:18:01 +03:00 committed by Linus Groh
parent 3355b52cca
commit 20163c0584
180 changed files with 1478 additions and 1472 deletions

View file

@ -125,7 +125,7 @@ public:
virtual void initialize_global_object() override; virtual void initialize_global_object() override;
private: private:
JS_DECLARE_NATIVE_FUNCTION(fuzzilli); JS_DECLARE_OLD_NATIVE_FUNCTION(fuzzilli);
}; };
TestRunnerGlobalObject::TestRunnerGlobalObject() TestRunnerGlobalObject::TestRunnerGlobalObject()
@ -136,7 +136,7 @@ TestRunnerGlobalObject::~TestRunnerGlobalObject()
{ {
} }
JS_DEFINE_NATIVE_FUNCTION(TestRunnerGlobalObject::fuzzilli) JS_DEFINE_OLD_NATIVE_FUNCTION(TestRunnerGlobalObject::fuzzilli)
{ {
if (!vm.argument_count()) if (!vm.argument_count())
return JS::js_undefined(); return JS::js_undefined();

View file

@ -1435,7 +1435,7 @@ static void generate_function(SourceGenerator& generator, IDL::Function const& f
} }
function_generator.append(R"~~~( function_generator.append(R"~~~(
JS_DEFINE_NATIVE_FUNCTION(@class_name@::@function.name:snakecase@) JS_DEFINE_OLD_NATIVE_FUNCTION(@class_name@::@function.name:snakecase@)
{ {
)~~~"); )~~~");
@ -2551,7 +2551,7 @@ private:
auto function_generator = generator.fork(); auto function_generator = generator.fork();
function_generator.set("function.name:snakecase", make_input_acceptable_cpp(function.name.to_snakecase())); function_generator.set("function.name:snakecase", make_input_acceptable_cpp(function.name.to_snakecase()));
function_generator.append(R"~~~( function_generator.append(R"~~~(
JS_DECLARE_NATIVE_FUNCTION(@function.name:snakecase@); JS_DECLARE_OLD_NATIVE_FUNCTION(@function.name:snakecase@);
)~~~"); )~~~");
} }
@ -2782,24 +2782,24 @@ private:
auto function_generator = generator.fork(); auto function_generator = generator.fork();
function_generator.set("function.name:snakecase", make_input_acceptable_cpp(function.name.to_snakecase())); function_generator.set("function.name:snakecase", make_input_acceptable_cpp(function.name.to_snakecase()));
function_generator.append(R"~~~( function_generator.append(R"~~~(
JS_DECLARE_NATIVE_FUNCTION(@function.name:snakecase@); JS_DECLARE_OLD_NATIVE_FUNCTION(@function.name:snakecase@);
)~~~"); )~~~");
} }
if (interface.has_stringifier) { if (interface.has_stringifier) {
auto stringifier_generator = generator.fork(); auto stringifier_generator = generator.fork();
stringifier_generator.append(R"~~~( stringifier_generator.append(R"~~~(
JS_DECLARE_NATIVE_FUNCTION(to_string); JS_DECLARE_OLD_NATIVE_FUNCTION(to_string);
)~~~"); )~~~");
} }
if (interface.pair_iterator_types.has_value()) { if (interface.pair_iterator_types.has_value()) {
auto iterator_generator = generator.fork(); auto iterator_generator = generator.fork();
iterator_generator.append(R"~~~( iterator_generator.append(R"~~~(
JS_DECLARE_NATIVE_FUNCTION(entries); JS_DECLARE_OLD_NATIVE_FUNCTION(entries);
JS_DECLARE_NATIVE_FUNCTION(for_each); JS_DECLARE_OLD_NATIVE_FUNCTION(for_each);
JS_DECLARE_NATIVE_FUNCTION(keys); JS_DECLARE_OLD_NATIVE_FUNCTION(keys);
JS_DECLARE_NATIVE_FUNCTION(values); JS_DECLARE_OLD_NATIVE_FUNCTION(values);
)~~~"); )~~~");
} }
@ -2807,12 +2807,12 @@ private:
auto attribute_generator = generator.fork(); auto attribute_generator = generator.fork();
attribute_generator.set("attribute.name:snakecase", attribute.name.to_snakecase()); attribute_generator.set("attribute.name:snakecase", attribute.name.to_snakecase());
attribute_generator.append(R"~~~( attribute_generator.append(R"~~~(
JS_DECLARE_NATIVE_FUNCTION(@attribute.name:snakecase@_getter); JS_DECLARE_OLD_NATIVE_FUNCTION(@attribute.name:snakecase@_getter);
)~~~"); )~~~");
if (!attribute.readonly) { if (!attribute.readonly) {
attribute_generator.append(R"~~~( attribute_generator.append(R"~~~(
JS_DECLARE_NATIVE_FUNCTION(@attribute.name:snakecase@_setter); JS_DECLARE_OLD_NATIVE_FUNCTION(@attribute.name:snakecase@_setter);
)~~~"); )~~~");
} }
} }
@ -3189,7 +3189,7 @@ static @fully_qualified_name@* impl_from(JS::VM& vm, JS::GlobalObject& global_ob
} }
attribute_generator.append(R"~~~( attribute_generator.append(R"~~~(
JS_DEFINE_NATIVE_FUNCTION(@prototype_class@::@attribute.getter_callback@) JS_DEFINE_OLD_NATIVE_FUNCTION(@prototype_class@::@attribute.getter_callback@)
{ {
auto* impl = impl_from(vm, global_object); auto* impl = impl_from(vm, global_object);
if (!impl) if (!impl)
@ -3227,7 +3227,7 @@ JS_DEFINE_NATIVE_FUNCTION(@prototype_class@::@attribute.getter_callback@)
if (!attribute.readonly) { if (!attribute.readonly) {
attribute_generator.append(R"~~~( attribute_generator.append(R"~~~(
JS_DEFINE_NATIVE_FUNCTION(@prototype_class@::@attribute.setter_callback@) JS_DEFINE_OLD_NATIVE_FUNCTION(@prototype_class@::@attribute.setter_callback@)
{ {
auto* impl = impl_from(vm, global_object); auto* impl = impl_from(vm, global_object);
if (!impl) if (!impl)
@ -3279,7 +3279,7 @@ JS_DEFINE_NATIVE_FUNCTION(@prototype_class@::@attribute.setter_callback@)
stringifier_generator.set("attribute.cpp_getter_name", interface.stringifier_attribute->to_snakecase()); stringifier_generator.set("attribute.cpp_getter_name", interface.stringifier_attribute->to_snakecase());
stringifier_generator.append(R"~~~( stringifier_generator.append(R"~~~(
JS_DEFINE_NATIVE_FUNCTION(@class_name@::to_string) JS_DEFINE_OLD_NATIVE_FUNCTION(@class_name@::to_string)
{ {
auto* impl = impl_from(vm, global_object); auto* impl = impl_from(vm, global_object);
if (!impl) if (!impl)
@ -3310,7 +3310,7 @@ JS_DEFINE_NATIVE_FUNCTION(@class_name@::to_string)
if (interface.pair_iterator_types.has_value()) { if (interface.pair_iterator_types.has_value()) {
auto iterator_generator = generator.fork(); auto iterator_generator = generator.fork();
iterator_generator.append(R"~~~( iterator_generator.append(R"~~~(
JS_DEFINE_NATIVE_FUNCTION(@prototype_class@::entries) JS_DEFINE_OLD_NATIVE_FUNCTION(@prototype_class@::entries)
{ {
auto* impl = impl_from(vm, global_object); auto* impl = impl_from(vm, global_object);
if (!impl) if (!impl)
@ -3319,7 +3319,7 @@ JS_DEFINE_NATIVE_FUNCTION(@prototype_class@::entries)
return wrap(global_object, @iterator_name@::create(*impl, Object::PropertyKind::KeyAndValue)); return wrap(global_object, @iterator_name@::create(*impl, Object::PropertyKind::KeyAndValue));
} }
JS_DEFINE_NATIVE_FUNCTION(@prototype_class@::for_each) JS_DEFINE_OLD_NATIVE_FUNCTION(@prototype_class@::for_each)
{ {
auto* impl = impl_from(vm, global_object); auto* impl = impl_from(vm, global_object);
if (!impl) if (!impl)
@ -3346,7 +3346,7 @@ JS_DEFINE_NATIVE_FUNCTION(@prototype_class@::for_each)
return JS::js_undefined(); return JS::js_undefined();
} }
JS_DEFINE_NATIVE_FUNCTION(@prototype_class@::keys) JS_DEFINE_OLD_NATIVE_FUNCTION(@prototype_class@::keys)
{ {
auto* impl = impl_from(vm, global_object); auto* impl = impl_from(vm, global_object);
if (!impl) if (!impl)
@ -3355,7 +3355,7 @@ JS_DEFINE_NATIVE_FUNCTION(@prototype_class@::keys)
return wrap(global_object, @iterator_name@::create(*impl, Object::PropertyKind::Key)); return wrap(global_object, @iterator_name@::create(*impl, Object::PropertyKind::Key));
} }
JS_DEFINE_NATIVE_FUNCTION(@prototype_class@::values) JS_DEFINE_OLD_NATIVE_FUNCTION(@prototype_class@::values)
{ {
auto* impl = impl_from(vm, global_object); auto* impl = impl_from(vm, global_object);
if (!impl) if (!impl)
@ -3545,7 +3545,7 @@ public:
virtual ~@prototype_class@() override; virtual ~@prototype_class@() override;
private: private:
JS_DECLARE_NATIVE_FUNCTION(next); JS_DECLARE_OLD_NATIVE_FUNCTION(next);
}; };
} // namespace Web::Bindings } // namespace Web::Bindings
@ -3652,7 +3652,7 @@ static @fully_qualified_name@* impl_from(JS::VM& vm, JS::GlobalObject& global_ob
return &static_cast<@wrapper_class@*>(this_object)->impl(); return &static_cast<@wrapper_class@*>(this_object)->impl();
} }
JS_DEFINE_NATIVE_FUNCTION(@prototype_class@::next) JS_DEFINE_OLD_NATIVE_FUNCTION(@prototype_class@::next)
{ {
auto* impl = impl_from(vm, global_object); auto* impl = impl_from(vm, global_object);
if (!impl) if (!impl)

View file

@ -62,8 +62,8 @@ public:
~WebAssemblyModule() override = default; ~WebAssemblyModule() override = default;
private: private:
JS_DECLARE_NATIVE_FUNCTION(get_export); JS_DECLARE_OLD_NATIVE_FUNCTION(get_export);
JS_DECLARE_NATIVE_FUNCTION(wasm_invoke); JS_DECLARE_OLD_NATIVE_FUNCTION(wasm_invoke);
static HashMap<Wasm::Linker::Name, Wasm::ExternValue> const& spec_test_namespace() static HashMap<Wasm::Linker::Name, Wasm::ExternValue> const& spec_test_namespace()
{ {
@ -159,7 +159,7 @@ void WebAssemblyModule::initialize(JS::GlobalObject& global_object)
define_native_function("invoke", wasm_invoke, 1, JS::default_attributes); define_native_function("invoke", wasm_invoke, 1, JS::default_attributes);
} }
JS_DEFINE_NATIVE_FUNCTION(WebAssemblyModule::get_export) JS_DEFINE_OLD_NATIVE_FUNCTION(WebAssemblyModule::get_export)
{ {
auto name = TRY_OR_DISCARD(vm.argument(0).to_string(global_object)); auto name = TRY_OR_DISCARD(vm.argument(0).to_string(global_object));
auto this_value = vm.this_value(global_object); auto this_value = vm.this_value(global_object);
@ -193,7 +193,7 @@ JS_DEFINE_NATIVE_FUNCTION(WebAssemblyModule::get_export)
return {}; return {};
} }
JS_DEFINE_NATIVE_FUNCTION(WebAssemblyModule::wasm_invoke) JS_DEFINE_OLD_NATIVE_FUNCTION(WebAssemblyModule::wasm_invoke)
{ {
auto address = static_cast<unsigned long>(TRY_OR_DISCARD(vm.argument(0).to_double(global_object))); auto address = static_cast<unsigned long>(TRY_OR_DISCARD(vm.argument(0).to_double(global_object)));
Wasm::FunctionAddress function_address { address }; Wasm::FunctionAddress function_address { address };

View file

@ -169,7 +169,7 @@ void SheetGlobalObject::visit_edges(Visitor& visitor)
} }
} }
JS_DEFINE_NATIVE_FUNCTION(SheetGlobalObject::get_real_cell_contents) JS_DEFINE_OLD_NATIVE_FUNCTION(SheetGlobalObject::get_real_cell_contents)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
@ -206,7 +206,7 @@ JS_DEFINE_NATIVE_FUNCTION(SheetGlobalObject::get_real_cell_contents)
return JS::js_string(vm, cell->data()); return JS::js_string(vm, cell->data());
} }
JS_DEFINE_NATIVE_FUNCTION(SheetGlobalObject::set_real_cell_contents) JS_DEFINE_OLD_NATIVE_FUNCTION(SheetGlobalObject::set_real_cell_contents)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
@ -245,7 +245,7 @@ JS_DEFINE_NATIVE_FUNCTION(SheetGlobalObject::set_real_cell_contents)
return JS::js_null(); return JS::js_null();
} }
JS_DEFINE_NATIVE_FUNCTION(SheetGlobalObject::parse_cell_name) JS_DEFINE_OLD_NATIVE_FUNCTION(SheetGlobalObject::parse_cell_name)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
@ -276,7 +276,7 @@ JS_DEFINE_NATIVE_FUNCTION(SheetGlobalObject::parse_cell_name)
return object; return object;
} }
JS_DEFINE_NATIVE_FUNCTION(SheetGlobalObject::current_cell_position) JS_DEFINE_OLD_NATIVE_FUNCTION(SheetGlobalObject::current_cell_position)
{ {
if (vm.argument_count() != 0) { if (vm.argument_count() != 0) {
vm.throw_exception<JS::TypeError>(global_object, "Expected no arguments to current_cell_position()"); vm.throw_exception<JS::TypeError>(global_object, "Expected no arguments to current_cell_position()");
@ -304,7 +304,7 @@ JS_DEFINE_NATIVE_FUNCTION(SheetGlobalObject::current_cell_position)
return object; return object;
} }
JS_DEFINE_NATIVE_FUNCTION(SheetGlobalObject::column_index) JS_DEFINE_OLD_NATIVE_FUNCTION(SheetGlobalObject::column_index)
{ {
if (vm.argument_count() != 1) { if (vm.argument_count() != 1) {
vm.throw_exception<JS::TypeError>(global_object, "Expected exactly one argument to column_index()"); vm.throw_exception<JS::TypeError>(global_object, "Expected exactly one argument to column_index()");
@ -337,7 +337,7 @@ JS_DEFINE_NATIVE_FUNCTION(SheetGlobalObject::column_index)
return JS::Value((i32)column_index.value()); return JS::Value((i32)column_index.value());
} }
JS_DEFINE_NATIVE_FUNCTION(SheetGlobalObject::column_arithmetic) JS_DEFINE_OLD_NATIVE_FUNCTION(SheetGlobalObject::column_arithmetic)
{ {
if (vm.argument_count() != 2) { if (vm.argument_count() != 2) {
vm.throw_exception<JS::TypeError>(global_object, "Expected exactly two arguments to column_arithmetic()"); vm.throw_exception<JS::TypeError>(global_object, "Expected exactly two arguments to column_arithmetic()");
@ -397,7 +397,7 @@ void WorkbookObject::visit_edges(Visitor& visitor)
visitor.visit(&sheet.global_object()); visitor.visit(&sheet.global_object());
} }
JS_DEFINE_NATIVE_FUNCTION(WorkbookObject::sheet) JS_DEFINE_OLD_NATIVE_FUNCTION(WorkbookObject::sheet)
{ {
if (vm.argument_count() != 1) { if (vm.argument_count() != 1) {
vm.throw_exception<JS::TypeError>(global_object, "Expected exactly one argument to sheet()"); vm.throw_exception<JS::TypeError>(global_object, "Expected exactly one argument to sheet()");

View file

@ -32,12 +32,12 @@ public:
virtual JS::ThrowCompletionOr<bool> internal_set(JS::PropertyName const&, JS::Value value, JS::Value receiver) override; virtual JS::ThrowCompletionOr<bool> internal_set(JS::PropertyName const&, JS::Value value, JS::Value receiver) override;
virtual void initialize_global_object() override; virtual void initialize_global_object() override;
JS_DECLARE_NATIVE_FUNCTION(get_real_cell_contents); JS_DECLARE_OLD_NATIVE_FUNCTION(get_real_cell_contents);
JS_DECLARE_NATIVE_FUNCTION(set_real_cell_contents); JS_DECLARE_OLD_NATIVE_FUNCTION(set_real_cell_contents);
JS_DECLARE_NATIVE_FUNCTION(parse_cell_name); JS_DECLARE_OLD_NATIVE_FUNCTION(parse_cell_name);
JS_DECLARE_NATIVE_FUNCTION(current_cell_position); JS_DECLARE_OLD_NATIVE_FUNCTION(current_cell_position);
JS_DECLARE_NATIVE_FUNCTION(column_index); JS_DECLARE_OLD_NATIVE_FUNCTION(column_index);
JS_DECLARE_NATIVE_FUNCTION(column_arithmetic); JS_DECLARE_OLD_NATIVE_FUNCTION(column_arithmetic);
private: private:
virtual void visit_edges(Visitor&) override; virtual void visit_edges(Visitor&) override;
@ -54,7 +54,7 @@ public:
virtual void initialize(JS::GlobalObject&) override; virtual void initialize(JS::GlobalObject&) override;
JS_DECLARE_NATIVE_FUNCTION(sheet); JS_DECLARE_OLD_NATIVE_FUNCTION(sheet);
private: private:
virtual void visit_edges(Visitor&) override; virtual void visit_edges(Visitor&) override;

View file

@ -6,12 +6,18 @@
#pragma once #pragma once
#define JS_DECLARE_NATIVE_FUNCTION(name) \ #define JS_DECLARE_OLD_NATIVE_FUNCTION(name) \
static JS::Value name(JS::VM&, JS::GlobalObject&) static JS::Value name(JS::VM&, JS::GlobalObject&)
#define JS_DEFINE_NATIVE_FUNCTION(name) \ #define JS_DEFINE_OLD_NATIVE_FUNCTION(name) \
JS::Value name([[maybe_unused]] JS::VM& vm, [[maybe_unused]] JS::GlobalObject& global_object) JS::Value name([[maybe_unused]] JS::VM& vm, [[maybe_unused]] JS::GlobalObject& global_object)
#define JS_DECLARE_NATIVE_FUNCTION(name) \
static JS::ThrowCompletionOr<JS::Value> name(JS::VM&, JS::GlobalObject&)
#define JS_DEFINE_NATIVE_FUNCTION(name) \
JS::ThrowCompletionOr<JS::Value> name([[maybe_unused]] JS::VM& vm, [[maybe_unused]] JS::GlobalObject& global_object)
// NOTE: Proxy is not included here as it doesn't have a prototype - m_proxy_constructor is initialized separately. // NOTE: Proxy is not included here as it doesn't have a prototype - m_proxy_constructor is initialized separately.
#define JS_ENUMERATE_NATIVE_OBJECTS_EXCLUDING_TEMPLATES \ #define JS_ENUMERATE_NATIVE_OBJECTS_EXCLUDING_TEMPLATES \
__JS_ENUMERATE(AggregateError, aggregate_error, AggregateErrorPrototype, AggregateErrorConstructor, void) \ __JS_ENUMERATE(AggregateError, aggregate_error, AggregateErrorPrototype, AggregateErrorConstructor, void) \

View file

@ -65,7 +65,7 @@ Value ArrayBufferConstructor::construct(FunctionObject& new_target)
} }
// 25.1.4.1 ArrayBuffer.isView ( arg ), https://tc39.es/ecma262/#sec-arraybuffer.isview // 25.1.4.1 ArrayBuffer.isView ( arg ), https://tc39.es/ecma262/#sec-arraybuffer.isview
JS_DEFINE_NATIVE_FUNCTION(ArrayBufferConstructor::is_view) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayBufferConstructor::is_view)
{ {
auto arg = vm.argument(0); auto arg = vm.argument(0);
if (!arg.is_object()) if (!arg.is_object())
@ -78,7 +78,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayBufferConstructor::is_view)
} }
// 25.1.4.3 get ArrayBuffer [ @@species ], https://tc39.es/ecma262/#sec-get-arraybuffer-@@species // 25.1.4.3 get ArrayBuffer [ @@species ], https://tc39.es/ecma262/#sec-get-arraybuffer-@@species
JS_DEFINE_NATIVE_FUNCTION(ArrayBufferConstructor::symbol_species_getter) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayBufferConstructor::symbol_species_getter)
{ {
return vm.this_value(global_object); return vm.this_value(global_object);
} }

View file

@ -24,9 +24,9 @@ public:
private: private:
virtual bool has_constructor() const override { return true; } virtual bool has_constructor() const override { return true; }
JS_DECLARE_NATIVE_FUNCTION(is_view); JS_DECLARE_OLD_NATIVE_FUNCTION(is_view);
JS_DECLARE_NATIVE_FUNCTION(symbol_species_getter); JS_DECLARE_OLD_NATIVE_FUNCTION(symbol_species_getter);
}; };
} }

View file

@ -35,7 +35,7 @@ ArrayBufferPrototype::~ArrayBufferPrototype()
} }
// 25.1.5.3 ArrayBuffer.prototype.slice ( start, end ), https://tc39.es/ecma262/#sec-arraybuffer.prototype.slice // 25.1.5.3 ArrayBuffer.prototype.slice ( start, end ), https://tc39.es/ecma262/#sec-arraybuffer.prototype.slice
JS_DEFINE_NATIVE_FUNCTION(ArrayBufferPrototype::slice) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayBufferPrototype::slice)
{ {
auto* array_buffer_object = TRY_OR_DISCARD(typed_this_value(global_object)); auto* array_buffer_object = TRY_OR_DISCARD(typed_this_value(global_object));
// FIXME: Check for shared buffer // FIXME: Check for shared buffer
@ -103,7 +103,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayBufferPrototype::slice)
} }
// 25.1.5.1 get ArrayBuffer.prototype.byteLength, https://tc39.es/ecma262/#sec-get-arraybuffer.prototype.bytelength // 25.1.5.1 get ArrayBuffer.prototype.byteLength, https://tc39.es/ecma262/#sec-get-arraybuffer.prototype.bytelength
JS_DEFINE_NATIVE_FUNCTION(ArrayBufferPrototype::byte_length_getter) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayBufferPrototype::byte_length_getter)
{ {
auto* array_buffer_object = TRY_OR_DISCARD(typed_this_value(global_object)); auto* array_buffer_object = TRY_OR_DISCARD(typed_this_value(global_object));
// FIXME: Check for shared buffer // FIXME: Check for shared buffer

View file

@ -20,8 +20,8 @@ public:
virtual ~ArrayBufferPrototype() override; virtual ~ArrayBufferPrototype() override;
private: private:
JS_DECLARE_NATIVE_FUNCTION(slice); JS_DECLARE_OLD_NATIVE_FUNCTION(slice);
JS_DECLARE_NATIVE_FUNCTION(byte_length_getter); JS_DECLARE_OLD_NATIVE_FUNCTION(byte_length_getter);
}; };
} }

View file

@ -89,7 +89,7 @@ Value ArrayConstructor::construct(FunctionObject& new_target)
} }
// 23.1.2.1 Array.from ( items [ , mapfn [ , thisArg ] ] ), https://tc39.es/ecma262/#sec-array.from // 23.1.2.1 Array.from ( items [ , mapfn [ , thisArg ] ] ), https://tc39.es/ecma262/#sec-array.from
JS_DEFINE_NATIVE_FUNCTION(ArrayConstructor::from) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayConstructor::from)
{ {
auto constructor = vm.this_value(global_object); auto constructor = vm.this_value(global_object);
@ -200,14 +200,14 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayConstructor::from)
} }
// 23.1.2.2 Array.isArray ( arg ), https://tc39.es/ecma262/#sec-array.isarray // 23.1.2.2 Array.isArray ( arg ), https://tc39.es/ecma262/#sec-array.isarray
JS_DEFINE_NATIVE_FUNCTION(ArrayConstructor::is_array) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayConstructor::is_array)
{ {
auto value = vm.argument(0); auto value = vm.argument(0);
return Value(TRY_OR_DISCARD(value.is_array(global_object))); return Value(TRY_OR_DISCARD(value.is_array(global_object)));
} }
// 23.1.2.3 Array.of ( ...items ), https://tc39.es/ecma262/#sec-array.of // 23.1.2.3 Array.of ( ...items ), https://tc39.es/ecma262/#sec-array.of
JS_DEFINE_NATIVE_FUNCTION(ArrayConstructor::of) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayConstructor::of)
{ {
auto this_value = vm.this_value(global_object); auto this_value = vm.this_value(global_object);
Value array; Value array;
@ -230,7 +230,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayConstructor::of)
} }
// 23.1.2.5 get Array [ @@species ], https://tc39.es/ecma262/#sec-get-array-@@species // 23.1.2.5 get Array [ @@species ], https://tc39.es/ecma262/#sec-get-array-@@species
JS_DEFINE_NATIVE_FUNCTION(ArrayConstructor::symbol_species_getter) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayConstructor::symbol_species_getter)
{ {
return vm.this_value(global_object); return vm.this_value(global_object);
} }

View file

@ -24,11 +24,11 @@ public:
private: private:
virtual bool has_constructor() const override { return true; } virtual bool has_constructor() const override { return true; }
JS_DECLARE_NATIVE_FUNCTION(from); JS_DECLARE_OLD_NATIVE_FUNCTION(from);
JS_DECLARE_NATIVE_FUNCTION(is_array); JS_DECLARE_OLD_NATIVE_FUNCTION(is_array);
JS_DECLARE_NATIVE_FUNCTION(of); JS_DECLARE_OLD_NATIVE_FUNCTION(of);
JS_DECLARE_NATIVE_FUNCTION(symbol_species_getter); JS_DECLARE_OLD_NATIVE_FUNCTION(symbol_species_getter);
}; };
} }

View file

@ -36,7 +36,7 @@ ArrayIteratorPrototype::~ArrayIteratorPrototype()
// 23.1.5.2.1 %ArrayIteratorPrototype%.next ( ), https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next // 23.1.5.2.1 %ArrayIteratorPrototype%.next ( ), https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next
// FIXME: This seems to be CreateArrayIterator (https://tc39.es/ecma262/#sec-createarrayiterator) instead of %ArrayIteratorPrototype%.next. // FIXME: This seems to be CreateArrayIterator (https://tc39.es/ecma262/#sec-createarrayiterator) instead of %ArrayIteratorPrototype%.next.
JS_DEFINE_NATIVE_FUNCTION(ArrayIteratorPrototype::next) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayIteratorPrototype::next)
{ {
auto* iterator = TRY_OR_DISCARD(typed_this_value(global_object)); auto* iterator = TRY_OR_DISCARD(typed_this_value(global_object));
auto target_array = iterator->array(); auto target_array = iterator->array();

View file

@ -20,7 +20,7 @@ public:
virtual ~ArrayIteratorPrototype() override; virtual ~ArrayIteratorPrototype() override;
private: private:
JS_DECLARE_NATIVE_FUNCTION(next); JS_DECLARE_OLD_NATIVE_FUNCTION(next);
}; };
} }

View file

@ -154,7 +154,7 @@ static Object* array_species_create(GlobalObject& global_object, Object& origina
} }
// 23.1.3.7 Array.prototype.filter ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.filter // 23.1.3.7 Array.prototype.filter ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.filter
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::filter) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::filter)
{ {
auto callback_function = vm.argument(0); auto callback_function = vm.argument(0);
auto this_arg = vm.argument(1); auto this_arg = vm.argument(1);
@ -216,7 +216,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::filter)
} }
// 23.1.3.12 Array.prototype.forEach ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.foreach // 23.1.3.12 Array.prototype.forEach ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.foreach
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::for_each) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::for_each)
{ {
auto callback_function = vm.argument(0); auto callback_function = vm.argument(0);
auto this_arg = vm.argument(1); auto this_arg = vm.argument(1);
@ -261,7 +261,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::for_each)
} }
// 23.1.3.18 Array.prototype.map ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.map // 23.1.3.18 Array.prototype.map ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.map
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::map) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::map)
{ {
auto callback_function = vm.argument(0); auto callback_function = vm.argument(0);
auto this_arg = vm.argument(1); auto this_arg = vm.argument(1);
@ -312,7 +312,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::map)
} }
// 23.1.3.20 Array.prototype.push ( ...items ), https://tc39.es/ecma262/#sec-array.prototype.push // 23.1.3.20 Array.prototype.push ( ...items ), https://tc39.es/ecma262/#sec-array.prototype.push
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::push) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::push)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
auto length = TRY_OR_DISCARD(length_of_array_like(global_object, *this_object)); auto length = TRY_OR_DISCARD(length_of_array_like(global_object, *this_object));
@ -330,7 +330,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::push)
} }
// 23.1.3.31 Array.prototype.unshift ( ...items ), https://tc39.es/ecma262/#sec-array.prototype.unshift // 23.1.3.31 Array.prototype.unshift ( ...items ), https://tc39.es/ecma262/#sec-array.prototype.unshift
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::unshift) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::unshift)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
auto length = TRY_OR_DISCARD(length_of_array_like(global_object, *this_object)); auto length = TRY_OR_DISCARD(length_of_array_like(global_object, *this_object));
@ -364,7 +364,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::unshift)
} }
// 23.1.3.19 Array.prototype.pop ( ), https://tc39.es/ecma262/#sec-array.prototype.pop // 23.1.3.19 Array.prototype.pop ( ), https://tc39.es/ecma262/#sec-array.prototype.pop
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::pop) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::pop)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
auto length = TRY_OR_DISCARD(length_of_array_like(global_object, *this_object)); auto length = TRY_OR_DISCARD(length_of_array_like(global_object, *this_object));
@ -380,7 +380,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::pop)
} }
// 23.1.3.24 Array.prototype.shift ( ), https://tc39.es/ecma262/#sec-array.prototype.shift // 23.1.3.24 Array.prototype.shift ( ), https://tc39.es/ecma262/#sec-array.prototype.shift
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::shift) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::shift)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
auto length = TRY_OR_DISCARD(length_of_array_like(global_object, *this_object)); auto length = TRY_OR_DISCARD(length_of_array_like(global_object, *this_object));
@ -407,7 +407,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::shift)
} }
// 23.1.3.30 Array.prototype.toString ( ), https://tc39.es/ecma262/#sec-array.prototype.tostring // 23.1.3.30 Array.prototype.toString ( ), https://tc39.es/ecma262/#sec-array.prototype.tostring
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::to_string) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::to_string)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
auto join_function = TRY_OR_DISCARD(this_object->get(vm.names.join)); auto join_function = TRY_OR_DISCARD(this_object->get(vm.names.join));
@ -417,7 +417,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::to_string)
} }
// 23.1.3.29 Array.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] ), https://tc39.es/ecma262/#sec-array.prototype.tolocalestring // 23.1.3.29 Array.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] ), https://tc39.es/ecma262/#sec-array.prototype.tolocalestring
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::to_locale_string) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::to_locale_string)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
@ -446,7 +446,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::to_locale_string)
} }
// 23.1.3.15 Array.prototype.join ( separator ), https://tc39.es/ecma262/#sec-array.prototype.join // 23.1.3.15 Array.prototype.join ( separator ), https://tc39.es/ecma262/#sec-array.prototype.join
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::join) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::join)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
@ -479,7 +479,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::join)
} }
// 23.1.3.1 Array.prototype.concat ( ...items ), https://tc39.es/ecma262/#sec-array.prototype.concat // 23.1.3.1 Array.prototype.concat ( ...items ), https://tc39.es/ecma262/#sec-array.prototype.concat
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::concat) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::concat)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
@ -563,7 +563,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::concat)
} }
// 23.1.3.25 Array.prototype.slice ( start, end ), https://tc39.es/ecma262/#sec-array.prototype.slice // 23.1.3.25 Array.prototype.slice ( start, end ), https://tc39.es/ecma262/#sec-array.prototype.slice
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::slice) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::slice)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
@ -621,7 +621,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::slice)
} }
// 23.1.3.14 Array.prototype.indexOf ( searchElement [ , fromIndex ] ), https://tc39.es/ecma262/#sec-array.prototype.indexof // 23.1.3.14 Array.prototype.indexOf ( searchElement [ , fromIndex ] ), https://tc39.es/ecma262/#sec-array.prototype.indexof
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::index_of) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::index_of)
{ {
auto search_element = vm.argument(0); auto search_element = vm.argument(0);
auto from_index = vm.argument(1); auto from_index = vm.argument(1);
@ -693,7 +693,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::index_of)
} }
// 23.1.3.21 Array.prototype.reduce ( callbackfn [ , initialValue ] ), https://tc39.es/ecma262/#sec-array.prototype.reduce // 23.1.3.21 Array.prototype.reduce ( callbackfn [ , initialValue ] ), https://tc39.es/ecma262/#sec-array.prototype.reduce
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::reduce) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::reduce)
{ {
auto callback_function = vm.argument(0); auto callback_function = vm.argument(0);
auto initial_value = vm.argument(1); auto initial_value = vm.argument(1);
@ -781,7 +781,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::reduce)
} }
// 23.1.3.22 Array.prototype.reduceRight ( callbackfn [ , initialValue ] ), https://tc39.es/ecma262/#sec-array.prototype.reduceright // 23.1.3.22 Array.prototype.reduceRight ( callbackfn [ , initialValue ] ), https://tc39.es/ecma262/#sec-array.prototype.reduceright
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::reduce_right) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::reduce_right)
{ {
auto callback_function = vm.argument(0); auto callback_function = vm.argument(0);
auto initial_value = vm.argument(1); auto initial_value = vm.argument(1);
@ -869,7 +869,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::reduce_right)
} }
// 23.1.3.23 Array.prototype.reverse ( ), https://tc39.es/ecma262/#sec-array.prototype.reverse // 23.1.3.23 Array.prototype.reverse ( ), https://tc39.es/ecma262/#sec-array.prototype.reverse
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::reverse) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::reverse)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
auto length = TRY_OR_DISCARD(length_of_array_like(global_object, *this_object)); auto length = TRY_OR_DISCARD(length_of_array_like(global_object, *this_object));
@ -1017,7 +1017,7 @@ static void array_merge_sort(VM& vm, GlobalObject& global_object, FunctionObject
} }
// 23.1.3.27 Array.prototype.sort ( comparefn ), https://tc39.es/ecma262/#sec-array.prototype.sort // 23.1.3.27 Array.prototype.sort ( comparefn ), https://tc39.es/ecma262/#sec-array.prototype.sort
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::sort) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::sort)
{ {
auto callback = vm.argument(0); auto callback = vm.argument(0);
if (!callback.is_undefined() && !callback.is_function()) { if (!callback.is_undefined() && !callback.is_function()) {
@ -1061,7 +1061,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::sort)
} }
// 23.1.3.17 Array.prototype.lastIndexOf ( searchElement [ , fromIndex ] ), https://tc39.es/ecma262/#sec-array.prototype.lastindexof // 23.1.3.17 Array.prototype.lastIndexOf ( searchElement [ , fromIndex ] ), https://tc39.es/ecma262/#sec-array.prototype.lastindexof
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::last_index_of) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::last_index_of)
{ {
auto search_element = vm.argument(0); auto search_element = vm.argument(0);
auto from_index = vm.argument(1); auto from_index = vm.argument(1);
@ -1129,7 +1129,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::last_index_of)
} }
// 23.1.3.13 Array.prototype.includes ( searchElement [ , fromIndex ] ), https://tc39.es/ecma262/#sec-array.prototype.includes // 23.1.3.13 Array.prototype.includes ( searchElement [ , fromIndex ] ), https://tc39.es/ecma262/#sec-array.prototype.includes
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::includes) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::includes)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
auto length = TRY_OR_DISCARD(length_of_array_like(global_object, *this_object)); auto length = TRY_OR_DISCARD(length_of_array_like(global_object, *this_object));
@ -1160,7 +1160,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::includes)
} }
// 23.1.3.8 Array.prototype.find ( predicate [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.find // 23.1.3.8 Array.prototype.find ( predicate [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.find
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::find) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::find)
{ {
auto predicate = vm.argument(0); auto predicate = vm.argument(0);
auto this_arg = vm.argument(1); auto this_arg = vm.argument(1);
@ -1201,7 +1201,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::find)
} }
// 23.1.3.9 Array.prototype.findIndex ( predicate [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.findindex // 23.1.3.9 Array.prototype.findIndex ( predicate [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.findindex
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::find_index) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::find_index)
{ {
auto predicate = vm.argument(0); auto predicate = vm.argument(0);
auto this_arg = vm.argument(1); auto this_arg = vm.argument(1);
@ -1242,7 +1242,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::find_index)
} }
// 1 Array.prototype.findLast ( predicate [ , thisArg ] ), https://tc39.es/proposal-array-find-from-last/index.html#sec-array.prototype.findlast // 1 Array.prototype.findLast ( predicate [ , thisArg ] ), https://tc39.es/proposal-array-find-from-last/index.html#sec-array.prototype.findlast
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::find_last) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::find_last)
{ {
auto predicate = vm.argument(0); auto predicate = vm.argument(0);
auto this_arg = vm.argument(1); auto this_arg = vm.argument(1);
@ -1283,7 +1283,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::find_last)
} }
// 2 Array.prototype.findLastIndex ( predicate [ , thisArg ] ), https://tc39.es/proposal-array-find-from-last/index.html#sec-array.prototype.findlastindex // 2 Array.prototype.findLastIndex ( predicate [ , thisArg ] ), https://tc39.es/proposal-array-find-from-last/index.html#sec-array.prototype.findlastindex
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::find_last_index) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::find_last_index)
{ {
auto predicate = vm.argument(0); auto predicate = vm.argument(0);
auto this_arg = vm.argument(1); auto this_arg = vm.argument(1);
@ -1324,7 +1324,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::find_last_index)
} }
// 23.1.3.26 Array.prototype.some ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.some // 23.1.3.26 Array.prototype.some ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.some
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::some) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::some)
{ {
auto callback_function = vm.argument(0); auto callback_function = vm.argument(0);
auto this_arg = vm.argument(1); auto this_arg = vm.argument(1);
@ -1371,7 +1371,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::some)
} }
// 23.1.3.5 Array.prototype.every ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.every // 23.1.3.5 Array.prototype.every ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.every
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::every) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::every)
{ {
auto callback_function = vm.argument(0); auto callback_function = vm.argument(0);
auto this_arg = vm.argument(1); auto this_arg = vm.argument(1);
@ -1418,7 +1418,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::every)
} }
// 23.1.3.28 Array.prototype.splice ( start, deleteCount, ...items ), https://tc39.es/ecma262#sec-array.prototype.splice // 23.1.3.28 Array.prototype.splice ( start, deleteCount, ...items ), https://tc39.es/ecma262#sec-array.prototype.splice
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::splice) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::splice)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
@ -1514,7 +1514,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::splice)
} }
// 23.1.3.6 Array.prototype.fill ( value [ , start [ , end ] ] ), https://tc39.es/ecma262/#sec-array.prototype.fill // 23.1.3.6 Array.prototype.fill ( value [ , start [ , end ] ] ), https://tc39.es/ecma262/#sec-array.prototype.fill
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::fill) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::fill)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
@ -1555,7 +1555,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::fill)
} }
// 23.1.3.32 Array.prototype.values ( ), https://tc39.es/ecma262/#sec-array.prototype.values // 23.1.3.32 Array.prototype.values ( ), https://tc39.es/ecma262/#sec-array.prototype.values
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::values) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::values)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
@ -1563,7 +1563,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::values)
} }
// 23.1.3.16 Array.prototype.entries ( ), https://tc39.es/ecma262/#sec-array.prototype.entries // 23.1.3.16 Array.prototype.entries ( ), https://tc39.es/ecma262/#sec-array.prototype.entries
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::entries) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::entries)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
@ -1571,7 +1571,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::entries)
} }
// 23.1.3.16 Array.prototype.keys ( ), https://tc39.es/ecma262/#sec-array.prototype.keys // 23.1.3.16 Array.prototype.keys ( ), https://tc39.es/ecma262/#sec-array.prototype.keys
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::keys) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::keys)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
@ -1620,7 +1620,7 @@ static size_t flatten_into_array(GlobalObject& global_object, Object& new_array,
} }
// 23.1.3.10 Array.prototype.flat ( [ depth ] ), https://tc39.es/ecma262/#sec-array.prototype.flat // 23.1.3.10 Array.prototype.flat ( [ depth ] ), https://tc39.es/ecma262/#sec-array.prototype.flat
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::flat) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::flat)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
@ -1643,7 +1643,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::flat)
} }
// 23.1.3.11 Array.prototype.flatMap ( mapperFunction [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.flatmap // 23.1.3.11 Array.prototype.flatMap ( mapperFunction [ , thisArg ] ), https://tc39.es/ecma262/#sec-array.prototype.flatmap
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::flat_map) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::flat_map)
{ {
auto mapper_function = vm.argument(0); auto mapper_function = vm.argument(0);
auto this_arg = vm.argument(1); auto this_arg = vm.argument(1);
@ -1675,7 +1675,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::flat_map)
} }
// 23.1.3.3 Array.prototype.copyWithin ( target, start [ , end ] ), https://tc39.es/ecma262/#sec-array.prototype.copywithin // 23.1.3.3 Array.prototype.copyWithin ( target, start [ , end ] ), https://tc39.es/ecma262/#sec-array.prototype.copywithin
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::copy_within) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::copy_within)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
auto length = TRY_OR_DISCARD(length_of_array_like(global_object, *this_object)); auto length = TRY_OR_DISCARD(length_of_array_like(global_object, *this_object));
@ -1741,7 +1741,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::copy_within)
} }
// 1.1 Array.prototype.at ( index ), https://tc39.es/proposal-relative-indexing-method/#sec-array.prototype.at // 1.1 Array.prototype.at ( index ), https://tc39.es/proposal-relative-indexing-method/#sec-array.prototype.at
JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::at) JS_DEFINE_OLD_NATIVE_FUNCTION(ArrayPrototype::at)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
auto length = TRY_OR_DISCARD(length_of_array_like(global_object, *this_object)); auto length = TRY_OR_DISCARD(length_of_array_like(global_object, *this_object));

View file

@ -20,40 +20,40 @@ public:
virtual ~ArrayPrototype() override; virtual ~ArrayPrototype() override;
private: private:
JS_DECLARE_NATIVE_FUNCTION(filter); JS_DECLARE_OLD_NATIVE_FUNCTION(filter);
JS_DECLARE_NATIVE_FUNCTION(for_each); JS_DECLARE_OLD_NATIVE_FUNCTION(for_each);
JS_DECLARE_NATIVE_FUNCTION(map); JS_DECLARE_OLD_NATIVE_FUNCTION(map);
JS_DECLARE_NATIVE_FUNCTION(pop); JS_DECLARE_OLD_NATIVE_FUNCTION(pop);
JS_DECLARE_NATIVE_FUNCTION(push); JS_DECLARE_OLD_NATIVE_FUNCTION(push);
JS_DECLARE_NATIVE_FUNCTION(shift); JS_DECLARE_OLD_NATIVE_FUNCTION(shift);
JS_DECLARE_NATIVE_FUNCTION(to_string); JS_DECLARE_OLD_NATIVE_FUNCTION(to_string);
JS_DECLARE_NATIVE_FUNCTION(to_locale_string); JS_DECLARE_OLD_NATIVE_FUNCTION(to_locale_string);
JS_DECLARE_NATIVE_FUNCTION(unshift); JS_DECLARE_OLD_NATIVE_FUNCTION(unshift);
JS_DECLARE_NATIVE_FUNCTION(join); JS_DECLARE_OLD_NATIVE_FUNCTION(join);
JS_DECLARE_NATIVE_FUNCTION(concat); JS_DECLARE_OLD_NATIVE_FUNCTION(concat);
JS_DECLARE_NATIVE_FUNCTION(slice); JS_DECLARE_OLD_NATIVE_FUNCTION(slice);
JS_DECLARE_NATIVE_FUNCTION(index_of); JS_DECLARE_OLD_NATIVE_FUNCTION(index_of);
JS_DECLARE_NATIVE_FUNCTION(reduce); JS_DECLARE_OLD_NATIVE_FUNCTION(reduce);
JS_DECLARE_NATIVE_FUNCTION(reduce_right); JS_DECLARE_OLD_NATIVE_FUNCTION(reduce_right);
JS_DECLARE_NATIVE_FUNCTION(reverse); JS_DECLARE_OLD_NATIVE_FUNCTION(reverse);
JS_DECLARE_NATIVE_FUNCTION(sort); JS_DECLARE_OLD_NATIVE_FUNCTION(sort);
JS_DECLARE_NATIVE_FUNCTION(last_index_of); JS_DECLARE_OLD_NATIVE_FUNCTION(last_index_of);
JS_DECLARE_NATIVE_FUNCTION(includes); JS_DECLARE_OLD_NATIVE_FUNCTION(includes);
JS_DECLARE_NATIVE_FUNCTION(find); JS_DECLARE_OLD_NATIVE_FUNCTION(find);
JS_DECLARE_NATIVE_FUNCTION(find_index); JS_DECLARE_OLD_NATIVE_FUNCTION(find_index);
JS_DECLARE_NATIVE_FUNCTION(find_last); JS_DECLARE_OLD_NATIVE_FUNCTION(find_last);
JS_DECLARE_NATIVE_FUNCTION(find_last_index); JS_DECLARE_OLD_NATIVE_FUNCTION(find_last_index);
JS_DECLARE_NATIVE_FUNCTION(some); JS_DECLARE_OLD_NATIVE_FUNCTION(some);
JS_DECLARE_NATIVE_FUNCTION(every); JS_DECLARE_OLD_NATIVE_FUNCTION(every);
JS_DECLARE_NATIVE_FUNCTION(splice); JS_DECLARE_OLD_NATIVE_FUNCTION(splice);
JS_DECLARE_NATIVE_FUNCTION(fill); JS_DECLARE_OLD_NATIVE_FUNCTION(fill);
JS_DECLARE_NATIVE_FUNCTION(values); JS_DECLARE_OLD_NATIVE_FUNCTION(values);
JS_DECLARE_NATIVE_FUNCTION(flat); JS_DECLARE_OLD_NATIVE_FUNCTION(flat);
JS_DECLARE_NATIVE_FUNCTION(flat_map); JS_DECLARE_OLD_NATIVE_FUNCTION(flat_map);
JS_DECLARE_NATIVE_FUNCTION(at); JS_DECLARE_OLD_NATIVE_FUNCTION(at);
JS_DECLARE_NATIVE_FUNCTION(keys); JS_DECLARE_OLD_NATIVE_FUNCTION(keys);
JS_DECLARE_NATIVE_FUNCTION(entries); JS_DECLARE_OLD_NATIVE_FUNCTION(entries);
JS_DECLARE_NATIVE_FUNCTION(copy_within); JS_DECLARE_OLD_NATIVE_FUNCTION(copy_within);
}; };
} }

View file

@ -162,7 +162,7 @@ void AtomicsObject::initialize(GlobalObject& global_object)
} }
// 25.4.3 Atomics.add ( typedArray, index, value ), https://tc39.es/ecma262/#sec-atomics.add // 25.4.3 Atomics.add ( typedArray, index, value ), https://tc39.es/ecma262/#sec-atomics.add
JS_DEFINE_NATIVE_FUNCTION(AtomicsObject::add) JS_DEFINE_OLD_NATIVE_FUNCTION(AtomicsObject::add)
{ {
auto* typed_array = typed_array_from(global_object, vm.argument(0)); auto* typed_array = typed_array_from(global_object, vm.argument(0));
if (!typed_array) if (!typed_array)
@ -180,7 +180,7 @@ JS_DEFINE_NATIVE_FUNCTION(AtomicsObject::add)
} }
// 25.4.4 Atomics.and ( typedArray, index, value ), https://tc39.es/ecma262/#sec-atomics.and // 25.4.4 Atomics.and ( typedArray, index, value ), https://tc39.es/ecma262/#sec-atomics.and
JS_DEFINE_NATIVE_FUNCTION(AtomicsObject::and_) JS_DEFINE_OLD_NATIVE_FUNCTION(AtomicsObject::and_)
{ {
auto* typed_array = typed_array_from(global_object, vm.argument(0)); auto* typed_array = typed_array_from(global_object, vm.argument(0));
if (!typed_array) if (!typed_array)
@ -278,7 +278,7 @@ static ThrowCompletionOr<Value> atomic_compare_exchange_impl(GlobalObject& globa
} }
// 25.4.5 Atomics.compareExchange ( typedArray, index, expectedValue, replacementValue ), https://tc39.es/ecma262/#sec-atomics.compareexchange // 25.4.5 Atomics.compareExchange ( typedArray, index, expectedValue, replacementValue ), https://tc39.es/ecma262/#sec-atomics.compareexchange
JS_DEFINE_NATIVE_FUNCTION(AtomicsObject::compare_exchange) JS_DEFINE_OLD_NATIVE_FUNCTION(AtomicsObject::compare_exchange)
{ {
auto* typed_array = typed_array_from(global_object, vm.argument(0)); auto* typed_array = typed_array_from(global_object, vm.argument(0));
if (!typed_array) if (!typed_array)
@ -294,7 +294,7 @@ JS_DEFINE_NATIVE_FUNCTION(AtomicsObject::compare_exchange)
} }
// 25.4.6 Atomics.exchange ( typedArray, index, value ), https://tc39.es/ecma262/#sec-atomics.exchange // 25.4.6 Atomics.exchange ( typedArray, index, value ), https://tc39.es/ecma262/#sec-atomics.exchange
JS_DEFINE_NATIVE_FUNCTION(AtomicsObject::exchange) JS_DEFINE_OLD_NATIVE_FUNCTION(AtomicsObject::exchange)
{ {
auto* typed_array = typed_array_from(global_object, vm.argument(0)); auto* typed_array = typed_array_from(global_object, vm.argument(0));
if (!typed_array) if (!typed_array)
@ -312,7 +312,7 @@ JS_DEFINE_NATIVE_FUNCTION(AtomicsObject::exchange)
} }
// 25.4.7 Atomics.isLockFree ( size ), https://tc39.es/ecma262/#sec-atomics.islockfree // 25.4.7 Atomics.isLockFree ( size ), https://tc39.es/ecma262/#sec-atomics.islockfree
JS_DEFINE_NATIVE_FUNCTION(AtomicsObject::is_lock_free) JS_DEFINE_OLD_NATIVE_FUNCTION(AtomicsObject::is_lock_free)
{ {
auto size = TRY_OR_DISCARD(vm.argument(0).to_integer_or_infinity(global_object)); auto size = TRY_OR_DISCARD(vm.argument(0).to_integer_or_infinity(global_object));
if (size == 1) if (size == 1)
@ -327,7 +327,7 @@ JS_DEFINE_NATIVE_FUNCTION(AtomicsObject::is_lock_free)
} }
// 25.4.8 Atomics.load ( typedArray, index ), https://tc39.es/ecma262/#sec-atomics.load // 25.4.8 Atomics.load ( typedArray, index ), https://tc39.es/ecma262/#sec-atomics.load
JS_DEFINE_NATIVE_FUNCTION(AtomicsObject::load) JS_DEFINE_OLD_NATIVE_FUNCTION(AtomicsObject::load)
{ {
auto* typed_array = typed_array_from(global_object, vm.argument(0)); auto* typed_array = typed_array_from(global_object, vm.argument(0));
if (!typed_array) if (!typed_array)
@ -346,7 +346,7 @@ JS_DEFINE_NATIVE_FUNCTION(AtomicsObject::load)
} }
// 25.4.9 Atomics.or ( typedArray, index, value ), https://tc39.es/ecma262/#sec-atomics.or // 25.4.9 Atomics.or ( typedArray, index, value ), https://tc39.es/ecma262/#sec-atomics.or
JS_DEFINE_NATIVE_FUNCTION(AtomicsObject::or_) JS_DEFINE_OLD_NATIVE_FUNCTION(AtomicsObject::or_)
{ {
auto* typed_array = typed_array_from(global_object, vm.argument(0)); auto* typed_array = typed_array_from(global_object, vm.argument(0));
if (!typed_array) if (!typed_array)
@ -364,7 +364,7 @@ JS_DEFINE_NATIVE_FUNCTION(AtomicsObject::or_)
} }
// 25.4.10 Atomics.store ( typedArray, index, value ), https://tc39.es/ecma262/#sec-atomics.store // 25.4.10 Atomics.store ( typedArray, index, value ), https://tc39.es/ecma262/#sec-atomics.store
JS_DEFINE_NATIVE_FUNCTION(AtomicsObject::store) JS_DEFINE_OLD_NATIVE_FUNCTION(AtomicsObject::store)
{ {
auto* typed_array = typed_array_from(global_object, vm.argument(0)); auto* typed_array = typed_array_from(global_object, vm.argument(0));
if (!typed_array) if (!typed_array)
@ -391,7 +391,7 @@ JS_DEFINE_NATIVE_FUNCTION(AtomicsObject::store)
} }
// 25.4.11 Atomics.sub ( typedArray, index, value ), https://tc39.es/ecma262/#sec-atomics.sub // 25.4.11 Atomics.sub ( typedArray, index, value ), https://tc39.es/ecma262/#sec-atomics.sub
JS_DEFINE_NATIVE_FUNCTION(AtomicsObject::sub) JS_DEFINE_OLD_NATIVE_FUNCTION(AtomicsObject::sub)
{ {
auto* typed_array = typed_array_from(global_object, vm.argument(0)); auto* typed_array = typed_array_from(global_object, vm.argument(0));
if (!typed_array) if (!typed_array)
@ -409,7 +409,7 @@ JS_DEFINE_NATIVE_FUNCTION(AtomicsObject::sub)
} }
// 25.4.14 Atomics.xor ( typedArray, index, value ), https://tc39.es/ecma262/#sec-atomics.xor // 25.4.14 Atomics.xor ( typedArray, index, value ), https://tc39.es/ecma262/#sec-atomics.xor
JS_DEFINE_NATIVE_FUNCTION(AtomicsObject::xor_) JS_DEFINE_OLD_NATIVE_FUNCTION(AtomicsObject::xor_)
{ {
auto* typed_array = typed_array_from(global_object, vm.argument(0)); auto* typed_array = typed_array_from(global_object, vm.argument(0));
if (!typed_array) if (!typed_array)

View file

@ -19,16 +19,16 @@ public:
virtual ~AtomicsObject() override = default; virtual ~AtomicsObject() override = default;
private: private:
JS_DECLARE_NATIVE_FUNCTION(add); JS_DECLARE_OLD_NATIVE_FUNCTION(add);
JS_DECLARE_NATIVE_FUNCTION(and_); JS_DECLARE_OLD_NATIVE_FUNCTION(and_);
JS_DECLARE_NATIVE_FUNCTION(compare_exchange); JS_DECLARE_OLD_NATIVE_FUNCTION(compare_exchange);
JS_DECLARE_NATIVE_FUNCTION(exchange); JS_DECLARE_OLD_NATIVE_FUNCTION(exchange);
JS_DECLARE_NATIVE_FUNCTION(is_lock_free); JS_DECLARE_OLD_NATIVE_FUNCTION(is_lock_free);
JS_DECLARE_NATIVE_FUNCTION(load); JS_DECLARE_OLD_NATIVE_FUNCTION(load);
JS_DECLARE_NATIVE_FUNCTION(or_); JS_DECLARE_OLD_NATIVE_FUNCTION(or_);
JS_DECLARE_NATIVE_FUNCTION(store); JS_DECLARE_OLD_NATIVE_FUNCTION(store);
JS_DECLARE_NATIVE_FUNCTION(sub); JS_DECLARE_OLD_NATIVE_FUNCTION(sub);
JS_DECLARE_NATIVE_FUNCTION(xor_); JS_DECLARE_OLD_NATIVE_FUNCTION(xor_);
}; };
} }

View file

@ -66,13 +66,13 @@ Value BigIntConstructor::construct(FunctionObject&)
} }
// 21.2.2.1 BigInt.asIntN ( bits, bigint ), https://tc39.es/ecma262/#sec-bigint.asintn // 21.2.2.1 BigInt.asIntN ( bits, bigint ), https://tc39.es/ecma262/#sec-bigint.asintn
JS_DEFINE_NATIVE_FUNCTION(BigIntConstructor::as_int_n) JS_DEFINE_OLD_NATIVE_FUNCTION(BigIntConstructor::as_int_n)
{ {
TODO(); TODO();
} }
// 21.2.2.2 BigInt.asUintN ( bits, bigint ), https://tc39.es/ecma262/#sec-bigint.asuintn // 21.2.2.2 BigInt.asUintN ( bits, bigint ), https://tc39.es/ecma262/#sec-bigint.asuintn
JS_DEFINE_NATIVE_FUNCTION(BigIntConstructor::as_uint_n) JS_DEFINE_OLD_NATIVE_FUNCTION(BigIntConstructor::as_uint_n)
{ {
TODO(); TODO();
} }

View file

@ -24,8 +24,8 @@ public:
private: private:
virtual bool has_constructor() const override { return true; } virtual bool has_constructor() const override { return true; }
JS_DECLARE_NATIVE_FUNCTION(as_int_n); JS_DECLARE_OLD_NATIVE_FUNCTION(as_int_n);
JS_DECLARE_NATIVE_FUNCTION(as_uint_n); JS_DECLARE_OLD_NATIVE_FUNCTION(as_uint_n);
}; };
} }

View file

@ -48,7 +48,7 @@ static ThrowCompletionOr<BigInt*> this_bigint_value(GlobalObject& global_object,
} }
// 21.2.3.3 BigInt.prototype.toString ( [ radix ] ), https://tc39.es/ecma262/#sec-bigint.prototype.tostring // 21.2.3.3 BigInt.prototype.toString ( [ radix ] ), https://tc39.es/ecma262/#sec-bigint.prototype.tostring
JS_DEFINE_NATIVE_FUNCTION(BigIntPrototype::to_string) JS_DEFINE_OLD_NATIVE_FUNCTION(BigIntPrototype::to_string)
{ {
auto* bigint = TRY_OR_DISCARD(this_bigint_value(global_object, vm.this_value(global_object))); auto* bigint = TRY_OR_DISCARD(this_bigint_value(global_object, vm.this_value(global_object)));
double radix = 10; double radix = 10;
@ -63,13 +63,13 @@ JS_DEFINE_NATIVE_FUNCTION(BigIntPrototype::to_string)
} }
// 21.2.3.2 BigInt.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] ), https://tc39.es/ecma262/#sec-bigint.prototype.tolocalestring // 21.2.3.2 BigInt.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] ), https://tc39.es/ecma262/#sec-bigint.prototype.tolocalestring
JS_DEFINE_NATIVE_FUNCTION(BigIntPrototype::to_locale_string) JS_DEFINE_OLD_NATIVE_FUNCTION(BigIntPrototype::to_locale_string)
{ {
return to_string(vm, global_object); return to_string(vm, global_object);
} }
// 21.2.3.4 BigInt.prototype.valueOf ( ), https://tc39.es/ecma262/#sec-bigint.prototype.valueof // 21.2.3.4 BigInt.prototype.valueOf ( ), https://tc39.es/ecma262/#sec-bigint.prototype.valueof
JS_DEFINE_NATIVE_FUNCTION(BigIntPrototype::value_of) JS_DEFINE_OLD_NATIVE_FUNCTION(BigIntPrototype::value_of)
{ {
return TRY_OR_DISCARD(this_bigint_value(global_object, vm.this_value(global_object))); return TRY_OR_DISCARD(this_bigint_value(global_object, vm.this_value(global_object)));
} }

View file

@ -19,9 +19,9 @@ public:
virtual ~BigIntPrototype() override; virtual ~BigIntPrototype() override;
private: private:
JS_DECLARE_NATIVE_FUNCTION(to_string); JS_DECLARE_OLD_NATIVE_FUNCTION(to_string);
JS_DECLARE_NATIVE_FUNCTION(to_locale_string); JS_DECLARE_OLD_NATIVE_FUNCTION(to_locale_string);
JS_DECLARE_NATIVE_FUNCTION(value_of); JS_DECLARE_OLD_NATIVE_FUNCTION(value_of);
}; };
} }

View file

@ -31,7 +31,7 @@ BooleanPrototype::~BooleanPrototype()
} }
// 20.3.3.2 Boolean.prototype.toString ( ), https://tc39.es/ecma262/#sec-boolean.prototype.tostring // 20.3.3.2 Boolean.prototype.toString ( ), https://tc39.es/ecma262/#sec-boolean.prototype.tostring
JS_DEFINE_NATIVE_FUNCTION(BooleanPrototype::to_string) JS_DEFINE_OLD_NATIVE_FUNCTION(BooleanPrototype::to_string)
{ {
auto this_value = vm.this_value(global_object); auto this_value = vm.this_value(global_object);
if (this_value.is_boolean()) if (this_value.is_boolean())
@ -46,7 +46,7 @@ JS_DEFINE_NATIVE_FUNCTION(BooleanPrototype::to_string)
} }
// 20.3.3.3 Boolean.prototype.valueOf ( ), https://tc39.es/ecma262/#sec-boolean.prototype.valueof // 20.3.3.3 Boolean.prototype.valueOf ( ), https://tc39.es/ecma262/#sec-boolean.prototype.valueof
JS_DEFINE_NATIVE_FUNCTION(BooleanPrototype::value_of) JS_DEFINE_OLD_NATIVE_FUNCTION(BooleanPrototype::value_of)
{ {
auto this_value = vm.this_value(global_object); auto this_value = vm.this_value(global_object);
if (this_value.is_boolean()) if (this_value.is_boolean())

View file

@ -19,8 +19,8 @@ public:
virtual ~BooleanPrototype() override; virtual ~BooleanPrototype() override;
private: private:
JS_DECLARE_NATIVE_FUNCTION(to_string); JS_DECLARE_OLD_NATIVE_FUNCTION(to_string);
JS_DECLARE_NATIVE_FUNCTION(value_of); JS_DECLARE_OLD_NATIVE_FUNCTION(value_of);
}; };
} }

View file

@ -39,61 +39,61 @@ ConsoleObject::~ConsoleObject()
} }
// 1.1.6. log(...data), https://console.spec.whatwg.org/#log // 1.1.6. log(...data), https://console.spec.whatwg.org/#log
JS_DEFINE_NATIVE_FUNCTION(ConsoleObject::log) JS_DEFINE_OLD_NATIVE_FUNCTION(ConsoleObject::log)
{ {
return global_object.console().log(); return global_object.console().log();
} }
// 1.1.3. debug(...data), https://console.spec.whatwg.org/#debug // 1.1.3. debug(...data), https://console.spec.whatwg.org/#debug
JS_DEFINE_NATIVE_FUNCTION(ConsoleObject::debug) JS_DEFINE_OLD_NATIVE_FUNCTION(ConsoleObject::debug)
{ {
return global_object.console().debug(); return global_object.console().debug();
} }
// 1.1.5. info(...data), https://console.spec.whatwg.org/#info // 1.1.5. info(...data), https://console.spec.whatwg.org/#info
JS_DEFINE_NATIVE_FUNCTION(ConsoleObject::info) JS_DEFINE_OLD_NATIVE_FUNCTION(ConsoleObject::info)
{ {
return global_object.console().info(); return global_object.console().info();
} }
// 1.1.9. warn(...data), https://console.spec.whatwg.org/#warn // 1.1.9. warn(...data), https://console.spec.whatwg.org/#warn
JS_DEFINE_NATIVE_FUNCTION(ConsoleObject::warn) JS_DEFINE_OLD_NATIVE_FUNCTION(ConsoleObject::warn)
{ {
return global_object.console().warn(); return global_object.console().warn();
} }
// 1.1.4. error(...data), https://console.spec.whatwg.org/#error // 1.1.4. error(...data), https://console.spec.whatwg.org/#error
JS_DEFINE_NATIVE_FUNCTION(ConsoleObject::error) JS_DEFINE_OLD_NATIVE_FUNCTION(ConsoleObject::error)
{ {
return global_object.console().error(); return global_object.console().error();
} }
// 1.1.8. trace(...data), https://console.spec.whatwg.org/#trace // 1.1.8. trace(...data), https://console.spec.whatwg.org/#trace
JS_DEFINE_NATIVE_FUNCTION(ConsoleObject::trace) JS_DEFINE_OLD_NATIVE_FUNCTION(ConsoleObject::trace)
{ {
return global_object.console().trace(); return global_object.console().trace();
} }
// 1.2.1. count(label), https://console.spec.whatwg.org/#count // 1.2.1. count(label), https://console.spec.whatwg.org/#count
JS_DEFINE_NATIVE_FUNCTION(ConsoleObject::count) JS_DEFINE_OLD_NATIVE_FUNCTION(ConsoleObject::count)
{ {
return global_object.console().count(); return global_object.console().count();
} }
// 1.2.2. countReset(label), https://console.spec.whatwg.org/#countreset // 1.2.2. countReset(label), https://console.spec.whatwg.org/#countreset
JS_DEFINE_NATIVE_FUNCTION(ConsoleObject::count_reset) JS_DEFINE_OLD_NATIVE_FUNCTION(ConsoleObject::count_reset)
{ {
return global_object.console().count_reset(); return global_object.console().count_reset();
} }
// 1.1.2. clear(), https://console.spec.whatwg.org/#clear // 1.1.2. clear(), https://console.spec.whatwg.org/#clear
JS_DEFINE_NATIVE_FUNCTION(ConsoleObject::clear) JS_DEFINE_OLD_NATIVE_FUNCTION(ConsoleObject::clear)
{ {
return global_object.console().clear(); return global_object.console().clear();
} }
// 1.1.1. assert(condition, ...data), https://console.spec.whatwg.org/#assert // 1.1.1. assert(condition, ...data), https://console.spec.whatwg.org/#assert
JS_DEFINE_NATIVE_FUNCTION(ConsoleObject::assert_) JS_DEFINE_OLD_NATIVE_FUNCTION(ConsoleObject::assert_)
{ {
return global_object.console().assert_(); return global_object.console().assert_();
} }

View file

@ -19,16 +19,16 @@ public:
virtual ~ConsoleObject() override; virtual ~ConsoleObject() override;
private: private:
JS_DECLARE_NATIVE_FUNCTION(log); JS_DECLARE_OLD_NATIVE_FUNCTION(log);
JS_DECLARE_NATIVE_FUNCTION(debug); JS_DECLARE_OLD_NATIVE_FUNCTION(debug);
JS_DECLARE_NATIVE_FUNCTION(info); JS_DECLARE_OLD_NATIVE_FUNCTION(info);
JS_DECLARE_NATIVE_FUNCTION(warn); JS_DECLARE_OLD_NATIVE_FUNCTION(warn);
JS_DECLARE_NATIVE_FUNCTION(error); JS_DECLARE_OLD_NATIVE_FUNCTION(error);
JS_DECLARE_NATIVE_FUNCTION(trace); JS_DECLARE_OLD_NATIVE_FUNCTION(trace);
JS_DECLARE_NATIVE_FUNCTION(count); JS_DECLARE_OLD_NATIVE_FUNCTION(count);
JS_DECLARE_NATIVE_FUNCTION(count_reset); JS_DECLARE_OLD_NATIVE_FUNCTION(count_reset);
JS_DECLARE_NATIVE_FUNCTION(clear); JS_DECLARE_OLD_NATIVE_FUNCTION(clear);
JS_DECLARE_NATIVE_FUNCTION(assert_); JS_DECLARE_OLD_NATIVE_FUNCTION(assert_);
}; };
} }

View file

@ -130,125 +130,125 @@ static Value set_view_value(GlobalObject& global_object, Value request_index, Va
} }
// 25.3.4.5 DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ), https://tc39.es/ecma262/#sec-dataview.prototype.getbigint64 // 25.3.4.5 DataView.prototype.getBigInt64 ( byteOffset [ , littleEndian ] ), https://tc39.es/ecma262/#sec-dataview.prototype.getbigint64
JS_DEFINE_NATIVE_FUNCTION(DataViewPrototype::get_big_int_64) JS_DEFINE_OLD_NATIVE_FUNCTION(DataViewPrototype::get_big_int_64)
{ {
return get_view_value<i64>(global_object, vm.argument(0), vm.argument(1)); return get_view_value<i64>(global_object, vm.argument(0), vm.argument(1));
} }
// 25.3.4.6 DataView.prototype.getBigUint64 ( byteOffset [ , littleEndian ] ), https://tc39.es/ecma262/#sec-dataview.prototype.getbiguint64 // 25.3.4.6 DataView.prototype.getBigUint64 ( byteOffset [ , littleEndian ] ), https://tc39.es/ecma262/#sec-dataview.prototype.getbiguint64
JS_DEFINE_NATIVE_FUNCTION(DataViewPrototype::get_big_uint_64) JS_DEFINE_OLD_NATIVE_FUNCTION(DataViewPrototype::get_big_uint_64)
{ {
return get_view_value<u64>(global_object, vm.argument(0), vm.argument(1)); return get_view_value<u64>(global_object, vm.argument(0), vm.argument(1));
} }
// 25.3.4.7 DataView.prototype.getFloat32 ( byteOffset [ , littleEndian ] ), https://tc39.es/ecma262/#sec-dataview.prototype.getfloat32 // 25.3.4.7 DataView.prototype.getFloat32 ( byteOffset [ , littleEndian ] ), https://tc39.es/ecma262/#sec-dataview.prototype.getfloat32
JS_DEFINE_NATIVE_FUNCTION(DataViewPrototype::get_float_32) JS_DEFINE_OLD_NATIVE_FUNCTION(DataViewPrototype::get_float_32)
{ {
return get_view_value<float>(global_object, vm.argument(0), vm.argument(1)); return get_view_value<float>(global_object, vm.argument(0), vm.argument(1));
} }
// 25.3.4.8 DataView.prototype.getFloat64 ( byteOffset [ , littleEndian ] ), https://tc39.es/ecma262/#sec-dataview.prototype.getfloat64 // 25.3.4.8 DataView.prototype.getFloat64 ( byteOffset [ , littleEndian ] ), https://tc39.es/ecma262/#sec-dataview.prototype.getfloat64
JS_DEFINE_NATIVE_FUNCTION(DataViewPrototype::get_float_64) JS_DEFINE_OLD_NATIVE_FUNCTION(DataViewPrototype::get_float_64)
{ {
return get_view_value<double>(global_object, vm.argument(0), vm.argument(1)); return get_view_value<double>(global_object, vm.argument(0), vm.argument(1));
} }
// 25.3.4.9 DataView.prototype.getInt8 ( byteOffset ), https://tc39.es/ecma262/#sec-dataview.prototype.getint8 // 25.3.4.9 DataView.prototype.getInt8 ( byteOffset ), https://tc39.es/ecma262/#sec-dataview.prototype.getint8
JS_DEFINE_NATIVE_FUNCTION(DataViewPrototype::get_int_8) JS_DEFINE_OLD_NATIVE_FUNCTION(DataViewPrototype::get_int_8)
{ {
return get_view_value<i8>(global_object, vm.argument(0), Value(true)); return get_view_value<i8>(global_object, vm.argument(0), Value(true));
} }
// 25.3.4.10 DataView.prototype.getInt16 ( byteOffset [ , littleEndian ] ), https://tc39.es/ecma262/#sec-dataview.prototype.getint16 // 25.3.4.10 DataView.prototype.getInt16 ( byteOffset [ , littleEndian ] ), https://tc39.es/ecma262/#sec-dataview.prototype.getint16
JS_DEFINE_NATIVE_FUNCTION(DataViewPrototype::get_int_16) JS_DEFINE_OLD_NATIVE_FUNCTION(DataViewPrototype::get_int_16)
{ {
return get_view_value<i16>(global_object, vm.argument(0), vm.argument(1)); return get_view_value<i16>(global_object, vm.argument(0), vm.argument(1));
} }
// 25.3.4.11 DataView.prototype.getInt32 ( byteOffset [ , littleEndian ] ), https://tc39.es/ecma262/#sec-dataview.prototype.getint32 // 25.3.4.11 DataView.prototype.getInt32 ( byteOffset [ , littleEndian ] ), https://tc39.es/ecma262/#sec-dataview.prototype.getint32
JS_DEFINE_NATIVE_FUNCTION(DataViewPrototype::get_int_32) JS_DEFINE_OLD_NATIVE_FUNCTION(DataViewPrototype::get_int_32)
{ {
return get_view_value<i32>(global_object, vm.argument(0), vm.argument(1)); return get_view_value<i32>(global_object, vm.argument(0), vm.argument(1));
} }
// 25.3.4.12 DataView.prototype.getUint8 ( byteOffset ), https://tc39.es/ecma262/#sec-dataview.prototype.getuint8 // 25.3.4.12 DataView.prototype.getUint8 ( byteOffset ), https://tc39.es/ecma262/#sec-dataview.prototype.getuint8
JS_DEFINE_NATIVE_FUNCTION(DataViewPrototype::get_uint_8) JS_DEFINE_OLD_NATIVE_FUNCTION(DataViewPrototype::get_uint_8)
{ {
return get_view_value<u8>(global_object, vm.argument(0), Value(true)); return get_view_value<u8>(global_object, vm.argument(0), Value(true));
} }
// 25.3.4.13 DataView.prototype.getUint16 ( byteOffset [ , littleEndian ] ), https://tc39.es/ecma262/#sec-dataview.prototype.getuint16 // 25.3.4.13 DataView.prototype.getUint16 ( byteOffset [ , littleEndian ] ), https://tc39.es/ecma262/#sec-dataview.prototype.getuint16
JS_DEFINE_NATIVE_FUNCTION(DataViewPrototype::get_uint_16) JS_DEFINE_OLD_NATIVE_FUNCTION(DataViewPrototype::get_uint_16)
{ {
return get_view_value<u16>(global_object, vm.argument(0), vm.argument(1)); return get_view_value<u16>(global_object, vm.argument(0), vm.argument(1));
} }
// 25.3.4.14 DataView.prototype.getUint32 ( byteOffset [ , littleEndian ] ), https://tc39.es/ecma262/#sec-dataview.prototype.getuint32 // 25.3.4.14 DataView.prototype.getUint32 ( byteOffset [ , littleEndian ] ), https://tc39.es/ecma262/#sec-dataview.prototype.getuint32
JS_DEFINE_NATIVE_FUNCTION(DataViewPrototype::get_uint_32) JS_DEFINE_OLD_NATIVE_FUNCTION(DataViewPrototype::get_uint_32)
{ {
return get_view_value<u32>(global_object, vm.argument(0), vm.argument(1)); return get_view_value<u32>(global_object, vm.argument(0), vm.argument(1));
} }
// 25.3.4.15 DataView.prototype.setBigInt64 ( byteOffset, value [ , littleEndian ] ), https://tc39.es/ecma262/#sec-dataview.prototype.setbigint64 // 25.3.4.15 DataView.prototype.setBigInt64 ( byteOffset, value [ , littleEndian ] ), https://tc39.es/ecma262/#sec-dataview.prototype.setbigint64
JS_DEFINE_NATIVE_FUNCTION(DataViewPrototype::set_big_int_64) JS_DEFINE_OLD_NATIVE_FUNCTION(DataViewPrototype::set_big_int_64)
{ {
return set_view_value<i64>(global_object, vm.argument(0), vm.argument(2), vm.argument(1)); return set_view_value<i64>(global_object, vm.argument(0), vm.argument(2), vm.argument(1));
} }
JS_DEFINE_NATIVE_FUNCTION(DataViewPrototype::set_big_uint_64) JS_DEFINE_OLD_NATIVE_FUNCTION(DataViewPrototype::set_big_uint_64)
{ {
return set_view_value<u64>(global_object, vm.argument(0), vm.argument(2), vm.argument(1)); return set_view_value<u64>(global_object, vm.argument(0), vm.argument(2), vm.argument(1));
} }
JS_DEFINE_NATIVE_FUNCTION(DataViewPrototype::set_float_32) JS_DEFINE_OLD_NATIVE_FUNCTION(DataViewPrototype::set_float_32)
{ {
return set_view_value<float>(global_object, vm.argument(0), vm.argument(2), vm.argument(1)); return set_view_value<float>(global_object, vm.argument(0), vm.argument(2), vm.argument(1));
} }
JS_DEFINE_NATIVE_FUNCTION(DataViewPrototype::set_float_64) JS_DEFINE_OLD_NATIVE_FUNCTION(DataViewPrototype::set_float_64)
{ {
return set_view_value<double>(global_object, vm.argument(0), vm.argument(2), vm.argument(1)); return set_view_value<double>(global_object, vm.argument(0), vm.argument(2), vm.argument(1));
} }
JS_DEFINE_NATIVE_FUNCTION(DataViewPrototype::set_int_8) JS_DEFINE_OLD_NATIVE_FUNCTION(DataViewPrototype::set_int_8)
{ {
return set_view_value<i8>(global_object, vm.argument(0), Value(true), vm.argument(1)); return set_view_value<i8>(global_object, vm.argument(0), Value(true), vm.argument(1));
} }
JS_DEFINE_NATIVE_FUNCTION(DataViewPrototype::set_int_16) JS_DEFINE_OLD_NATIVE_FUNCTION(DataViewPrototype::set_int_16)
{ {
return set_view_value<i16>(global_object, vm.argument(0), vm.argument(2), vm.argument(1)); return set_view_value<i16>(global_object, vm.argument(0), vm.argument(2), vm.argument(1));
} }
JS_DEFINE_NATIVE_FUNCTION(DataViewPrototype::set_int_32) JS_DEFINE_OLD_NATIVE_FUNCTION(DataViewPrototype::set_int_32)
{ {
return set_view_value<i32>(global_object, vm.argument(0), vm.argument(2), vm.argument(1)); return set_view_value<i32>(global_object, vm.argument(0), vm.argument(2), vm.argument(1));
} }
JS_DEFINE_NATIVE_FUNCTION(DataViewPrototype::set_uint_8) JS_DEFINE_OLD_NATIVE_FUNCTION(DataViewPrototype::set_uint_8)
{ {
return set_view_value<u8>(global_object, vm.argument(0), Value(true), vm.argument(1)); return set_view_value<u8>(global_object, vm.argument(0), Value(true), vm.argument(1));
} }
JS_DEFINE_NATIVE_FUNCTION(DataViewPrototype::set_uint_16) JS_DEFINE_OLD_NATIVE_FUNCTION(DataViewPrototype::set_uint_16)
{ {
return set_view_value<u16>(global_object, vm.argument(0), vm.argument(2), vm.argument(1)); return set_view_value<u16>(global_object, vm.argument(0), vm.argument(2), vm.argument(1));
} }
JS_DEFINE_NATIVE_FUNCTION(DataViewPrototype::set_uint_32) JS_DEFINE_OLD_NATIVE_FUNCTION(DataViewPrototype::set_uint_32)
{ {
return set_view_value<u32>(global_object, vm.argument(0), vm.argument(2), vm.argument(1)); return set_view_value<u32>(global_object, vm.argument(0), vm.argument(2), vm.argument(1));
} }
// 25.3.4.1 get DataView.prototype.buffer, https://tc39.es/ecma262/#sec-get-dataview.prototype.buffer // 25.3.4.1 get DataView.prototype.buffer, https://tc39.es/ecma262/#sec-get-dataview.prototype.buffer
JS_DEFINE_NATIVE_FUNCTION(DataViewPrototype::buffer_getter) JS_DEFINE_OLD_NATIVE_FUNCTION(DataViewPrototype::buffer_getter)
{ {
auto* data_view = TRY_OR_DISCARD(typed_this_value(global_object)); auto* data_view = TRY_OR_DISCARD(typed_this_value(global_object));
return data_view->viewed_array_buffer(); return data_view->viewed_array_buffer();
} }
// 25.3.4.2 get DataView.prototype.byteLength, https://tc39.es/ecma262/#sec-get-dataview.prototype.bytelength // 25.3.4.2 get DataView.prototype.byteLength, https://tc39.es/ecma262/#sec-get-dataview.prototype.bytelength
JS_DEFINE_NATIVE_FUNCTION(DataViewPrototype::byte_length_getter) JS_DEFINE_OLD_NATIVE_FUNCTION(DataViewPrototype::byte_length_getter)
{ {
auto* data_view = TRY_OR_DISCARD(typed_this_value(global_object)); auto* data_view = TRY_OR_DISCARD(typed_this_value(global_object));
if (data_view->viewed_array_buffer()->is_detached()) { if (data_view->viewed_array_buffer()->is_detached()) {
@ -259,7 +259,7 @@ JS_DEFINE_NATIVE_FUNCTION(DataViewPrototype::byte_length_getter)
} }
// 25.3.4.3 get DataView.prototype.byteOffset, https://tc39.es/ecma262/#sec-get-dataview.prototype.byteoffset // 25.3.4.3 get DataView.prototype.byteOffset, https://tc39.es/ecma262/#sec-get-dataview.prototype.byteoffset
JS_DEFINE_NATIVE_FUNCTION(DataViewPrototype::byte_offset_getter) JS_DEFINE_OLD_NATIVE_FUNCTION(DataViewPrototype::byte_offset_getter)
{ {
auto* data_view = TRY_OR_DISCARD(typed_this_value(global_object)); auto* data_view = TRY_OR_DISCARD(typed_this_value(global_object));
if (data_view->viewed_array_buffer()->is_detached()) { if (data_view->viewed_array_buffer()->is_detached()) {

View file

@ -20,30 +20,30 @@ public:
virtual ~DataViewPrototype() override; virtual ~DataViewPrototype() override;
private: private:
JS_DECLARE_NATIVE_FUNCTION(get_big_int_64); JS_DECLARE_OLD_NATIVE_FUNCTION(get_big_int_64);
JS_DECLARE_NATIVE_FUNCTION(get_big_uint_64); JS_DECLARE_OLD_NATIVE_FUNCTION(get_big_uint_64);
JS_DECLARE_NATIVE_FUNCTION(get_float_32); JS_DECLARE_OLD_NATIVE_FUNCTION(get_float_32);
JS_DECLARE_NATIVE_FUNCTION(get_float_64); JS_DECLARE_OLD_NATIVE_FUNCTION(get_float_64);
JS_DECLARE_NATIVE_FUNCTION(get_int_8); JS_DECLARE_OLD_NATIVE_FUNCTION(get_int_8);
JS_DECLARE_NATIVE_FUNCTION(get_int_16); JS_DECLARE_OLD_NATIVE_FUNCTION(get_int_16);
JS_DECLARE_NATIVE_FUNCTION(get_int_32); JS_DECLARE_OLD_NATIVE_FUNCTION(get_int_32);
JS_DECLARE_NATIVE_FUNCTION(get_uint_8); JS_DECLARE_OLD_NATIVE_FUNCTION(get_uint_8);
JS_DECLARE_NATIVE_FUNCTION(get_uint_16); JS_DECLARE_OLD_NATIVE_FUNCTION(get_uint_16);
JS_DECLARE_NATIVE_FUNCTION(get_uint_32); JS_DECLARE_OLD_NATIVE_FUNCTION(get_uint_32);
JS_DECLARE_NATIVE_FUNCTION(set_big_int_64); JS_DECLARE_OLD_NATIVE_FUNCTION(set_big_int_64);
JS_DECLARE_NATIVE_FUNCTION(set_big_uint_64); JS_DECLARE_OLD_NATIVE_FUNCTION(set_big_uint_64);
JS_DECLARE_NATIVE_FUNCTION(set_float_32); JS_DECLARE_OLD_NATIVE_FUNCTION(set_float_32);
JS_DECLARE_NATIVE_FUNCTION(set_float_64); JS_DECLARE_OLD_NATIVE_FUNCTION(set_float_64);
JS_DECLARE_NATIVE_FUNCTION(set_int_8); JS_DECLARE_OLD_NATIVE_FUNCTION(set_int_8);
JS_DECLARE_NATIVE_FUNCTION(set_int_16); JS_DECLARE_OLD_NATIVE_FUNCTION(set_int_16);
JS_DECLARE_NATIVE_FUNCTION(set_int_32); JS_DECLARE_OLD_NATIVE_FUNCTION(set_int_32);
JS_DECLARE_NATIVE_FUNCTION(set_uint_8); JS_DECLARE_OLD_NATIVE_FUNCTION(set_uint_8);
JS_DECLARE_NATIVE_FUNCTION(set_uint_16); JS_DECLARE_OLD_NATIVE_FUNCTION(set_uint_16);
JS_DECLARE_NATIVE_FUNCTION(set_uint_32); JS_DECLARE_OLD_NATIVE_FUNCTION(set_uint_32);
JS_DECLARE_NATIVE_FUNCTION(buffer_getter); JS_DECLARE_OLD_NATIVE_FUNCTION(buffer_getter);
JS_DECLARE_NATIVE_FUNCTION(byte_length_getter); JS_DECLARE_OLD_NATIVE_FUNCTION(byte_length_getter);
JS_DECLARE_NATIVE_FUNCTION(byte_offset_getter); JS_DECLARE_OLD_NATIVE_FUNCTION(byte_offset_getter);
}; };
} }

View file

@ -289,7 +289,7 @@ Value DateConstructor::construct(FunctionObject& new_target)
} }
// 21.4.3.1 Date.now ( ), https://tc39.es/ecma262/#sec-date.now // 21.4.3.1 Date.now ( ), https://tc39.es/ecma262/#sec-date.now
JS_DEFINE_NATIVE_FUNCTION(DateConstructor::now) JS_DEFINE_OLD_NATIVE_FUNCTION(DateConstructor::now)
{ {
struct timeval tv; struct timeval tv;
gettimeofday(&tv, nullptr); gettimeofday(&tv, nullptr);
@ -297,7 +297,7 @@ JS_DEFINE_NATIVE_FUNCTION(DateConstructor::now)
} }
// 21.4.3.2 Date.parse ( string ), https://tc39.es/ecma262/#sec-date.parse // 21.4.3.2 Date.parse ( string ), https://tc39.es/ecma262/#sec-date.parse
JS_DEFINE_NATIVE_FUNCTION(DateConstructor::parse) JS_DEFINE_OLD_NATIVE_FUNCTION(DateConstructor::parse)
{ {
if (!vm.argument_count()) if (!vm.argument_count())
return js_nan(); return js_nan();
@ -308,7 +308,7 @@ JS_DEFINE_NATIVE_FUNCTION(DateConstructor::parse)
} }
// 21.4.3.4 Date.UTC ( year [ , month [ , date [ , hours [ , minutes [ , seconds [ , ms ] ] ] ] ] ] ), https://tc39.es/ecma262/#sec-date.utc // 21.4.3.4 Date.UTC ( year [ , month [ , date [ , hours [ , minutes [ , seconds [ , ms ] ] ] ] ] ] ), https://tc39.es/ecma262/#sec-date.utc
JS_DEFINE_NATIVE_FUNCTION(DateConstructor::utc) JS_DEFINE_OLD_NATIVE_FUNCTION(DateConstructor::utc)
{ {
auto arg_or = [&vm, &global_object](size_t i, i32 fallback) -> ThrowCompletionOr<i32> { auto arg_or = [&vm, &global_object](size_t i, i32 fallback) -> ThrowCompletionOr<i32> {
return vm.argument_count() > i ? vm.argument(i).to_i32(global_object) : fallback; return vm.argument_count() > i ? vm.argument(i).to_i32(global_object) : fallback;

View file

@ -24,9 +24,9 @@ public:
private: private:
virtual bool has_constructor() const override { return true; } virtual bool has_constructor() const override { return true; }
JS_DECLARE_NATIVE_FUNCTION(now); JS_DECLARE_OLD_NATIVE_FUNCTION(now);
JS_DECLARE_NATIVE_FUNCTION(parse); JS_DECLARE_OLD_NATIVE_FUNCTION(parse);
JS_DECLARE_NATIVE_FUNCTION(utc); JS_DECLARE_OLD_NATIVE_FUNCTION(utc);
}; };
} }

View file

@ -93,7 +93,7 @@ DatePrototype::~DatePrototype()
} }
// 21.4.4.2 Date.prototype.getDate ( ), https://tc39.es/ecma262/#sec-date.prototype.getdate // 21.4.4.2 Date.prototype.getDate ( ), https://tc39.es/ecma262/#sec-date.prototype.getdate
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_date) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::get_date)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -104,7 +104,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_date)
} }
// 21.4.4.20 Date.prototype.setDate ( date ), https://tc39.es/ecma262/#sec-date.prototype.setdate // 21.4.4.20 Date.prototype.setDate ( date ), https://tc39.es/ecma262/#sec-date.prototype.setdate
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::set_date) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::set_date)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -128,7 +128,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::set_date)
} }
// 21.4.4.3 Date.prototype.getDay ( ), https://tc39.es/ecma262/#sec-date.prototype.getday // 21.4.4.3 Date.prototype.getDay ( ), https://tc39.es/ecma262/#sec-date.prototype.getday
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_day) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::get_day)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -139,7 +139,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_day)
} }
// 21.4.4.4 Date.prototype.getFullYear ( ), https://tc39.es/ecma262/#sec-date.prototype.getfullyear // 21.4.4.4 Date.prototype.getFullYear ( ), https://tc39.es/ecma262/#sec-date.prototype.getfullyear
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_full_year) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::get_full_year)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -150,7 +150,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_full_year)
} }
// 21.4.4.21 Date.prototype.setFullYear ( year [ , month [ , date ] ] ), https://tc39.es/ecma262/#sec-date.prototype.setfullyear // 21.4.4.21 Date.prototype.setFullYear ( year [ , month [ , date ] ] ), https://tc39.es/ecma262/#sec-date.prototype.setfullyear
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::set_full_year) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::set_full_year)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -193,7 +193,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::set_full_year)
} }
// B.2.4.1 Date.prototype.getYear ( ), https://tc39.es/ecma262/#sec-date.prototype.getyear // B.2.4.1 Date.prototype.getYear ( ), https://tc39.es/ecma262/#sec-date.prototype.getyear
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_year) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::get_year)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -204,7 +204,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_year)
} }
// B.2.4.2 Date.prototype.setYear ( year ), https://tc39.es/ecma262/#sec-date.prototype.setyear // B.2.4.2 Date.prototype.setYear ( year ), https://tc39.es/ecma262/#sec-date.prototype.setyear
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::set_year) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::set_year)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -231,7 +231,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::set_year)
} }
// 21.4.4.5 Date.prototype.getHours ( ), https://tc39.es/ecma262/#sec-date.prototype.gethours // 21.4.4.5 Date.prototype.getHours ( ), https://tc39.es/ecma262/#sec-date.prototype.gethours
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_hours) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::get_hours)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -242,7 +242,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_hours)
} }
// 21.4.4.22 Date.prototype.setHours ( hour [ , min [ , sec [ , ms ] ] ] ), https://tc39.es/ecma262/#sec-date.prototype.sethours // 21.4.4.22 Date.prototype.setHours ( hour [ , min [ , sec [ , ms ] ] ] ), https://tc39.es/ecma262/#sec-date.prototype.sethours
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::set_hours) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::set_hours)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -294,7 +294,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::set_hours)
} }
// 21.4.4.23 Date.prototype.setMilliseconds ( ms ), https://tc39.es/ecma262/#sec-date.prototype.setmilliseconds // 21.4.4.23 Date.prototype.setMilliseconds ( ms ), https://tc39.es/ecma262/#sec-date.prototype.setmilliseconds
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_milliseconds) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::get_milliseconds)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -305,7 +305,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_milliseconds)
} }
// 21.4.4.23 Date.prototype.setMilliseconds ( ms ), https://tc39.es/ecma262/#sec-date.prototype.setmilliseconds // 21.4.4.23 Date.prototype.setMilliseconds ( ms ), https://tc39.es/ecma262/#sec-date.prototype.setmilliseconds
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::set_milliseconds) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::set_milliseconds)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -337,7 +337,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::set_milliseconds)
} }
// 21.4.4.7 Date.prototype.getMinutes ( ), https://tc39.es/ecma262/#sec-date.prototype.getminutes // 21.4.4.7 Date.prototype.getMinutes ( ), https://tc39.es/ecma262/#sec-date.prototype.getminutes
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_minutes) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::get_minutes)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -348,7 +348,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_minutes)
} }
// 21.4.4.24 Date.prototype.setMinutes ( min [ , sec [ , ms ] ] ), https://tc39.es/ecma262/#sec-date.prototype.setminutes // 21.4.4.24 Date.prototype.setMinutes ( min [ , sec [ , ms ] ] ), https://tc39.es/ecma262/#sec-date.prototype.setminutes
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::set_minutes) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::set_minutes)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -393,7 +393,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::set_minutes)
} }
// 21.4.4.8 Date.prototype.getMonth ( ), https://tc39.es/ecma262/#sec-date.prototype.getmonth // 21.4.4.8 Date.prototype.getMonth ( ), https://tc39.es/ecma262/#sec-date.prototype.getmonth
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_month) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::get_month)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -404,7 +404,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_month)
} }
// 21.4.4.25 Date.prototype.setMonth ( month [ , date ] ), https://tc39.es/ecma262/#sec-date.prototype.setmonth // 21.4.4.25 Date.prototype.setMonth ( month [ , date ] ), https://tc39.es/ecma262/#sec-date.prototype.setmonth
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::set_month) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::set_month)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -439,7 +439,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::set_month)
} }
// 21.4.4.9 Date.prototype.getSeconds ( ), https://tc39.es/ecma262/#sec-date.prototype.getseconds // 21.4.4.9 Date.prototype.getSeconds ( ), https://tc39.es/ecma262/#sec-date.prototype.getseconds
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_seconds) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::get_seconds)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -450,7 +450,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_seconds)
} }
// 21.4.4.26 Date.prototype.setSeconds ( sec [ , ms ] ), https://tc39.es/ecma262/#sec-date.prototype.setseconds // 21.4.4.26 Date.prototype.setSeconds ( sec [ , ms ] ), https://tc39.es/ecma262/#sec-date.prototype.setseconds
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::set_seconds) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::set_seconds)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -488,7 +488,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::set_seconds)
} }
// 21.4.4.10 Date.prototype.getTime ( ), https://tc39.es/ecma262/#sec-date.prototype.gettime // 21.4.4.10 Date.prototype.getTime ( ), https://tc39.es/ecma262/#sec-date.prototype.gettime
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_time) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::get_time)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -499,7 +499,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_time)
} }
// 21.4.4.27 Date.prototype.setTime ( time ), https://tc39.es/ecma262/#sec-date.prototype.settime // 21.4.4.27 Date.prototype.setTime ( time ), https://tc39.es/ecma262/#sec-date.prototype.settime
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::set_time) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::set_time)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -524,7 +524,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::set_time)
} }
// 21.4.4.11 Date.prototype.getTimezoneOffset ( ), https://tc39.es/ecma262/#sec-date.prototype.gettimezoneoffset // 21.4.4.11 Date.prototype.getTimezoneOffset ( ), https://tc39.es/ecma262/#sec-date.prototype.gettimezoneoffset
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_timezone_offset) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::get_timezone_offset)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -536,7 +536,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_timezone_offset)
} }
// 21.4.4.12 Date.prototype.getUTCDate ( ), https://tc39.es/ecma262/#sec-date.prototype.getutcdate // 21.4.4.12 Date.prototype.getUTCDate ( ), https://tc39.es/ecma262/#sec-date.prototype.getutcdate
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_utc_date) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::get_utc_date)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -547,7 +547,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_utc_date)
} }
// 21.4.4.13 Date.prototype.getUTCDay ( ), https://tc39.es/ecma262/#sec-date.prototype.getutcday // 21.4.4.13 Date.prototype.getUTCDay ( ), https://tc39.es/ecma262/#sec-date.prototype.getutcday
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_utc_day) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::get_utc_day)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -558,7 +558,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_utc_day)
} }
// 21.4.4.14 Date.prototype.getUTCFullYear ( ), https://tc39.es/ecma262/#sec-date.prototype.getutcfullyear // 21.4.4.14 Date.prototype.getUTCFullYear ( ), https://tc39.es/ecma262/#sec-date.prototype.getutcfullyear
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_utc_full_year) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::get_utc_full_year)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -569,7 +569,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_utc_full_year)
} }
// 21.4.4.15 Date.prototype.getUTCHours ( ), https://tc39.es/ecma262/#sec-date.prototype.getutchours // 21.4.4.15 Date.prototype.getUTCHours ( ), https://tc39.es/ecma262/#sec-date.prototype.getutchours
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_utc_hours) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::get_utc_hours)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -580,7 +580,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_utc_hours)
} }
// 21.4.4.16 Date.prototype.getUTCMilliseconds ( ), https://tc39.es/ecma262/#sec-date.prototype.getutcmilliseconds // 21.4.4.16 Date.prototype.getUTCMilliseconds ( ), https://tc39.es/ecma262/#sec-date.prototype.getutcmilliseconds
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_utc_milliseconds) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::get_utc_milliseconds)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -591,7 +591,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_utc_milliseconds)
} }
// 21.4.4.18 Date.prototype.getUTCMonth ( ), https://tc39.es/ecma262/#sec-date.prototype.getutcmonth // 21.4.4.18 Date.prototype.getUTCMonth ( ), https://tc39.es/ecma262/#sec-date.prototype.getutcmonth
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_utc_month) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::get_utc_month)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -602,7 +602,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_utc_month)
} }
// 21.4.4.17 Date.prototype.getUTCMinutes ( ), https://tc39.es/ecma262/#sec-date.prototype.getutcminutes // 21.4.4.17 Date.prototype.getUTCMinutes ( ), https://tc39.es/ecma262/#sec-date.prototype.getutcminutes
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_utc_minutes) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::get_utc_minutes)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -613,7 +613,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_utc_minutes)
} }
// 21.4.4.19 Date.prototype.getUTCSeconds ( ), https://tc39.es/ecma262/#sec-date.prototype.getutcseconds // 21.4.4.19 Date.prototype.getUTCSeconds ( ), https://tc39.es/ecma262/#sec-date.prototype.getutcseconds
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_utc_seconds) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::get_utc_seconds)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -624,7 +624,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::get_utc_seconds)
} }
// 21.4.4.35 Date.prototype.toDateString ( ), https://tc39.es/ecma262/#sec-date.prototype.todatestring // 21.4.4.35 Date.prototype.toDateString ( ), https://tc39.es/ecma262/#sec-date.prototype.todatestring
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::to_date_string) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::to_date_string)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -636,14 +636,14 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::to_date_string)
} }
// B.2.4.3 Date.prototype.toGMTString ( ), https://tc39.es/ecma262/#sec-date.prototype.togmtstring // B.2.4.3 Date.prototype.toGMTString ( ), https://tc39.es/ecma262/#sec-date.prototype.togmtstring
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::to_gmt_string) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::to_gmt_string)
{ {
// NOTE: The toUTCString method is preferred. The toGMTString method is provided principally for compatibility with old code. // NOTE: The toUTCString method is preferred. The toGMTString method is provided principally for compatibility with old code.
return to_utc_string(vm, global_object); return to_utc_string(vm, global_object);
} }
// 21.4.4.43 Date.prototype.toUTCString ( ), https://tc39.es/ecma262/#sec-date.prototype.toutcstring // 21.4.4.43 Date.prototype.toUTCString ( ), https://tc39.es/ecma262/#sec-date.prototype.toutcstring
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::to_utc_string) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::to_utc_string)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -656,7 +656,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::to_utc_string)
} }
// 21.4.4.36 Date.prototype.toISOString ( ), https://tc39.es/ecma262/#sec-date.prototype.toisostring // 21.4.4.36 Date.prototype.toISOString ( ), https://tc39.es/ecma262/#sec-date.prototype.toisostring
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::to_iso_string) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::to_iso_string)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -670,7 +670,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::to_iso_string)
} }
// 21.4.4.38 Date.prototype.toLocaleDateString ( [ reserved1 [ , reserved2 ] ] ), https://tc39.es/ecma262/#sec-date.prototype.tolocaledatestring // 21.4.4.38 Date.prototype.toLocaleDateString ( [ reserved1 [ , reserved2 ] ] ), https://tc39.es/ecma262/#sec-date.prototype.tolocaledatestring
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::to_locale_date_string) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::to_locale_date_string)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -683,7 +683,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::to_locale_date_string)
} }
// 21.4.4.39 Date.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] ), https://tc39.es/ecma262/#sec-date.prototype.tolocalestring // 21.4.4.39 Date.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] ), https://tc39.es/ecma262/#sec-date.prototype.tolocalestring
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::to_locale_string) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::to_locale_string)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -696,7 +696,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::to_locale_string)
} }
// 21.4.4.40 Date.prototype.toLocaleTimeString ( [ reserved1 [ , reserved2 ] ] ), https://tc39.es/ecma262/#sec-date.prototype.tolocaletimestring // 21.4.4.40 Date.prototype.toLocaleTimeString ( [ reserved1 [ , reserved2 ] ] ), https://tc39.es/ecma262/#sec-date.prototype.tolocaletimestring
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::to_locale_time_string) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::to_locale_time_string)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -709,7 +709,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::to_locale_time_string)
} }
// 21.4.4.42 Date.prototype.toTimeString ( ), https://tc39.es/ecma262/#sec-date.prototype.totimestring // 21.4.4.42 Date.prototype.toTimeString ( ), https://tc39.es/ecma262/#sec-date.prototype.totimestring
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::to_time_string) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::to_time_string)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -721,7 +721,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::to_time_string)
} }
// 21.4.4.41 Date.prototype.toString ( ), https://tc39.es/ecma262/#sec-date.prototype.tostring // 21.4.4.41 Date.prototype.toString ( ), https://tc39.es/ecma262/#sec-date.prototype.tostring
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::to_string) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::to_string)
{ {
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -733,7 +733,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::to_string)
} }
// 21.4.4.37 Date.prototype.toJSON ( key ), https://tc39.es/ecma262/#sec-date.prototype.tojson // 21.4.4.37 Date.prototype.toJSON ( key ), https://tc39.es/ecma262/#sec-date.prototype.tojson
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::to_json) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::to_json)
{ {
auto this_value = vm.this_value(global_object); auto this_value = vm.this_value(global_object);
@ -746,7 +746,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::to_json)
} }
// 14.1.1 Date.prototype.toTemporalInstant ( ), https://tc39.es/proposal-temporal/#sec-date.prototype.totemporalinstant // 14.1.1 Date.prototype.toTemporalInstant ( ), https://tc39.es/proposal-temporal/#sec-date.prototype.totemporalinstant
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::to_temporal_instant) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::to_temporal_instant)
{ {
// 1. Let t be ? thisTimeValue(this value). // 1. Let t be ? thisTimeValue(this value).
auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* this_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -763,7 +763,7 @@ JS_DEFINE_NATIVE_FUNCTION(DatePrototype::to_temporal_instant)
} }
// 21.4.4.45 Date.prototype [ @@toPrimitive ] ( hint ), https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive // 21.4.4.45 Date.prototype [ @@toPrimitive ] ( hint ), https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive
JS_DEFINE_NATIVE_FUNCTION(DatePrototype::symbol_to_primitive) JS_DEFINE_OLD_NATIVE_FUNCTION(DatePrototype::symbol_to_primitive)
{ {
auto this_value = vm.this_value(global_object); auto this_value = vm.this_value(global_object);
if (!this_value.is_object()) { if (!this_value.is_object()) {

View file

@ -20,46 +20,46 @@ public:
virtual ~DatePrototype() override; virtual ~DatePrototype() override;
private: private:
JS_DECLARE_NATIVE_FUNCTION(get_date); JS_DECLARE_OLD_NATIVE_FUNCTION(get_date);
JS_DECLARE_NATIVE_FUNCTION(set_date); JS_DECLARE_OLD_NATIVE_FUNCTION(set_date);
JS_DECLARE_NATIVE_FUNCTION(get_day); JS_DECLARE_OLD_NATIVE_FUNCTION(get_day);
JS_DECLARE_NATIVE_FUNCTION(get_full_year); JS_DECLARE_OLD_NATIVE_FUNCTION(get_full_year);
JS_DECLARE_NATIVE_FUNCTION(set_full_year); JS_DECLARE_OLD_NATIVE_FUNCTION(set_full_year);
JS_DECLARE_NATIVE_FUNCTION(get_year); JS_DECLARE_OLD_NATIVE_FUNCTION(get_year);
JS_DECLARE_NATIVE_FUNCTION(set_year); JS_DECLARE_OLD_NATIVE_FUNCTION(set_year);
JS_DECLARE_NATIVE_FUNCTION(get_hours); JS_DECLARE_OLD_NATIVE_FUNCTION(get_hours);
JS_DECLARE_NATIVE_FUNCTION(set_hours); JS_DECLARE_OLD_NATIVE_FUNCTION(set_hours);
JS_DECLARE_NATIVE_FUNCTION(get_milliseconds); JS_DECLARE_OLD_NATIVE_FUNCTION(get_milliseconds);
JS_DECLARE_NATIVE_FUNCTION(set_milliseconds); JS_DECLARE_OLD_NATIVE_FUNCTION(set_milliseconds);
JS_DECLARE_NATIVE_FUNCTION(get_minutes); JS_DECLARE_OLD_NATIVE_FUNCTION(get_minutes);
JS_DECLARE_NATIVE_FUNCTION(set_minutes); JS_DECLARE_OLD_NATIVE_FUNCTION(set_minutes);
JS_DECLARE_NATIVE_FUNCTION(get_month); JS_DECLARE_OLD_NATIVE_FUNCTION(get_month);
JS_DECLARE_NATIVE_FUNCTION(set_month); JS_DECLARE_OLD_NATIVE_FUNCTION(set_month);
JS_DECLARE_NATIVE_FUNCTION(get_seconds); JS_DECLARE_OLD_NATIVE_FUNCTION(get_seconds);
JS_DECLARE_NATIVE_FUNCTION(set_seconds); JS_DECLARE_OLD_NATIVE_FUNCTION(set_seconds);
JS_DECLARE_NATIVE_FUNCTION(get_time); JS_DECLARE_OLD_NATIVE_FUNCTION(get_time);
JS_DECLARE_NATIVE_FUNCTION(set_time); JS_DECLARE_OLD_NATIVE_FUNCTION(set_time);
JS_DECLARE_NATIVE_FUNCTION(get_timezone_offset); JS_DECLARE_OLD_NATIVE_FUNCTION(get_timezone_offset);
JS_DECLARE_NATIVE_FUNCTION(get_utc_date); JS_DECLARE_OLD_NATIVE_FUNCTION(get_utc_date);
JS_DECLARE_NATIVE_FUNCTION(get_utc_day); JS_DECLARE_OLD_NATIVE_FUNCTION(get_utc_day);
JS_DECLARE_NATIVE_FUNCTION(get_utc_full_year); JS_DECLARE_OLD_NATIVE_FUNCTION(get_utc_full_year);
JS_DECLARE_NATIVE_FUNCTION(get_utc_hours); JS_DECLARE_OLD_NATIVE_FUNCTION(get_utc_hours);
JS_DECLARE_NATIVE_FUNCTION(get_utc_milliseconds); JS_DECLARE_OLD_NATIVE_FUNCTION(get_utc_milliseconds);
JS_DECLARE_NATIVE_FUNCTION(get_utc_minutes); JS_DECLARE_OLD_NATIVE_FUNCTION(get_utc_minutes);
JS_DECLARE_NATIVE_FUNCTION(get_utc_month); JS_DECLARE_OLD_NATIVE_FUNCTION(get_utc_month);
JS_DECLARE_NATIVE_FUNCTION(get_utc_seconds); JS_DECLARE_OLD_NATIVE_FUNCTION(get_utc_seconds);
JS_DECLARE_NATIVE_FUNCTION(to_date_string); JS_DECLARE_OLD_NATIVE_FUNCTION(to_date_string);
JS_DECLARE_NATIVE_FUNCTION(to_gmt_string); JS_DECLARE_OLD_NATIVE_FUNCTION(to_gmt_string);
JS_DECLARE_NATIVE_FUNCTION(to_utc_string); JS_DECLARE_OLD_NATIVE_FUNCTION(to_utc_string);
JS_DECLARE_NATIVE_FUNCTION(to_iso_string); JS_DECLARE_OLD_NATIVE_FUNCTION(to_iso_string);
JS_DECLARE_NATIVE_FUNCTION(to_locale_date_string); JS_DECLARE_OLD_NATIVE_FUNCTION(to_locale_date_string);
JS_DECLARE_NATIVE_FUNCTION(to_locale_string); JS_DECLARE_OLD_NATIVE_FUNCTION(to_locale_string);
JS_DECLARE_NATIVE_FUNCTION(to_locale_time_string); JS_DECLARE_OLD_NATIVE_FUNCTION(to_locale_time_string);
JS_DECLARE_NATIVE_FUNCTION(to_time_string); JS_DECLARE_OLD_NATIVE_FUNCTION(to_time_string);
JS_DECLARE_NATIVE_FUNCTION(to_string); JS_DECLARE_OLD_NATIVE_FUNCTION(to_string);
JS_DECLARE_NATIVE_FUNCTION(to_json); JS_DECLARE_OLD_NATIVE_FUNCTION(to_json);
JS_DECLARE_NATIVE_FUNCTION(to_temporal_instant); JS_DECLARE_OLD_NATIVE_FUNCTION(to_temporal_instant);
JS_DECLARE_NATIVE_FUNCTION(symbol_to_primitive); JS_DECLARE_OLD_NATIVE_FUNCTION(symbol_to_primitive);
}; };
} }

View file

@ -30,7 +30,7 @@ void ErrorPrototype::initialize(GlobalObject& global_object)
} }
// 20.5.3.4 Error.prototype.toString ( ), https://tc39.es/ecma262/#sec-error.prototype.tostring // 20.5.3.4 Error.prototype.toString ( ), https://tc39.es/ecma262/#sec-error.prototype.tostring
JS_DEFINE_NATIVE_FUNCTION(ErrorPrototype::to_string) JS_DEFINE_OLD_NATIVE_FUNCTION(ErrorPrototype::to_string)
{ {
auto this_value = vm.this_value(global_object); auto this_value = vm.this_value(global_object);
if (!this_value.is_object()) { if (!this_value.is_object()) {

View file

@ -19,7 +19,7 @@ public:
virtual ~ErrorPrototype() override = default; virtual ~ErrorPrototype() override = default;
private: private:
JS_DECLARE_NATIVE_FUNCTION(to_string); JS_DECLARE_OLD_NATIVE_FUNCTION(to_string);
}; };
#define DECLARE_NATIVE_ERROR_PROTOTYPE(ClassName, snake_name, PrototypeName, ConstructorName) \ #define DECLARE_NATIVE_ERROR_PROTOTYPE(ClassName, snake_name, PrototypeName, ConstructorName) \

View file

@ -33,7 +33,7 @@ FinalizationRegistryPrototype::~FinalizationRegistryPrototype()
} }
// @STAGE 2@ FinalizationRegistry.prototype.cleanupSome ( [ callback ] ), https://github.com/tc39/proposal-cleanup-some/blob/master/spec/finalization-registry.html // @STAGE 2@ FinalizationRegistry.prototype.cleanupSome ( [ callback ] ), https://github.com/tc39/proposal-cleanup-some/blob/master/spec/finalization-registry.html
JS_DEFINE_NATIVE_FUNCTION(FinalizationRegistryPrototype::cleanup_some) JS_DEFINE_OLD_NATIVE_FUNCTION(FinalizationRegistryPrototype::cleanup_some)
{ {
auto* finalization_registry = TRY_OR_DISCARD(typed_this_object(global_object)); auto* finalization_registry = TRY_OR_DISCARD(typed_this_object(global_object));
@ -49,7 +49,7 @@ JS_DEFINE_NATIVE_FUNCTION(FinalizationRegistryPrototype::cleanup_some)
} }
// 26.2.3.2 FinalizationRegistry.prototype.register ( target, heldValue [ , unregisterToken ] ), https://tc39.es/ecma262/#sec-finalization-registry.prototype.register // 26.2.3.2 FinalizationRegistry.prototype.register ( target, heldValue [ , unregisterToken ] ), https://tc39.es/ecma262/#sec-finalization-registry.prototype.register
JS_DEFINE_NATIVE_FUNCTION(FinalizationRegistryPrototype::register_) JS_DEFINE_OLD_NATIVE_FUNCTION(FinalizationRegistryPrototype::register_)
{ {
auto* finalization_registry = TRY_OR_DISCARD(typed_this_object(global_object)); auto* finalization_registry = TRY_OR_DISCARD(typed_this_object(global_object));
@ -77,7 +77,7 @@ JS_DEFINE_NATIVE_FUNCTION(FinalizationRegistryPrototype::register_)
} }
// 26.2.3.3 FinalizationRegistry.prototype.unregister ( unregisterToken ), https://tc39.es/ecma262/#sec-finalization-registry.prototype.unregister // 26.2.3.3 FinalizationRegistry.prototype.unregister ( unregisterToken ), https://tc39.es/ecma262/#sec-finalization-registry.prototype.unregister
JS_DEFINE_NATIVE_FUNCTION(FinalizationRegistryPrototype::unregister) JS_DEFINE_OLD_NATIVE_FUNCTION(FinalizationRegistryPrototype::unregister)
{ {
auto* finalization_registry = TRY_OR_DISCARD(typed_this_object(global_object)); auto* finalization_registry = TRY_OR_DISCARD(typed_this_object(global_object));

View file

@ -20,9 +20,9 @@ public:
virtual ~FinalizationRegistryPrototype() override; virtual ~FinalizationRegistryPrototype() override;
private: private:
JS_DECLARE_NATIVE_FUNCTION(cleanup_some); JS_DECLARE_OLD_NATIVE_FUNCTION(cleanup_some);
JS_DECLARE_NATIVE_FUNCTION(register_); JS_DECLARE_OLD_NATIVE_FUNCTION(register_);
JS_DECLARE_NATIVE_FUNCTION(unregister); JS_DECLARE_OLD_NATIVE_FUNCTION(unregister);
}; };
} }

View file

@ -43,7 +43,7 @@ FunctionPrototype::~FunctionPrototype()
} }
// 20.2.3.1 Function.prototype.apply ( thisArg, argArray ), https://tc39.es/ecma262/#sec-function.prototype.apply // 20.2.3.1 Function.prototype.apply ( thisArg, argArray ), https://tc39.es/ecma262/#sec-function.prototype.apply
JS_DEFINE_NATIVE_FUNCTION(FunctionPrototype::apply) JS_DEFINE_OLD_NATIVE_FUNCTION(FunctionPrototype::apply)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
if (!this_object->is_function()) { if (!this_object->is_function()) {
@ -60,7 +60,7 @@ JS_DEFINE_NATIVE_FUNCTION(FunctionPrototype::apply)
} }
// 20.2.3.2 Function.prototype.bind ( thisArg, ...args ), https://tc39.es/ecma262/#sec-function.prototype.bind // 20.2.3.2 Function.prototype.bind ( thisArg, ...args ), https://tc39.es/ecma262/#sec-function.prototype.bind
JS_DEFINE_NATIVE_FUNCTION(FunctionPrototype::bind) JS_DEFINE_OLD_NATIVE_FUNCTION(FunctionPrototype::bind)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
if (!this_object->is_function()) { if (!this_object->is_function()) {
@ -80,7 +80,7 @@ JS_DEFINE_NATIVE_FUNCTION(FunctionPrototype::bind)
} }
// 20.2.3.3 Function.prototype.call ( thisArg, ...args ), https://tc39.es/ecma262/#sec-function.prototype.call // 20.2.3.3 Function.prototype.call ( thisArg, ...args ), https://tc39.es/ecma262/#sec-function.prototype.call
JS_DEFINE_NATIVE_FUNCTION(FunctionPrototype::call) JS_DEFINE_OLD_NATIVE_FUNCTION(FunctionPrototype::call)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
if (!this_object->is_function()) { if (!this_object->is_function()) {
@ -98,7 +98,7 @@ JS_DEFINE_NATIVE_FUNCTION(FunctionPrototype::call)
} }
// 20.2.3.5 Function.prototype.toString ( ), https://tc39.es/ecma262/#sec-function.prototype.tostring // 20.2.3.5 Function.prototype.toString ( ), https://tc39.es/ecma262/#sec-function.prototype.tostring
JS_DEFINE_NATIVE_FUNCTION(FunctionPrototype::to_string) JS_DEFINE_OLD_NATIVE_FUNCTION(FunctionPrototype::to_string)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
if (!this_object->is_function()) { if (!this_object->is_function()) {
@ -149,7 +149,7 @@ JS_DEFINE_NATIVE_FUNCTION(FunctionPrototype::to_string)
} }
// 20.2.3.6 Function.prototype [ @@hasInstance ] ( V ), https://tc39.es/ecma262/#sec-function.prototype-@@hasinstance // 20.2.3.6 Function.prototype [ @@hasInstance ] ( V ), https://tc39.es/ecma262/#sec-function.prototype-@@hasinstance
JS_DEFINE_NATIVE_FUNCTION(FunctionPrototype::symbol_has_instance) JS_DEFINE_OLD_NATIVE_FUNCTION(FunctionPrototype::symbol_has_instance)
{ {
return TRY_OR_DISCARD(ordinary_has_instance(global_object, vm.argument(0), vm.this_value(global_object))); return TRY_OR_DISCARD(ordinary_has_instance(global_object, vm.argument(0), vm.this_value(global_object)));
} }

View file

@ -19,11 +19,11 @@ public:
virtual ~FunctionPrototype() override; virtual ~FunctionPrototype() override;
private: private:
JS_DECLARE_NATIVE_FUNCTION(apply); JS_DECLARE_OLD_NATIVE_FUNCTION(apply);
JS_DECLARE_NATIVE_FUNCTION(bind); JS_DECLARE_OLD_NATIVE_FUNCTION(bind);
JS_DECLARE_NATIVE_FUNCTION(call); JS_DECLARE_OLD_NATIVE_FUNCTION(call);
JS_DECLARE_NATIVE_FUNCTION(to_string); JS_DECLARE_OLD_NATIVE_FUNCTION(to_string);
JS_DECLARE_NATIVE_FUNCTION(symbol_has_instance); JS_DECLARE_OLD_NATIVE_FUNCTION(symbol_has_instance);
}; };
} }

View file

@ -33,14 +33,14 @@ GeneratorObjectPrototype::~GeneratorObjectPrototype()
} }
// 27.5.1.2 Generator.prototype.next ( value ), https://tc39.es/ecma262/#sec-generator.prototype.next // 27.5.1.2 Generator.prototype.next ( value ), https://tc39.es/ecma262/#sec-generator.prototype.next
JS_DEFINE_NATIVE_FUNCTION(GeneratorObjectPrototype::next) JS_DEFINE_OLD_NATIVE_FUNCTION(GeneratorObjectPrototype::next)
{ {
auto* generator_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* generator_object = TRY_OR_DISCARD(typed_this_object(global_object));
return generator_object->next_impl(vm, global_object, {}); return generator_object->next_impl(vm, global_object, {});
} }
// 27.5.1.3 Generator.prototype.next ( value ), https://tc39.es/ecma262/#sec-generator.prototype.return // 27.5.1.3 Generator.prototype.next ( value ), https://tc39.es/ecma262/#sec-generator.prototype.return
JS_DEFINE_NATIVE_FUNCTION(GeneratorObjectPrototype::return_) JS_DEFINE_OLD_NATIVE_FUNCTION(GeneratorObjectPrototype::return_)
{ {
auto* generator_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* generator_object = TRY_OR_DISCARD(typed_this_object(global_object));
generator_object->set_done(); generator_object->set_done();
@ -48,7 +48,7 @@ JS_DEFINE_NATIVE_FUNCTION(GeneratorObjectPrototype::return_)
} }
// 27.5.1.4 Generator.prototype.next ( value ), https://tc39.es/ecma262/#sec-generator.prototype.throw // 27.5.1.4 Generator.prototype.next ( value ), https://tc39.es/ecma262/#sec-generator.prototype.throw
JS_DEFINE_NATIVE_FUNCTION(GeneratorObjectPrototype::throw_) JS_DEFINE_OLD_NATIVE_FUNCTION(GeneratorObjectPrototype::throw_)
{ {
auto* generator_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* generator_object = TRY_OR_DISCARD(typed_this_object(global_object));
return generator_object->next_impl(vm, global_object, vm.argument(0)); return generator_object->next_impl(vm, global_object, vm.argument(0));

View file

@ -21,9 +21,9 @@ public:
virtual ~GeneratorObjectPrototype() override; virtual ~GeneratorObjectPrototype() override;
private: private:
JS_DECLARE_NATIVE_FUNCTION(next); JS_DECLARE_OLD_NATIVE_FUNCTION(next);
JS_DECLARE_NATIVE_FUNCTION(return_); JS_DECLARE_OLD_NATIVE_FUNCTION(return_);
JS_DECLARE_NATIVE_FUNCTION(throw_); JS_DECLARE_OLD_NATIVE_FUNCTION(throw_);
}; };
} }

View file

@ -329,7 +329,7 @@ void GlobalObject::set_associated_realm(Badge<Realm>, Realm& realm)
m_associated_realm = &realm; m_associated_realm = &realm;
} }
JS_DEFINE_NATIVE_FUNCTION(GlobalObject::gc) JS_DEFINE_OLD_NATIVE_FUNCTION(GlobalObject::gc)
{ {
#ifdef __serenity__ #ifdef __serenity__
dbgln("Forced garbage collection requested!"); dbgln("Forced garbage collection requested!");
@ -339,19 +339,19 @@ JS_DEFINE_NATIVE_FUNCTION(GlobalObject::gc)
} }
// 19.2.3 isNaN ( number ), https://tc39.es/ecma262/#sec-isnan-number // 19.2.3 isNaN ( number ), https://tc39.es/ecma262/#sec-isnan-number
JS_DEFINE_NATIVE_FUNCTION(GlobalObject::is_nan) JS_DEFINE_OLD_NATIVE_FUNCTION(GlobalObject::is_nan)
{ {
return Value(TRY_OR_DISCARD(vm.argument(0).to_number(global_object)).is_nan()); return Value(TRY_OR_DISCARD(vm.argument(0).to_number(global_object)).is_nan());
} }
// 19.2.2 isFinite ( number ), https://tc39.es/ecma262/#sec-isfinite-number // 19.2.2 isFinite ( number ), https://tc39.es/ecma262/#sec-isfinite-number
JS_DEFINE_NATIVE_FUNCTION(GlobalObject::is_finite) JS_DEFINE_OLD_NATIVE_FUNCTION(GlobalObject::is_finite)
{ {
return Value(TRY_OR_DISCARD(vm.argument(0).to_number(global_object)).is_finite_number()); return Value(TRY_OR_DISCARD(vm.argument(0).to_number(global_object)).is_finite_number());
} }
// 19.2.4 parseFloat ( string ), https://tc39.es/ecma262/#sec-parsefloat-string // 19.2.4 parseFloat ( string ), https://tc39.es/ecma262/#sec-parsefloat-string
JS_DEFINE_NATIVE_FUNCTION(GlobalObject::parse_float) JS_DEFINE_OLD_NATIVE_FUNCTION(GlobalObject::parse_float)
{ {
if (vm.argument(0).is_number()) if (vm.argument(0).is_number())
return vm.argument(0); return vm.argument(0);
@ -366,7 +366,7 @@ JS_DEFINE_NATIVE_FUNCTION(GlobalObject::parse_float)
} }
// 19.2.5 parseInt ( string, radix ), https://tc39.es/ecma262/#sec-parseint-string-radix // 19.2.5 parseInt ( string, radix ), https://tc39.es/ecma262/#sec-parseint-string-radix
JS_DEFINE_NATIVE_FUNCTION(GlobalObject::parse_int) JS_DEFINE_OLD_NATIVE_FUNCTION(GlobalObject::parse_int)
{ {
auto input_string = TRY_OR_DISCARD(vm.argument(0).to_string(global_object)); auto input_string = TRY_OR_DISCARD(vm.argument(0).to_string(global_object));
@ -424,7 +424,7 @@ JS_DEFINE_NATIVE_FUNCTION(GlobalObject::parse_int)
} }
// 19.2.1 eval ( x ), https://tc39.es/ecma262/#sec-eval-x // 19.2.1 eval ( x ), https://tc39.es/ecma262/#sec-eval-x
JS_DEFINE_NATIVE_FUNCTION(GlobalObject::eval) JS_DEFINE_OLD_NATIVE_FUNCTION(GlobalObject::eval)
{ {
return TRY_OR_DISCARD(perform_eval(vm.argument(0), global_object, CallerMode::NonStrict, EvalMode::Indirect)); return TRY_OR_DISCARD(perform_eval(vm.argument(0), global_object, CallerMode::NonStrict, EvalMode::Indirect));
} }
@ -499,7 +499,7 @@ static String decode(JS::GlobalObject& global_object, const String& string, Stri
} }
// 19.2.6.4 encodeURI ( uri ), https://tc39.es/ecma262/#sec-encodeuri-uri // 19.2.6.4 encodeURI ( uri ), https://tc39.es/ecma262/#sec-encodeuri-uri
JS_DEFINE_NATIVE_FUNCTION(GlobalObject::encode_uri) JS_DEFINE_OLD_NATIVE_FUNCTION(GlobalObject::encode_uri)
{ {
auto uri_string = TRY_OR_DISCARD(vm.argument(0).to_string(global_object)); auto uri_string = TRY_OR_DISCARD(vm.argument(0).to_string(global_object));
auto encoded = encode(global_object, uri_string, ";/?:@&=+$,abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.!~*'()#"sv); auto encoded = encode(global_object, uri_string, ";/?:@&=+$,abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.!~*'()#"sv);
@ -509,7 +509,7 @@ JS_DEFINE_NATIVE_FUNCTION(GlobalObject::encode_uri)
} }
// 19.2.6.2 decodeURI ( encodedURI ), https://tc39.es/ecma262/#sec-decodeuri-encodeduri // 19.2.6.2 decodeURI ( encodedURI ), https://tc39.es/ecma262/#sec-decodeuri-encodeduri
JS_DEFINE_NATIVE_FUNCTION(GlobalObject::decode_uri) JS_DEFINE_OLD_NATIVE_FUNCTION(GlobalObject::decode_uri)
{ {
auto uri_string = TRY_OR_DISCARD(vm.argument(0).to_string(global_object)); auto uri_string = TRY_OR_DISCARD(vm.argument(0).to_string(global_object));
auto decoded = decode(global_object, uri_string, ";/?:@&=+$,#"sv); auto decoded = decode(global_object, uri_string, ";/?:@&=+$,#"sv);
@ -519,7 +519,7 @@ JS_DEFINE_NATIVE_FUNCTION(GlobalObject::decode_uri)
} }
// 19.2.6.5 encodeURIComponent ( uriComponent ), https://tc39.es/ecma262/#sec-encodeuricomponent-uricomponent // 19.2.6.5 encodeURIComponent ( uriComponent ), https://tc39.es/ecma262/#sec-encodeuricomponent-uricomponent
JS_DEFINE_NATIVE_FUNCTION(GlobalObject::encode_uri_component) JS_DEFINE_OLD_NATIVE_FUNCTION(GlobalObject::encode_uri_component)
{ {
auto uri_string = TRY_OR_DISCARD(vm.argument(0).to_string(global_object)); auto uri_string = TRY_OR_DISCARD(vm.argument(0).to_string(global_object));
auto encoded = encode(global_object, uri_string, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.!~*'()"sv); auto encoded = encode(global_object, uri_string, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.!~*'()"sv);
@ -529,7 +529,7 @@ JS_DEFINE_NATIVE_FUNCTION(GlobalObject::encode_uri_component)
} }
// 19.2.6.3 decodeURIComponent ( encodedURIComponent ), https://tc39.es/ecma262/#sec-decodeuricomponent-encodeduricomponent // 19.2.6.3 decodeURIComponent ( encodedURIComponent ), https://tc39.es/ecma262/#sec-decodeuricomponent-encodeduricomponent
JS_DEFINE_NATIVE_FUNCTION(GlobalObject::decode_uri_component) JS_DEFINE_OLD_NATIVE_FUNCTION(GlobalObject::decode_uri_component)
{ {
auto uri_string = TRY_OR_DISCARD(vm.argument(0).to_string(global_object)); auto uri_string = TRY_OR_DISCARD(vm.argument(0).to_string(global_object));
auto decoded = decode(global_object, uri_string, ""sv); auto decoded = decode(global_object, uri_string, ""sv);
@ -539,7 +539,7 @@ JS_DEFINE_NATIVE_FUNCTION(GlobalObject::decode_uri_component)
} }
// B.2.1.1 escape ( string ), https://tc39.es/ecma262/#sec-escape-string // B.2.1.1 escape ( string ), https://tc39.es/ecma262/#sec-escape-string
JS_DEFINE_NATIVE_FUNCTION(GlobalObject::escape) JS_DEFINE_OLD_NATIVE_FUNCTION(GlobalObject::escape)
{ {
auto string = TRY_OR_DISCARD(vm.argument(0).to_string(global_object)); auto string = TRY_OR_DISCARD(vm.argument(0).to_string(global_object));
StringBuilder escaped; StringBuilder escaped;
@ -557,7 +557,7 @@ JS_DEFINE_NATIVE_FUNCTION(GlobalObject::escape)
} }
// B.2.1.2 unescape ( string ), https://tc39.es/ecma262/#sec-unescape-string // B.2.1.2 unescape ( string ), https://tc39.es/ecma262/#sec-unescape-string
JS_DEFINE_NATIVE_FUNCTION(GlobalObject::unescape) JS_DEFINE_OLD_NATIVE_FUNCTION(GlobalObject::unescape)
{ {
auto string = TRY_OR_DISCARD(vm.argument(0).to_string(global_object)); auto string = TRY_OR_DISCARD(vm.argument(0).to_string(global_object));
ssize_t length = string.length(); ssize_t length = string.length();

View file

@ -76,18 +76,18 @@ protected:
private: private:
virtual bool is_global_object() const final { return true; } virtual bool is_global_object() const final { return true; }
JS_DECLARE_NATIVE_FUNCTION(gc); JS_DECLARE_OLD_NATIVE_FUNCTION(gc);
JS_DECLARE_NATIVE_FUNCTION(is_nan); JS_DECLARE_OLD_NATIVE_FUNCTION(is_nan);
JS_DECLARE_NATIVE_FUNCTION(is_finite); JS_DECLARE_OLD_NATIVE_FUNCTION(is_finite);
JS_DECLARE_NATIVE_FUNCTION(parse_float); JS_DECLARE_OLD_NATIVE_FUNCTION(parse_float);
JS_DECLARE_NATIVE_FUNCTION(parse_int); JS_DECLARE_OLD_NATIVE_FUNCTION(parse_int);
JS_DECLARE_NATIVE_FUNCTION(eval); JS_DECLARE_OLD_NATIVE_FUNCTION(eval);
JS_DECLARE_NATIVE_FUNCTION(encode_uri); JS_DECLARE_OLD_NATIVE_FUNCTION(encode_uri);
JS_DECLARE_NATIVE_FUNCTION(decode_uri); JS_DECLARE_OLD_NATIVE_FUNCTION(decode_uri);
JS_DECLARE_NATIVE_FUNCTION(encode_uri_component); JS_DECLARE_OLD_NATIVE_FUNCTION(encode_uri_component);
JS_DECLARE_NATIVE_FUNCTION(decode_uri_component); JS_DECLARE_OLD_NATIVE_FUNCTION(decode_uri_component);
JS_DECLARE_NATIVE_FUNCTION(escape); JS_DECLARE_OLD_NATIVE_FUNCTION(escape);
JS_DECLARE_NATIVE_FUNCTION(unescape); JS_DECLARE_OLD_NATIVE_FUNCTION(unescape);
NonnullOwnPtr<Console> m_console; NonnullOwnPtr<Console> m_console;

View file

@ -117,7 +117,7 @@ Value DisplayNamesConstructor::construct(FunctionObject& new_target)
} }
// 12.3.2 Intl.DisplayNames.supportedLocalesOf ( locales [ , options ] ), https://tc39.es/ecma402/#sec-Intl.DisplayNames.supportedLocalesOf // 12.3.2 Intl.DisplayNames.supportedLocalesOf ( locales [ , options ] ), https://tc39.es/ecma402/#sec-Intl.DisplayNames.supportedLocalesOf
JS_DEFINE_NATIVE_FUNCTION(DisplayNamesConstructor::supported_locales_of) JS_DEFINE_OLD_NATIVE_FUNCTION(DisplayNamesConstructor::supported_locales_of)
{ {
auto locales = vm.argument(0); auto locales = vm.argument(0);
auto options = vm.argument(1); auto options = vm.argument(1);

View file

@ -24,7 +24,7 @@ public:
private: private:
virtual bool has_constructor() const override { return true; } virtual bool has_constructor() const override { return true; }
JS_DECLARE_NATIVE_FUNCTION(supported_locales_of); JS_DECLARE_OLD_NATIVE_FUNCTION(supported_locales_of);
}; };
} }

View file

@ -33,7 +33,7 @@ void DisplayNamesPrototype::initialize(GlobalObject& global_object)
} }
// 12.4.3 Intl.DisplayNames.prototype.of ( code ), https://tc39.es/ecma402/#sec-Intl.DisplayNames.prototype.of // 12.4.3 Intl.DisplayNames.prototype.of ( code ), https://tc39.es/ecma402/#sec-Intl.DisplayNames.prototype.of
JS_DEFINE_NATIVE_FUNCTION(DisplayNamesPrototype::of) JS_DEFINE_OLD_NATIVE_FUNCTION(DisplayNamesPrototype::of)
{ {
auto code = vm.argument(0); auto code = vm.argument(0);
@ -81,7 +81,7 @@ JS_DEFINE_NATIVE_FUNCTION(DisplayNamesPrototype::of)
} }
// 12.4.4 Intl.DisplayNames.prototype.resolvedOptions ( ), https://tc39.es/ecma402/#sec-Intl.DisplayNames.prototype.resolvedOptions // 12.4.4 Intl.DisplayNames.prototype.resolvedOptions ( ), https://tc39.es/ecma402/#sec-Intl.DisplayNames.prototype.resolvedOptions
JS_DEFINE_NATIVE_FUNCTION(DisplayNamesPrototype::resolved_options) JS_DEFINE_OLD_NATIVE_FUNCTION(DisplayNamesPrototype::resolved_options)
{ {
// 1. Let displayNames be this value. // 1. Let displayNames be this value.
// 2. Perform ? RequireInternalSlot(displayNames, [[InitializedDisplayNames]]). // 2. Perform ? RequireInternalSlot(displayNames, [[InitializedDisplayNames]]).

View file

@ -20,8 +20,8 @@ public:
virtual ~DisplayNamesPrototype() override = default; virtual ~DisplayNamesPrototype() override = default;
private: private:
JS_DECLARE_NATIVE_FUNCTION(of); JS_DECLARE_OLD_NATIVE_FUNCTION(of);
JS_DECLARE_NATIVE_FUNCTION(resolved_options); JS_DECLARE_OLD_NATIVE_FUNCTION(resolved_options);
}; };
} }

View file

@ -40,7 +40,7 @@ void Intl::initialize(GlobalObject& global_object)
} }
// 8.3.1 Intl.getCanonicalLocales ( locales ), https://tc39.es/ecma402/#sec-intl.getcanonicallocales // 8.3.1 Intl.getCanonicalLocales ( locales ), https://tc39.es/ecma402/#sec-intl.getcanonicallocales
JS_DEFINE_NATIVE_FUNCTION(Intl::get_canonical_locales) JS_DEFINE_OLD_NATIVE_FUNCTION(Intl::get_canonical_locales)
{ {
auto locales = vm.argument(0); auto locales = vm.argument(0);

View file

@ -19,7 +19,7 @@ public:
virtual ~Intl() override = default; virtual ~Intl() override = default;
private: private:
JS_DECLARE_NATIVE_FUNCTION(get_canonical_locales); JS_DECLARE_OLD_NATIVE_FUNCTION(get_canonical_locales);
}; };
} }

View file

@ -97,7 +97,7 @@ Value ListFormatConstructor::construct(FunctionObject& new_target)
} }
// 13.3.2 Intl.ListFormat.supportedLocalesOf ( locales [ , options ] ), https://tc39.es/ecma402/#sec-Intl.ListFormat.supportedLocalesOf // 13.3.2 Intl.ListFormat.supportedLocalesOf ( locales [ , options ] ), https://tc39.es/ecma402/#sec-Intl.ListFormat.supportedLocalesOf
JS_DEFINE_NATIVE_FUNCTION(ListFormatConstructor::supported_locales_of) JS_DEFINE_OLD_NATIVE_FUNCTION(ListFormatConstructor::supported_locales_of)
{ {
auto locales = vm.argument(0); auto locales = vm.argument(0);
auto options = vm.argument(1); auto options = vm.argument(1);

View file

@ -24,7 +24,7 @@ public:
private: private:
virtual bool has_constructor() const override { return true; } virtual bool has_constructor() const override { return true; }
JS_DECLARE_NATIVE_FUNCTION(supported_locales_of); JS_DECLARE_OLD_NATIVE_FUNCTION(supported_locales_of);
}; };
} }

View file

@ -34,7 +34,7 @@ void ListFormatPrototype::initialize(GlobalObject& global_object)
} }
// 13.4.3 Intl.ListFormat.prototype.format ( list ), https://tc39.es/ecma402/#sec-Intl.ListFormat.prototype.format // 13.4.3 Intl.ListFormat.prototype.format ( list ), https://tc39.es/ecma402/#sec-Intl.ListFormat.prototype.format
JS_DEFINE_NATIVE_FUNCTION(ListFormatPrototype::format) JS_DEFINE_OLD_NATIVE_FUNCTION(ListFormatPrototype::format)
{ {
auto list = vm.argument(0); auto list = vm.argument(0);
@ -51,7 +51,7 @@ JS_DEFINE_NATIVE_FUNCTION(ListFormatPrototype::format)
} }
// 13.4.4 Intl.ListFormat.prototype.formatToParts ( list ), https://tc39.es/ecma402/#sec-Intl.ListFormat.prototype.formatToParts // 13.4.4 Intl.ListFormat.prototype.formatToParts ( list ), https://tc39.es/ecma402/#sec-Intl.ListFormat.prototype.formatToParts
JS_DEFINE_NATIVE_FUNCTION(ListFormatPrototype::format_to_parts) JS_DEFINE_OLD_NATIVE_FUNCTION(ListFormatPrototype::format_to_parts)
{ {
auto list = vm.argument(0); auto list = vm.argument(0);
@ -67,7 +67,7 @@ JS_DEFINE_NATIVE_FUNCTION(ListFormatPrototype::format_to_parts)
} }
// 13.4.5 Intl.ListFormat.prototype.resolvedOptions ( ), https://tc39.es/ecma402/#sec-Intl.ListFormat.prototype.resolvedoptions // 13.4.5 Intl.ListFormat.prototype.resolvedOptions ( ), https://tc39.es/ecma402/#sec-Intl.ListFormat.prototype.resolvedoptions
JS_DEFINE_NATIVE_FUNCTION(ListFormatPrototype::resolved_options) JS_DEFINE_OLD_NATIVE_FUNCTION(ListFormatPrototype::resolved_options)
{ {
// 1. Let lf be the this value. // 1. Let lf be the this value.
// 2. Perform ? RequireInternalSlot(lf, [[InitializedListFormat]]). // 2. Perform ? RequireInternalSlot(lf, [[InitializedListFormat]]).

View file

@ -20,9 +20,9 @@ public:
virtual ~ListFormatPrototype() override = default; virtual ~ListFormatPrototype() override = default;
private: private:
JS_DECLARE_NATIVE_FUNCTION(format); JS_DECLARE_OLD_NATIVE_FUNCTION(format);
JS_DECLARE_NATIVE_FUNCTION(format_to_parts); JS_DECLARE_OLD_NATIVE_FUNCTION(format_to_parts);
JS_DECLARE_NATIVE_FUNCTION(resolved_options); JS_DECLARE_OLD_NATIVE_FUNCTION(resolved_options);
}; };
} }

View file

@ -45,7 +45,7 @@ void LocalePrototype::initialize(GlobalObject& global_object)
} }
// 14.3.3 Intl.Locale.prototype.maximize ( ), https://tc39.es/ecma402/#sec-Intl.Locale.prototype.maximize // 14.3.3 Intl.Locale.prototype.maximize ( ), https://tc39.es/ecma402/#sec-Intl.Locale.prototype.maximize
JS_DEFINE_NATIVE_FUNCTION(LocalePrototype::maximize) JS_DEFINE_OLD_NATIVE_FUNCTION(LocalePrototype::maximize)
{ {
// 1. Let loc be the this value. // 1. Let loc be the this value.
// 2. Perform ? RequireInternalSlot(loc, [[InitializedLocale]]). // 2. Perform ? RequireInternalSlot(loc, [[InitializedLocale]]).
@ -63,7 +63,7 @@ JS_DEFINE_NATIVE_FUNCTION(LocalePrototype::maximize)
} }
// 14.3.4 Intl.Locale.prototype.minimize ( ), https://tc39.es/ecma402/#sec-Intl.Locale.prototype.minimize // 14.3.4 Intl.Locale.prototype.minimize ( ), https://tc39.es/ecma402/#sec-Intl.Locale.prototype.minimize
JS_DEFINE_NATIVE_FUNCTION(LocalePrototype::minimize) JS_DEFINE_OLD_NATIVE_FUNCTION(LocalePrototype::minimize)
{ {
// 1. Let loc be the this value. // 1. Let loc be the this value.
// 2. Perform ? RequireInternalSlot(loc, [[InitializedLocale]]). // 2. Perform ? RequireInternalSlot(loc, [[InitializedLocale]]).
@ -81,7 +81,7 @@ JS_DEFINE_NATIVE_FUNCTION(LocalePrototype::minimize)
} }
// 14.3.5 Intl.Locale.prototype.toString ( ), https://tc39.es/ecma402/#sec-Intl.Locale.prototype.toString // 14.3.5 Intl.Locale.prototype.toString ( ), https://tc39.es/ecma402/#sec-Intl.Locale.prototype.toString
JS_DEFINE_NATIVE_FUNCTION(LocalePrototype::to_string) JS_DEFINE_OLD_NATIVE_FUNCTION(LocalePrototype::to_string)
{ {
// 1. Let loc be the this value. // 1. Let loc be the this value.
// 2. Perform ? RequireInternalSlot(loc, [[InitializedLocale]]). // 2. Perform ? RequireInternalSlot(loc, [[InitializedLocale]]).
@ -92,7 +92,7 @@ JS_DEFINE_NATIVE_FUNCTION(LocalePrototype::to_string)
} }
// 14.3.6 get Intl.Locale.prototype.baseName, https://tc39.es/ecma402/#sec-Intl.Locale.prototype.baseName // 14.3.6 get Intl.Locale.prototype.baseName, https://tc39.es/ecma402/#sec-Intl.Locale.prototype.baseName
JS_DEFINE_NATIVE_FUNCTION(LocalePrototype::base_name) JS_DEFINE_OLD_NATIVE_FUNCTION(LocalePrototype::base_name)
{ {
// 1. Let loc be the this value. // 1. Let loc be the this value.
// 2. Perform ? RequireInternalSlot(loc, [[InitializedLocale]]). // 2. Perform ? RequireInternalSlot(loc, [[InitializedLocale]]).
@ -119,7 +119,7 @@ JS_DEFINE_NATIVE_FUNCTION(LocalePrototype::base_name)
// 14.3.10 get Intl.Locale.prototype.hourCycle, https://tc39.es/ecma402/#sec-Intl.Locale.prototype.hourCycle // 14.3.10 get Intl.Locale.prototype.hourCycle, https://tc39.es/ecma402/#sec-Intl.Locale.prototype.hourCycle
// 14.3.12 get Intl.Locale.prototype.numberingSystem, https://tc39.es/ecma402/#sec-Intl.Locale.prototype.numberingSystem // 14.3.12 get Intl.Locale.prototype.numberingSystem, https://tc39.es/ecma402/#sec-Intl.Locale.prototype.numberingSystem
#define __JS_ENUMERATE(keyword) \ #define __JS_ENUMERATE(keyword) \
JS_DEFINE_NATIVE_FUNCTION(LocalePrototype::keyword) \ JS_DEFINE_OLD_NATIVE_FUNCTION(LocalePrototype::keyword) \
{ \ { \
auto* locale_object = TRY_OR_DISCARD(typed_this_object(global_object)); \ auto* locale_object = TRY_OR_DISCARD(typed_this_object(global_object)); \
if (!locale_object->has_##keyword()) \ if (!locale_object->has_##keyword()) \
@ -130,7 +130,7 @@ JS_ENUMERATE_LOCALE_KEYWORD_PROPERTIES
#undef __JS_ENUMERATE #undef __JS_ENUMERATE
// 14.3.11 get Intl.Locale.prototype.numeric, https://tc39.es/ecma402/#sec-Intl.Locale.prototype.numeric // 14.3.11 get Intl.Locale.prototype.numeric, https://tc39.es/ecma402/#sec-Intl.Locale.prototype.numeric
JS_DEFINE_NATIVE_FUNCTION(LocalePrototype::numeric) JS_DEFINE_OLD_NATIVE_FUNCTION(LocalePrototype::numeric)
{ {
// 1. Let loc be the this value. // 1. Let loc be the this value.
// 2. Perform ? RequireInternalSlot(loc, [[InitializedLocale]]). // 2. Perform ? RequireInternalSlot(loc, [[InitializedLocale]]).
@ -141,7 +141,7 @@ JS_DEFINE_NATIVE_FUNCTION(LocalePrototype::numeric)
} }
// 14.3.13 get Intl.Locale.prototype.language, https://tc39.es/ecma402/#sec-Intl.Locale.prototype.language // 14.3.13 get Intl.Locale.prototype.language, https://tc39.es/ecma402/#sec-Intl.Locale.prototype.language
JS_DEFINE_NATIVE_FUNCTION(LocalePrototype::language) JS_DEFINE_OLD_NATIVE_FUNCTION(LocalePrototype::language)
{ {
// 1. Let loc be the this value. // 1. Let loc be the this value.
// 2. Perform ? RequireInternalSlot(loc, [[InitializedLocale]]). // 2. Perform ? RequireInternalSlot(loc, [[InitializedLocale]]).
@ -158,7 +158,7 @@ JS_DEFINE_NATIVE_FUNCTION(LocalePrototype::language)
} }
// 14.3.14 get Intl.Locale.prototype.script, https://tc39.es/ecma402/#sec-Intl.Locale.prototype.script // 14.3.14 get Intl.Locale.prototype.script, https://tc39.es/ecma402/#sec-Intl.Locale.prototype.script
JS_DEFINE_NATIVE_FUNCTION(LocalePrototype::script) JS_DEFINE_OLD_NATIVE_FUNCTION(LocalePrototype::script)
{ {
// 1. Let loc be the this value. // 1. Let loc be the this value.
// 2. Perform ? RequireInternalSlot(loc, [[InitializedLocale]]). // 2. Perform ? RequireInternalSlot(loc, [[InitializedLocale]]).
@ -179,7 +179,7 @@ JS_DEFINE_NATIVE_FUNCTION(LocalePrototype::script)
} }
// 14.3.15 get Intl.Locale.prototype.region, https://tc39.es/ecma402/#sec-Intl.Locale.prototype.region // 14.3.15 get Intl.Locale.prototype.region, https://tc39.es/ecma402/#sec-Intl.Locale.prototype.region
JS_DEFINE_NATIVE_FUNCTION(LocalePrototype::region) JS_DEFINE_OLD_NATIVE_FUNCTION(LocalePrototype::region)
{ {
// 1. Let loc be the this value. // 1. Let loc be the this value.
// 2. Perform ? RequireInternalSlot(loc, [[InitializedLocale]]). // 2. Perform ? RequireInternalSlot(loc, [[InitializedLocale]]).

View file

@ -20,20 +20,20 @@ public:
virtual ~LocalePrototype() override = default; virtual ~LocalePrototype() override = default;
private: private:
JS_DECLARE_NATIVE_FUNCTION(maximize); JS_DECLARE_OLD_NATIVE_FUNCTION(maximize);
JS_DECLARE_NATIVE_FUNCTION(minimize); JS_DECLARE_OLD_NATIVE_FUNCTION(minimize);
JS_DECLARE_NATIVE_FUNCTION(to_string); JS_DECLARE_OLD_NATIVE_FUNCTION(to_string);
JS_DECLARE_NATIVE_FUNCTION(base_name); JS_DECLARE_OLD_NATIVE_FUNCTION(base_name);
JS_DECLARE_NATIVE_FUNCTION(calendar); JS_DECLARE_OLD_NATIVE_FUNCTION(calendar);
JS_DECLARE_NATIVE_FUNCTION(case_first); JS_DECLARE_OLD_NATIVE_FUNCTION(case_first);
JS_DECLARE_NATIVE_FUNCTION(collation); JS_DECLARE_OLD_NATIVE_FUNCTION(collation);
JS_DECLARE_NATIVE_FUNCTION(hour_cycle); JS_DECLARE_OLD_NATIVE_FUNCTION(hour_cycle);
JS_DECLARE_NATIVE_FUNCTION(numbering_system); JS_DECLARE_OLD_NATIVE_FUNCTION(numbering_system);
JS_DECLARE_NATIVE_FUNCTION(numeric); JS_DECLARE_OLD_NATIVE_FUNCTION(numeric);
JS_DECLARE_NATIVE_FUNCTION(language); JS_DECLARE_OLD_NATIVE_FUNCTION(language);
JS_DECLARE_NATIVE_FUNCTION(script); JS_DECLARE_OLD_NATIVE_FUNCTION(script);
JS_DECLARE_NATIVE_FUNCTION(region); JS_DECLARE_OLD_NATIVE_FUNCTION(region);
}; };
} }

View file

@ -65,7 +65,7 @@ Value NumberFormatConstructor::construct(FunctionObject& new_target)
} }
// 15.3.2 Intl.NumberFormat.supportedLocalesOf ( locales [ , options ] ), https://tc39.es/ecma402/#sec-intl.numberformat.supportedlocalesof // 15.3.2 Intl.NumberFormat.supportedLocalesOf ( locales [ , options ] ), https://tc39.es/ecma402/#sec-intl.numberformat.supportedlocalesof
JS_DEFINE_NATIVE_FUNCTION(NumberFormatConstructor::supported_locales_of) JS_DEFINE_OLD_NATIVE_FUNCTION(NumberFormatConstructor::supported_locales_of)
{ {
auto locales = vm.argument(0); auto locales = vm.argument(0);
auto options = vm.argument(1); auto options = vm.argument(1);

View file

@ -24,7 +24,7 @@ public:
private: private:
virtual bool has_constructor() const override { return true; } virtual bool has_constructor() const override { return true; }
JS_DECLARE_NATIVE_FUNCTION(supported_locales_of); JS_DECLARE_OLD_NATIVE_FUNCTION(supported_locales_of);
}; };
} }

View file

@ -31,7 +31,7 @@ void NumberFormatPrototype::initialize(GlobalObject& global_object)
} }
// 15.4.5 Intl.NumberFormat.prototype.resolvedOptions ( ), https://tc39.es/ecma402/#sec-intl.numberformat.prototype.resolvedoptions // 15.4.5 Intl.NumberFormat.prototype.resolvedOptions ( ), https://tc39.es/ecma402/#sec-intl.numberformat.prototype.resolvedoptions
JS_DEFINE_NATIVE_FUNCTION(NumberFormatPrototype::resolved_options) JS_DEFINE_OLD_NATIVE_FUNCTION(NumberFormatPrototype::resolved_options)
{ {
// 1. Let nf be the this value. // 1. Let nf be the this value.
// 2. If the implementation supports the normative optional constructor mode of 4.3 Note 1, then // 2. If the implementation supports the normative optional constructor mode of 4.3 Note 1, then

View file

@ -20,7 +20,7 @@ public:
virtual ~NumberFormatPrototype() override = default; virtual ~NumberFormatPrototype() override = default;
private: private:
JS_DECLARE_NATIVE_FUNCTION(resolved_options); JS_DECLARE_OLD_NATIVE_FUNCTION(resolved_options);
}; };
} }

View file

@ -28,7 +28,7 @@ IteratorPrototype::~IteratorPrototype()
} }
// 27.1.2.1 %IteratorPrototype% [ @@iterator ] ( ), https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator // 27.1.2.1 %IteratorPrototype% [ @@iterator ] ( ), https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator
JS_DEFINE_NATIVE_FUNCTION(IteratorPrototype::symbol_iterator) JS_DEFINE_OLD_NATIVE_FUNCTION(IteratorPrototype::symbol_iterator)
{ {
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
return this_object; return this_object;

View file

@ -19,7 +19,7 @@ public:
virtual ~IteratorPrototype() override; virtual ~IteratorPrototype() override;
private: private:
JS_DECLARE_NATIVE_FUNCTION(symbol_iterator); JS_DECLARE_OLD_NATIVE_FUNCTION(symbol_iterator);
}; };
} }

View file

@ -112,7 +112,7 @@ String JSONObject::stringify_impl(GlobalObject& global_object, Value value, Valu
} }
// 25.5.2 JSON.stringify ( value [ , replacer [ , space ] ] ), https://tc39.es/ecma262/#sec-json.stringify // 25.5.2 JSON.stringify ( value [ , replacer [ , space ] ] ), https://tc39.es/ecma262/#sec-json.stringify
JS_DEFINE_NATIVE_FUNCTION(JSONObject::stringify) JS_DEFINE_OLD_NATIVE_FUNCTION(JSONObject::stringify)
{ {
if (!vm.argument_count()) if (!vm.argument_count())
return js_undefined(); return js_undefined();
@ -375,7 +375,7 @@ String JSONObject::quote_json_string(String string)
} }
// 25.5.1 JSON.parse ( text [ , reviver ] ), https://tc39.es/ecma262/#sec-json.parse // 25.5.1 JSON.parse ( text [ , reviver ] ), https://tc39.es/ecma262/#sec-json.parse
JS_DEFINE_NATIVE_FUNCTION(JSONObject::parse) JS_DEFINE_OLD_NATIVE_FUNCTION(JSONObject::parse)
{ {
auto string = TRY_OR_DISCARD(vm.argument(0).to_string(global_object)); auto string = TRY_OR_DISCARD(vm.argument(0).to_string(global_object));
auto reviver = vm.argument(1); auto reviver = vm.argument(1);

View file

@ -44,8 +44,8 @@ private:
static Array* parse_json_array(GlobalObject&, const JsonArray&); static Array* parse_json_array(GlobalObject&, const JsonArray&);
static Value internalize_json_property(GlobalObject&, Object* holder, PropertyName const& name, FunctionObject& reviver); static Value internalize_json_property(GlobalObject&, Object* holder, PropertyName const& name, FunctionObject& reviver);
JS_DECLARE_NATIVE_FUNCTION(stringify); JS_DECLARE_OLD_NATIVE_FUNCTION(stringify);
JS_DECLARE_NATIVE_FUNCTION(parse); JS_DECLARE_OLD_NATIVE_FUNCTION(parse);
}; };
} }

View file

@ -83,7 +83,7 @@ Value MapConstructor::construct(FunctionObject& new_target)
} }
// 24.1.2.2 get Map [ @@species ], https://tc39.es/ecma262/#sec-get-map-@@species // 24.1.2.2 get Map [ @@species ], https://tc39.es/ecma262/#sec-get-map-@@species
JS_DEFINE_NATIVE_FUNCTION(MapConstructor::symbol_species_getter) JS_DEFINE_OLD_NATIVE_FUNCTION(MapConstructor::symbol_species_getter)
{ {
return vm.this_value(global_object); return vm.this_value(global_object);
} }

View file

@ -24,7 +24,7 @@ public:
private: private:
virtual bool has_constructor() const override { return true; } virtual bool has_constructor() const override { return true; }
JS_DECLARE_NATIVE_FUNCTION(symbol_species_getter); JS_DECLARE_OLD_NATIVE_FUNCTION(symbol_species_getter);
}; };
} }

View file

@ -32,7 +32,7 @@ MapIteratorPrototype::~MapIteratorPrototype()
} }
// 24.1.5.2.1 %MapIteratorPrototype%.next ( ), https://tc39.es/ecma262/#sec-%mapiteratorprototype%.next // 24.1.5.2.1 %MapIteratorPrototype%.next ( ), https://tc39.es/ecma262/#sec-%mapiteratorprototype%.next
JS_DEFINE_NATIVE_FUNCTION(MapIteratorPrototype::next) JS_DEFINE_OLD_NATIVE_FUNCTION(MapIteratorPrototype::next)
{ {
auto* map_iterator = TRY_OR_DISCARD(typed_this_value(global_object)); auto* map_iterator = TRY_OR_DISCARD(typed_this_value(global_object));
if (map_iterator->done()) if (map_iterator->done())

View file

@ -20,7 +20,7 @@ public:
virtual ~MapIteratorPrototype() override; virtual ~MapIteratorPrototype() override;
private: private:
JS_DECLARE_NATIVE_FUNCTION(next); JS_DECLARE_OLD_NATIVE_FUNCTION(next);
}; };
} }

View file

@ -43,7 +43,7 @@ MapPrototype::~MapPrototype()
} }
// 24.1.3.1 Map.prototype.clear ( ), https://tc39.es/ecma262/#sec-map.prototype.clear // 24.1.3.1 Map.prototype.clear ( ), https://tc39.es/ecma262/#sec-map.prototype.clear
JS_DEFINE_NATIVE_FUNCTION(MapPrototype::clear) JS_DEFINE_OLD_NATIVE_FUNCTION(MapPrototype::clear)
{ {
auto* map = TRY_OR_DISCARD(typed_this_object(global_object)); auto* map = TRY_OR_DISCARD(typed_this_object(global_object));
map->entries().clear(); map->entries().clear();
@ -51,14 +51,14 @@ JS_DEFINE_NATIVE_FUNCTION(MapPrototype::clear)
} }
// 24.1.3.3 Map.prototype.delete ( key ), https://tc39.es/ecma262/#sec-map.prototype.delete // 24.1.3.3 Map.prototype.delete ( key ), https://tc39.es/ecma262/#sec-map.prototype.delete
JS_DEFINE_NATIVE_FUNCTION(MapPrototype::delete_) JS_DEFINE_OLD_NATIVE_FUNCTION(MapPrototype::delete_)
{ {
auto* map = TRY_OR_DISCARD(typed_this_object(global_object)); auto* map = TRY_OR_DISCARD(typed_this_object(global_object));
return Value(map->entries().remove(vm.argument(0))); return Value(map->entries().remove(vm.argument(0)));
} }
// 24.1.3.4 Map.prototype.entries ( ), https://tc39.es/ecma262/#sec-map.prototype.entries // 24.1.3.4 Map.prototype.entries ( ), https://tc39.es/ecma262/#sec-map.prototype.entries
JS_DEFINE_NATIVE_FUNCTION(MapPrototype::entries) JS_DEFINE_OLD_NATIVE_FUNCTION(MapPrototype::entries)
{ {
auto* map = TRY_OR_DISCARD(typed_this_object(global_object)); auto* map = TRY_OR_DISCARD(typed_this_object(global_object));
@ -66,7 +66,7 @@ JS_DEFINE_NATIVE_FUNCTION(MapPrototype::entries)
} }
// 24.1.3.5 Map.prototype.forEach ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-map.prototype.foreach // 24.1.3.5 Map.prototype.forEach ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-map.prototype.foreach
JS_DEFINE_NATIVE_FUNCTION(MapPrototype::for_each) JS_DEFINE_OLD_NATIVE_FUNCTION(MapPrototype::for_each)
{ {
auto* map = TRY_OR_DISCARD(typed_this_object(global_object)); auto* map = TRY_OR_DISCARD(typed_this_object(global_object));
if (!vm.argument(0).is_function()) { if (!vm.argument(0).is_function()) {
@ -83,7 +83,7 @@ JS_DEFINE_NATIVE_FUNCTION(MapPrototype::for_each)
} }
// 24.1.3.6 Map.prototype.get ( key ), https://tc39.es/ecma262/#sec-map.prototype.get // 24.1.3.6 Map.prototype.get ( key ), https://tc39.es/ecma262/#sec-map.prototype.get
JS_DEFINE_NATIVE_FUNCTION(MapPrototype::get) JS_DEFINE_OLD_NATIVE_FUNCTION(MapPrototype::get)
{ {
auto* map = TRY_OR_DISCARD(typed_this_object(global_object)); auto* map = TRY_OR_DISCARD(typed_this_object(global_object));
auto result = map->entries().get(vm.argument(0)); auto result = map->entries().get(vm.argument(0));
@ -93,7 +93,7 @@ JS_DEFINE_NATIVE_FUNCTION(MapPrototype::get)
} }
// 24.1.3.7 Map.prototype.has ( key ), https://tc39.es/ecma262/#sec-map.prototype.has // 24.1.3.7 Map.prototype.has ( key ), https://tc39.es/ecma262/#sec-map.prototype.has
JS_DEFINE_NATIVE_FUNCTION(MapPrototype::has) JS_DEFINE_OLD_NATIVE_FUNCTION(MapPrototype::has)
{ {
auto* map = TRY_OR_DISCARD(typed_this_object(global_object)); auto* map = TRY_OR_DISCARD(typed_this_object(global_object));
auto& entries = map->entries(); auto& entries = map->entries();
@ -101,7 +101,7 @@ JS_DEFINE_NATIVE_FUNCTION(MapPrototype::has)
} }
// 24.1.3.8 Map.prototype.keys ( ), https://tc39.es/ecma262/#sec-map.prototype.keys // 24.1.3.8 Map.prototype.keys ( ), https://tc39.es/ecma262/#sec-map.prototype.keys
JS_DEFINE_NATIVE_FUNCTION(MapPrototype::keys) JS_DEFINE_OLD_NATIVE_FUNCTION(MapPrototype::keys)
{ {
auto* map = TRY_OR_DISCARD(typed_this_object(global_object)); auto* map = TRY_OR_DISCARD(typed_this_object(global_object));
@ -109,7 +109,7 @@ JS_DEFINE_NATIVE_FUNCTION(MapPrototype::keys)
} }
// 24.1.3.9 Map.prototype.set ( key, value ), https://tc39.es/ecma262/#sec-map.prototype.set // 24.1.3.9 Map.prototype.set ( key, value ), https://tc39.es/ecma262/#sec-map.prototype.set
JS_DEFINE_NATIVE_FUNCTION(MapPrototype::set) JS_DEFINE_OLD_NATIVE_FUNCTION(MapPrototype::set)
{ {
auto* map = TRY_OR_DISCARD(typed_this_object(global_object)); auto* map = TRY_OR_DISCARD(typed_this_object(global_object));
auto key = vm.argument(0); auto key = vm.argument(0);
@ -120,7 +120,7 @@ JS_DEFINE_NATIVE_FUNCTION(MapPrototype::set)
} }
// 24.1.3.11 Map.prototype.values ( ), https://tc39.es/ecma262/#sec-map.prototype.values // 24.1.3.11 Map.prototype.values ( ), https://tc39.es/ecma262/#sec-map.prototype.values
JS_DEFINE_NATIVE_FUNCTION(MapPrototype::values) JS_DEFINE_OLD_NATIVE_FUNCTION(MapPrototype::values)
{ {
auto* map = TRY_OR_DISCARD(typed_this_object(global_object)); auto* map = TRY_OR_DISCARD(typed_this_object(global_object));
@ -128,7 +128,7 @@ JS_DEFINE_NATIVE_FUNCTION(MapPrototype::values)
} }
// 24.1.3.10 get Map.prototype.size, https://tc39.es/ecma262/#sec-get-map.prototype.size // 24.1.3.10 get Map.prototype.size, https://tc39.es/ecma262/#sec-get-map.prototype.size
JS_DEFINE_NATIVE_FUNCTION(MapPrototype::size_getter) JS_DEFINE_OLD_NATIVE_FUNCTION(MapPrototype::size_getter)
{ {
auto* map = TRY_OR_DISCARD(typed_this_object(global_object)); auto* map = TRY_OR_DISCARD(typed_this_object(global_object));
return Value(map->entries().size()); return Value(map->entries().size());

View file

@ -20,17 +20,17 @@ public:
virtual ~MapPrototype() override; virtual ~MapPrototype() override;
private: private:
JS_DECLARE_NATIVE_FUNCTION(clear); JS_DECLARE_OLD_NATIVE_FUNCTION(clear);
JS_DECLARE_NATIVE_FUNCTION(delete_); JS_DECLARE_OLD_NATIVE_FUNCTION(delete_);
JS_DECLARE_NATIVE_FUNCTION(entries); JS_DECLARE_OLD_NATIVE_FUNCTION(entries);
JS_DECLARE_NATIVE_FUNCTION(for_each); JS_DECLARE_OLD_NATIVE_FUNCTION(for_each);
JS_DECLARE_NATIVE_FUNCTION(get); JS_DECLARE_OLD_NATIVE_FUNCTION(get);
JS_DECLARE_NATIVE_FUNCTION(has); JS_DECLARE_OLD_NATIVE_FUNCTION(has);
JS_DECLARE_NATIVE_FUNCTION(keys); JS_DECLARE_OLD_NATIVE_FUNCTION(keys);
JS_DECLARE_NATIVE_FUNCTION(set); JS_DECLARE_OLD_NATIVE_FUNCTION(set);
JS_DECLARE_NATIVE_FUNCTION(values); JS_DECLARE_OLD_NATIVE_FUNCTION(values);
JS_DECLARE_NATIVE_FUNCTION(size_getter); JS_DECLARE_OLD_NATIVE_FUNCTION(size_getter);
}; };
} }

View file

@ -79,7 +79,7 @@ MathObject::~MathObject()
} }
// 21.3.2.1 Math.abs ( x ), https://tc39.es/ecma262/#sec-math.abs // 21.3.2.1 Math.abs ( x ), https://tc39.es/ecma262/#sec-math.abs
JS_DEFINE_NATIVE_FUNCTION(MathObject::abs) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::abs)
{ {
auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)); auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object));
if (number.is_nan()) if (number.is_nan())
@ -92,14 +92,14 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::abs)
} }
// 21.3.2.27 Math.random ( ), https://tc39.es/ecma262/#sec-math.random // 21.3.2.27 Math.random ( ), https://tc39.es/ecma262/#sec-math.random
JS_DEFINE_NATIVE_FUNCTION(MathObject::random) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::random)
{ {
double r = (double)get_random<u32>() / (double)UINT32_MAX; double r = (double)get_random<u32>() / (double)UINT32_MAX;
return Value(r); return Value(r);
} }
// 21.3.2.32 Math.sqrt ( x ), https://tc39.es/ecma262/#sec-math.sqrt // 21.3.2.32 Math.sqrt ( x ), https://tc39.es/ecma262/#sec-math.sqrt
JS_DEFINE_NATIVE_FUNCTION(MathObject::sqrt) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::sqrt)
{ {
auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)); auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object));
if (number.is_nan()) if (number.is_nan())
@ -108,7 +108,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::sqrt)
} }
// 21.3.2.16 Math.floor ( x ), https://tc39.es/ecma262/#sec-math.floor // 21.3.2.16 Math.floor ( x ), https://tc39.es/ecma262/#sec-math.floor
JS_DEFINE_NATIVE_FUNCTION(MathObject::floor) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::floor)
{ {
auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)); auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object));
if (number.is_nan()) if (number.is_nan())
@ -117,7 +117,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::floor)
} }
// 21.3.2.10 Math.ceil ( x ), https://tc39.es/ecma262/#sec-math.ceil // 21.3.2.10 Math.ceil ( x ), https://tc39.es/ecma262/#sec-math.ceil
JS_DEFINE_NATIVE_FUNCTION(MathObject::ceil) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::ceil)
{ {
auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)); auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object));
if (number.is_nan()) if (number.is_nan())
@ -129,7 +129,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::ceil)
} }
// 21.3.2.28 Math.round ( x ), https://tc39.es/ecma262/#sec-math.round // 21.3.2.28 Math.round ( x ), https://tc39.es/ecma262/#sec-math.round
JS_DEFINE_NATIVE_FUNCTION(MathObject::round) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::round)
{ {
auto value = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)).as_double(); auto value = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)).as_double();
double integer = ::ceil(value); double integer = ::ceil(value);
@ -139,7 +139,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::round)
} }
// 21.3.2.24 Math.max ( ...args ), https://tc39.es/ecma262/#sec-math.max // 21.3.2.24 Math.max ( ...args ), https://tc39.es/ecma262/#sec-math.max
JS_DEFINE_NATIVE_FUNCTION(MathObject::max) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::max)
{ {
Vector<Value> coerced; Vector<Value> coerced;
for (size_t i = 0; i < vm.argument_count(); ++i) for (size_t i = 0; i < vm.argument_count(); ++i)
@ -156,7 +156,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::max)
} }
// 21.3.2.25 Math.min ( ...args ), https://tc39.es/ecma262/#sec-math.min // 21.3.2.25 Math.min ( ...args ), https://tc39.es/ecma262/#sec-math.min
JS_DEFINE_NATIVE_FUNCTION(MathObject::min) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::min)
{ {
Vector<Value> coerced; Vector<Value> coerced;
for (size_t i = 0; i < vm.argument_count(); ++i) for (size_t i = 0; i < vm.argument_count(); ++i)
@ -173,7 +173,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::min)
} }
// 21.3.2.35 Math.trunc ( x ), https://tc39.es/ecma262/#sec-math.trunc // 21.3.2.35 Math.trunc ( x ), https://tc39.es/ecma262/#sec-math.trunc
JS_DEFINE_NATIVE_FUNCTION(MathObject::trunc) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::trunc)
{ {
auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)); auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object));
if (number.is_nan()) if (number.is_nan())
@ -184,7 +184,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::trunc)
} }
// 21.3.2.30 Math.sin ( x ), https://tc39.es/ecma262/#sec-math.sin // 21.3.2.30 Math.sin ( x ), https://tc39.es/ecma262/#sec-math.sin
JS_DEFINE_NATIVE_FUNCTION(MathObject::sin) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::sin)
{ {
auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)); auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object));
if (number.is_nan()) if (number.is_nan())
@ -193,7 +193,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::sin)
} }
// 21.3.2.12 Math.cos ( x ), https://tc39.es/ecma262/#sec-math.cos // 21.3.2.12 Math.cos ( x ), https://tc39.es/ecma262/#sec-math.cos
JS_DEFINE_NATIVE_FUNCTION(MathObject::cos) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::cos)
{ {
auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)); auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object));
if (number.is_nan()) if (number.is_nan())
@ -202,7 +202,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::cos)
} }
// 21.3.2.33 Math.tan ( x ), https://tc39.es/ecma262/#sec-math.tan // 21.3.2.33 Math.tan ( x ), https://tc39.es/ecma262/#sec-math.tan
JS_DEFINE_NATIVE_FUNCTION(MathObject::tan) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::tan)
{ {
auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)); auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object));
if (number.is_nan()) if (number.is_nan())
@ -211,7 +211,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::tan)
} }
// 21.3.2.26 Math.pow ( base, exponent ), https://tc39.es/ecma262/#sec-math.pow // 21.3.2.26 Math.pow ( base, exponent ), https://tc39.es/ecma262/#sec-math.pow
JS_DEFINE_NATIVE_FUNCTION(MathObject::pow) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::pow)
{ {
auto base = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)); auto base = TRY_OR_DISCARD(vm.argument(0).to_number(global_object));
auto exponent = TRY_OR_DISCARD(vm.argument(1).to_number(global_object)); auto exponent = TRY_OR_DISCARD(vm.argument(1).to_number(global_object));
@ -265,7 +265,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::pow)
} }
// 21.3.2.14 Math.exp ( x ), https://tc39.es/ecma262/#sec-math.exp // 21.3.2.14 Math.exp ( x ), https://tc39.es/ecma262/#sec-math.exp
JS_DEFINE_NATIVE_FUNCTION(MathObject::exp) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::exp)
{ {
auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)); auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object));
if (number.is_nan()) if (number.is_nan())
@ -274,7 +274,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::exp)
} }
// 21.3.2.15 Math.expm1 ( x ), https://tc39.es/ecma262/#sec-math.expm1 // 21.3.2.15 Math.expm1 ( x ), https://tc39.es/ecma262/#sec-math.expm1
JS_DEFINE_NATIVE_FUNCTION(MathObject::expm1) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::expm1)
{ {
auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)); auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object));
if (number.is_nan()) if (number.is_nan())
@ -283,7 +283,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::expm1)
} }
// 21.3.2.29 Math.sign ( x ), https://tc39.es/ecma262/#sec-math.sign // 21.3.2.29 Math.sign ( x ), https://tc39.es/ecma262/#sec-math.sign
JS_DEFINE_NATIVE_FUNCTION(MathObject::sign) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::sign)
{ {
auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)); auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object));
if (number.is_positive_zero()) if (number.is_positive_zero())
@ -298,7 +298,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::sign)
} }
// 21.3.2.11 Math.clz32 ( x ), https://tc39.es/ecma262/#sec-math.clz32 // 21.3.2.11 Math.clz32 ( x ), https://tc39.es/ecma262/#sec-math.clz32
JS_DEFINE_NATIVE_FUNCTION(MathObject::clz32) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::clz32)
{ {
auto number = TRY_OR_DISCARD(vm.argument(0).to_u32(global_object)); auto number = TRY_OR_DISCARD(vm.argument(0).to_u32(global_object));
if (number == 0) if (number == 0)
@ -307,7 +307,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::clz32)
} }
// 21.3.2.2 Math.acos ( x ), https://tc39.es/ecma262/#sec-math.acos // 21.3.2.2 Math.acos ( x ), https://tc39.es/ecma262/#sec-math.acos
JS_DEFINE_NATIVE_FUNCTION(MathObject::acos) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::acos)
{ {
auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)); auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object));
if (number.is_nan() || number.as_double() > 1 || number.as_double() < -1) if (number.is_nan() || number.as_double() > 1 || number.as_double() < -1)
@ -318,7 +318,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::acos)
} }
// 21.3.2.3 Math.acosh ( x ), https://tc39.es/ecma262/#sec-math.acosh // 21.3.2.3 Math.acosh ( x ), https://tc39.es/ecma262/#sec-math.acosh
JS_DEFINE_NATIVE_FUNCTION(MathObject::acosh) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::acosh)
{ {
auto value = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)).as_double(); auto value = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)).as_double();
if (value < 1) if (value < 1)
@ -327,7 +327,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::acosh)
} }
// 21.3.2.4 Math.asin ( x ), https://tc39.es/ecma262/#sec-math.asin // 21.3.2.4 Math.asin ( x ), https://tc39.es/ecma262/#sec-math.asin
JS_DEFINE_NATIVE_FUNCTION(MathObject::asin) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::asin)
{ {
auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)); auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object));
if (number.is_nan() || number.is_positive_zero() || number.is_negative_zero()) if (number.is_nan() || number.is_positive_zero() || number.is_negative_zero())
@ -336,13 +336,13 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::asin)
} }
// 21.3.2.5 Math.asinh ( x ), https://tc39.es/ecma262/#sec-math.asinh // 21.3.2.5 Math.asinh ( x ), https://tc39.es/ecma262/#sec-math.asinh
JS_DEFINE_NATIVE_FUNCTION(MathObject::asinh) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::asinh)
{ {
return Value(::asinh(TRY_OR_DISCARD(vm.argument(0).to_number(global_object)).as_double())); return Value(::asinh(TRY_OR_DISCARD(vm.argument(0).to_number(global_object)).as_double()));
} }
// 21.3.2.6 Math.atan ( x ), https://tc39.es/ecma262/#sec-math.atan // 21.3.2.6 Math.atan ( x ), https://tc39.es/ecma262/#sec-math.atan
JS_DEFINE_NATIVE_FUNCTION(MathObject::atan) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::atan)
{ {
auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)); auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object));
if (number.is_nan() || number.is_positive_zero() || number.is_negative_zero()) if (number.is_nan() || number.is_positive_zero() || number.is_negative_zero())
@ -355,7 +355,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::atan)
} }
// 21.3.2.7 Math.atanh ( x ), https://tc39.es/ecma262/#sec-math.atanh // 21.3.2.7 Math.atanh ( x ), https://tc39.es/ecma262/#sec-math.atanh
JS_DEFINE_NATIVE_FUNCTION(MathObject::atanh) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::atanh)
{ {
auto value = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)).as_double(); auto value = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)).as_double();
if (value > 1 || value < -1) if (value > 1 || value < -1)
@ -364,7 +364,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::atanh)
} }
// 21.3.2.21 Math.log1p ( x ), https://tc39.es/ecma262/#sec-math.log1p // 21.3.2.21 Math.log1p ( x ), https://tc39.es/ecma262/#sec-math.log1p
JS_DEFINE_NATIVE_FUNCTION(MathObject::log1p) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::log1p)
{ {
auto value = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)).as_double(); auto value = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)).as_double();
if (value < -1) if (value < -1)
@ -373,13 +373,13 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::log1p)
} }
// 21.3.2.9 Math.cbrt ( x ), https://tc39.es/ecma262/#sec-math.cbrt // 21.3.2.9 Math.cbrt ( x ), https://tc39.es/ecma262/#sec-math.cbrt
JS_DEFINE_NATIVE_FUNCTION(MathObject::cbrt) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::cbrt)
{ {
return Value(::cbrt(TRY_OR_DISCARD(vm.argument(0).to_number(global_object)).as_double())); return Value(::cbrt(TRY_OR_DISCARD(vm.argument(0).to_number(global_object)).as_double()));
} }
// 21.3.2.8 Math.atan2 ( y, x ), https://tc39.es/ecma262/#sec-math.atan2 // 21.3.2.8 Math.atan2 ( y, x ), https://tc39.es/ecma262/#sec-math.atan2
JS_DEFINE_NATIVE_FUNCTION(MathObject::atan2) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::atan2)
{ {
auto constexpr three_quarters_pi = M_PI_4 + M_PI_2; auto constexpr three_quarters_pi = M_PI_4 + M_PI_2;
@ -438,7 +438,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::atan2)
} }
// 21.3.2.17 Math.fround ( x ), https://tc39.es/ecma262/#sec-math.fround // 21.3.2.17 Math.fround ( x ), https://tc39.es/ecma262/#sec-math.fround
JS_DEFINE_NATIVE_FUNCTION(MathObject::fround) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::fround)
{ {
auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)); auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object));
if (number.is_nan()) if (number.is_nan())
@ -447,7 +447,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::fround)
} }
// 21.3.2.18 Math.hypot ( ...args ), https://tc39.es/ecma262/#sec-math.hypot // 21.3.2.18 Math.hypot ( ...args ), https://tc39.es/ecma262/#sec-math.hypot
JS_DEFINE_NATIVE_FUNCTION(MathObject::hypot) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::hypot)
{ {
Vector<Value> coerced; Vector<Value> coerced;
for (size_t i = 0; i < vm.argument_count(); ++i) for (size_t i = 0; i < vm.argument_count(); ++i)
@ -475,7 +475,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::hypot)
} }
// 21.3.2.19 Math.imul ( x, y ), https://tc39.es/ecma262/#sec-math.imul // 21.3.2.19 Math.imul ( x, y ), https://tc39.es/ecma262/#sec-math.imul
JS_DEFINE_NATIVE_FUNCTION(MathObject::imul) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::imul)
{ {
auto a = TRY_OR_DISCARD(vm.argument(0).to_u32(global_object)); auto a = TRY_OR_DISCARD(vm.argument(0).to_u32(global_object));
auto b = TRY_OR_DISCARD(vm.argument(1).to_u32(global_object)); auto b = TRY_OR_DISCARD(vm.argument(1).to_u32(global_object));
@ -483,7 +483,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::imul)
} }
// 21.3.2.20 Math.log ( x ), https://tc39.es/ecma262/#sec-math.log // 21.3.2.20 Math.log ( x ), https://tc39.es/ecma262/#sec-math.log
JS_DEFINE_NATIVE_FUNCTION(MathObject::log) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::log)
{ {
auto value = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)).as_double(); auto value = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)).as_double();
if (value < 0) if (value < 0)
@ -492,7 +492,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::log)
} }
// 21.3.2.23 Math.log2 ( x ), https://tc39.es/ecma262/#sec-math.log2 // 21.3.2.23 Math.log2 ( x ), https://tc39.es/ecma262/#sec-math.log2
JS_DEFINE_NATIVE_FUNCTION(MathObject::log2) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::log2)
{ {
auto value = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)).as_double(); auto value = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)).as_double();
if (value < 0) if (value < 0)
@ -501,7 +501,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::log2)
} }
// 21.3.2.22 Math.log10 ( x ), https://tc39.es/ecma262/#sec-math.log10 // 21.3.2.22 Math.log10 ( x ), https://tc39.es/ecma262/#sec-math.log10
JS_DEFINE_NATIVE_FUNCTION(MathObject::log10) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::log10)
{ {
auto value = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)).as_double(); auto value = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)).as_double();
if (value < 0) if (value < 0)
@ -510,7 +510,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::log10)
} }
// 21.3.2.31 Math.sinh ( x ), https://tc39.es/ecma262/#sec-math.sinh // 21.3.2.31 Math.sinh ( x ), https://tc39.es/ecma262/#sec-math.sinh
JS_DEFINE_NATIVE_FUNCTION(MathObject::sinh) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::sinh)
{ {
auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)); auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object));
if (number.is_nan()) if (number.is_nan())
@ -519,7 +519,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::sinh)
} }
// 21.3.2.13 Math.cosh ( x ), https://tc39.es/ecma262/#sec-math.cosh // 21.3.2.13 Math.cosh ( x ), https://tc39.es/ecma262/#sec-math.cosh
JS_DEFINE_NATIVE_FUNCTION(MathObject::cosh) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::cosh)
{ {
auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)); auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object));
if (number.is_nan()) if (number.is_nan())
@ -528,7 +528,7 @@ JS_DEFINE_NATIVE_FUNCTION(MathObject::cosh)
} }
// 21.3.2.34 Math.tanh ( x ), https://tc39.es/ecma262/#sec-math.tanh // 21.3.2.34 Math.tanh ( x ), https://tc39.es/ecma262/#sec-math.tanh
JS_DEFINE_NATIVE_FUNCTION(MathObject::tanh) JS_DEFINE_OLD_NATIVE_FUNCTION(MathObject::tanh)
{ {
auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object)); auto number = TRY_OR_DISCARD(vm.argument(0).to_number(global_object));
if (number.is_nan()) if (number.is_nan())

View file

@ -19,41 +19,41 @@ public:
virtual ~MathObject() override; virtual ~MathObject() override;
private: private:
JS_DECLARE_NATIVE_FUNCTION(abs); JS_DECLARE_OLD_NATIVE_FUNCTION(abs);
JS_DECLARE_NATIVE_FUNCTION(random); JS_DECLARE_OLD_NATIVE_FUNCTION(random);
JS_DECLARE_NATIVE_FUNCTION(sqrt); JS_DECLARE_OLD_NATIVE_FUNCTION(sqrt);
JS_DECLARE_NATIVE_FUNCTION(floor); JS_DECLARE_OLD_NATIVE_FUNCTION(floor);
JS_DECLARE_NATIVE_FUNCTION(ceil); JS_DECLARE_OLD_NATIVE_FUNCTION(ceil);
JS_DECLARE_NATIVE_FUNCTION(round); JS_DECLARE_OLD_NATIVE_FUNCTION(round);
JS_DECLARE_NATIVE_FUNCTION(max); JS_DECLARE_OLD_NATIVE_FUNCTION(max);
JS_DECLARE_NATIVE_FUNCTION(min); JS_DECLARE_OLD_NATIVE_FUNCTION(min);
JS_DECLARE_NATIVE_FUNCTION(trunc); JS_DECLARE_OLD_NATIVE_FUNCTION(trunc);
JS_DECLARE_NATIVE_FUNCTION(sin); JS_DECLARE_OLD_NATIVE_FUNCTION(sin);
JS_DECLARE_NATIVE_FUNCTION(cos); JS_DECLARE_OLD_NATIVE_FUNCTION(cos);
JS_DECLARE_NATIVE_FUNCTION(tan); JS_DECLARE_OLD_NATIVE_FUNCTION(tan);
JS_DECLARE_NATIVE_FUNCTION(pow); JS_DECLARE_OLD_NATIVE_FUNCTION(pow);
JS_DECLARE_NATIVE_FUNCTION(exp); JS_DECLARE_OLD_NATIVE_FUNCTION(exp);
JS_DECLARE_NATIVE_FUNCTION(expm1); JS_DECLARE_OLD_NATIVE_FUNCTION(expm1);
JS_DECLARE_NATIVE_FUNCTION(sign); JS_DECLARE_OLD_NATIVE_FUNCTION(sign);
JS_DECLARE_NATIVE_FUNCTION(clz32); JS_DECLARE_OLD_NATIVE_FUNCTION(clz32);
JS_DECLARE_NATIVE_FUNCTION(acos); JS_DECLARE_OLD_NATIVE_FUNCTION(acos);
JS_DECLARE_NATIVE_FUNCTION(acosh); JS_DECLARE_OLD_NATIVE_FUNCTION(acosh);
JS_DECLARE_NATIVE_FUNCTION(asin); JS_DECLARE_OLD_NATIVE_FUNCTION(asin);
JS_DECLARE_NATIVE_FUNCTION(asinh); JS_DECLARE_OLD_NATIVE_FUNCTION(asinh);
JS_DECLARE_NATIVE_FUNCTION(atan); JS_DECLARE_OLD_NATIVE_FUNCTION(atan);
JS_DECLARE_NATIVE_FUNCTION(atanh); JS_DECLARE_OLD_NATIVE_FUNCTION(atanh);
JS_DECLARE_NATIVE_FUNCTION(log1p); JS_DECLARE_OLD_NATIVE_FUNCTION(log1p);
JS_DECLARE_NATIVE_FUNCTION(cbrt); JS_DECLARE_OLD_NATIVE_FUNCTION(cbrt);
JS_DECLARE_NATIVE_FUNCTION(atan2); JS_DECLARE_OLD_NATIVE_FUNCTION(atan2);
JS_DECLARE_NATIVE_FUNCTION(fround); JS_DECLARE_OLD_NATIVE_FUNCTION(fround);
JS_DECLARE_NATIVE_FUNCTION(hypot); JS_DECLARE_OLD_NATIVE_FUNCTION(hypot);
JS_DECLARE_NATIVE_FUNCTION(imul); JS_DECLARE_OLD_NATIVE_FUNCTION(imul);
JS_DECLARE_NATIVE_FUNCTION(log); JS_DECLARE_OLD_NATIVE_FUNCTION(log);
JS_DECLARE_NATIVE_FUNCTION(log2); JS_DECLARE_OLD_NATIVE_FUNCTION(log2);
JS_DECLARE_NATIVE_FUNCTION(log10); JS_DECLARE_OLD_NATIVE_FUNCTION(log10);
JS_DECLARE_NATIVE_FUNCTION(sinh); JS_DECLARE_OLD_NATIVE_FUNCTION(sinh);
JS_DECLARE_NATIVE_FUNCTION(cosh); JS_DECLARE_OLD_NATIVE_FUNCTION(cosh);
JS_DECLARE_NATIVE_FUNCTION(tanh); JS_DECLARE_OLD_NATIVE_FUNCTION(tanh);
}; };
} }

View file

@ -105,25 +105,25 @@ Value NumberConstructor::construct(FunctionObject& new_target)
} }
// 21.1.2.2 Number.isFinite ( number ), https://tc39.es/ecma262/#sec-number.isfinite // 21.1.2.2 Number.isFinite ( number ), https://tc39.es/ecma262/#sec-number.isfinite
JS_DEFINE_NATIVE_FUNCTION(NumberConstructor::is_finite) JS_DEFINE_OLD_NATIVE_FUNCTION(NumberConstructor::is_finite)
{ {
return Value(vm.argument(0).is_finite_number()); return Value(vm.argument(0).is_finite_number());
} }
// 21.1.2.3 Number.isInteger ( number ), https://tc39.es/ecma262/#sec-number.isinteger // 21.1.2.3 Number.isInteger ( number ), https://tc39.es/ecma262/#sec-number.isinteger
JS_DEFINE_NATIVE_FUNCTION(NumberConstructor::is_integer) JS_DEFINE_OLD_NATIVE_FUNCTION(NumberConstructor::is_integer)
{ {
return Value(vm.argument(0).is_integral_number()); return Value(vm.argument(0).is_integral_number());
} }
// 21.1.2.4 Number.isNaN ( number ), https://tc39.es/ecma262/#sec-number.isnan // 21.1.2.4 Number.isNaN ( number ), https://tc39.es/ecma262/#sec-number.isnan
JS_DEFINE_NATIVE_FUNCTION(NumberConstructor::is_nan) JS_DEFINE_OLD_NATIVE_FUNCTION(NumberConstructor::is_nan)
{ {
return Value(vm.argument(0).is_nan()); return Value(vm.argument(0).is_nan());
} }
// 21.1.2.5 Number.isSafeInteger ( number ), https://tc39.es/ecma262/#sec-number.issafeinteger // 21.1.2.5 Number.isSafeInteger ( number ), https://tc39.es/ecma262/#sec-number.issafeinteger
JS_DEFINE_NATIVE_FUNCTION(NumberConstructor::is_safe_integer) JS_DEFINE_OLD_NATIVE_FUNCTION(NumberConstructor::is_safe_integer)
{ {
if (!vm.argument(0).is_number()) if (!vm.argument(0).is_number())
return Value(false); return Value(false);

View file

@ -24,10 +24,10 @@ public:
private: private:
virtual bool has_constructor() const override { return true; } virtual bool has_constructor() const override { return true; }
JS_DECLARE_NATIVE_FUNCTION(is_finite); JS_DECLARE_OLD_NATIVE_FUNCTION(is_finite);
JS_DECLARE_NATIVE_FUNCTION(is_integer); JS_DECLARE_OLD_NATIVE_FUNCTION(is_integer);
JS_DECLARE_NATIVE_FUNCTION(is_nan); JS_DECLARE_OLD_NATIVE_FUNCTION(is_nan);
JS_DECLARE_NATIVE_FUNCTION(is_safe_integer); JS_DECLARE_OLD_NATIVE_FUNCTION(is_safe_integer);
}; };
} }

View file

@ -57,7 +57,7 @@ static ThrowCompletionOr<Value> this_number_value(GlobalObject& global_object, V
} }
// 21.1.3.3 Number.prototype.toFixed ( fractionDigits ), https://tc39.es/ecma262/#sec-number.prototype.tofixed // 21.1.3.3 Number.prototype.toFixed ( fractionDigits ), https://tc39.es/ecma262/#sec-number.prototype.tofixed
JS_DEFINE_NATIVE_FUNCTION(NumberPrototype::to_fixed) JS_DEFINE_OLD_NATIVE_FUNCTION(NumberPrototype::to_fixed)
{ {
auto number_value = TRY_OR_DISCARD(this_number_value(global_object, vm.this_value(global_object))); auto number_value = TRY_OR_DISCARD(this_number_value(global_object, vm.this_value(global_object)));
auto fraction_digits = TRY_OR_DISCARD(vm.argument(0).to_integer_or_infinity(global_object)); auto fraction_digits = TRY_OR_DISCARD(vm.argument(0).to_integer_or_infinity(global_object));
@ -82,7 +82,7 @@ JS_DEFINE_NATIVE_FUNCTION(NumberPrototype::to_fixed)
} }
// 21.1.3.6 Number.prototype.toString ( [ radix ] ), https://tc39.es/ecma262/#sec-number.prototype.tostring // 21.1.3.6 Number.prototype.toString ( [ radix ] ), https://tc39.es/ecma262/#sec-number.prototype.tostring
JS_DEFINE_NATIVE_FUNCTION(NumberPrototype::to_string) JS_DEFINE_OLD_NATIVE_FUNCTION(NumberPrototype::to_string)
{ {
auto number_value = TRY_OR_DISCARD(this_number_value(global_object, vm.this_value(global_object))); auto number_value = TRY_OR_DISCARD(this_number_value(global_object, vm.this_value(global_object)));
double radix_argument = 10; double radix_argument = 10;
@ -154,7 +154,7 @@ JS_DEFINE_NATIVE_FUNCTION(NumberPrototype::to_string)
} }
// 21.1.3.7 Number.prototype.valueOf ( ), https://tc39.es/ecma262/#sec-number.prototype.valueof // 21.1.3.7 Number.prototype.valueOf ( ), https://tc39.es/ecma262/#sec-number.prototype.valueof
JS_DEFINE_NATIVE_FUNCTION(NumberPrototype::value_of) JS_DEFINE_OLD_NATIVE_FUNCTION(NumberPrototype::value_of)
{ {
return TRY_OR_DISCARD(this_number_value(global_object, vm.this_value(global_object))); return TRY_OR_DISCARD(this_number_value(global_object, vm.this_value(global_object)));
} }

View file

@ -18,9 +18,9 @@ public:
virtual void initialize(GlobalObject&) override; virtual void initialize(GlobalObject&) override;
virtual ~NumberPrototype() override; virtual ~NumberPrototype() override;
JS_DECLARE_NATIVE_FUNCTION(to_fixed); JS_DECLARE_OLD_NATIVE_FUNCTION(to_fixed);
JS_DECLARE_NATIVE_FUNCTION(to_string); JS_DECLARE_OLD_NATIVE_FUNCTION(to_string);
JS_DECLARE_NATIVE_FUNCTION(value_of); JS_DECLARE_OLD_NATIVE_FUNCTION(value_of);
}; };
} }

View file

@ -114,21 +114,21 @@ static Array* get_own_property_keys(GlobalObject& global_object, Value value, Ge
} }
// 20.1.2.10 Object.getOwnPropertyNames ( O ), https://tc39.es/ecma262/#sec-object.getownpropertynames // 20.1.2.10 Object.getOwnPropertyNames ( O ), https://tc39.es/ecma262/#sec-object.getownpropertynames
JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::get_own_property_names) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectConstructor::get_own_property_names)
{ {
// 1. Return ? GetOwnPropertyKeys(O, string). // 1. Return ? GetOwnPropertyKeys(O, string).
return get_own_property_keys(global_object, vm.argument(0), GetOwnPropertyKeysType::String); return get_own_property_keys(global_object, vm.argument(0), GetOwnPropertyKeysType::String);
} }
// 20.1.2.11 Object.getOwnPropertySymbols ( O ), https://tc39.es/ecma262/#sec-object.getownpropertysymbols // 20.1.2.11 Object.getOwnPropertySymbols ( O ), https://tc39.es/ecma262/#sec-object.getownpropertysymbols
JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::get_own_property_symbols) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectConstructor::get_own_property_symbols)
{ {
// 1. Return ? GetOwnPropertyKeys(O, symbol). // 1. Return ? GetOwnPropertyKeys(O, symbol).
return get_own_property_keys(global_object, vm.argument(0), GetOwnPropertyKeysType::Symbol); return get_own_property_keys(global_object, vm.argument(0), GetOwnPropertyKeysType::Symbol);
} }
// 20.1.2.12 Object.getPrototypeOf ( O ), https://tc39.es/ecma262/#sec-object.getprototypeof // 20.1.2.12 Object.getPrototypeOf ( O ), https://tc39.es/ecma262/#sec-object.getprototypeof
JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::get_prototype_of) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectConstructor::get_prototype_of)
{ {
// 1. Let obj be ? ToObject(O). // 1. Let obj be ? ToObject(O).
auto* object = TRY_OR_DISCARD(vm.argument(0).to_object(global_object)); auto* object = TRY_OR_DISCARD(vm.argument(0).to_object(global_object));
@ -138,7 +138,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::get_prototype_of)
} }
// 20.1.2.21 Object.setPrototypeOf ( O, proto ), https://tc39.es/ecma262/#sec-object.setprototypeof // 20.1.2.21 Object.setPrototypeOf ( O, proto ), https://tc39.es/ecma262/#sec-object.setprototypeof
JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::set_prototype_of) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectConstructor::set_prototype_of)
{ {
auto proto = vm.argument(1); auto proto = vm.argument(1);
@ -170,7 +170,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::set_prototype_of)
} }
// 20.1.2.14 Object.isExtensible ( O ), https://tc39.es/ecma262/#sec-object.isextensible // 20.1.2.14 Object.isExtensible ( O ), https://tc39.es/ecma262/#sec-object.isextensible
JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::is_extensible) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectConstructor::is_extensible)
{ {
auto argument = vm.argument(0); auto argument = vm.argument(0);
if (!argument.is_object()) if (!argument.is_object())
@ -179,7 +179,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::is_extensible)
} }
// 20.1.2.15 Object.isFrozen ( O ), https://tc39.es/ecma262/#sec-object.isfrozen // 20.1.2.15 Object.isFrozen ( O ), https://tc39.es/ecma262/#sec-object.isfrozen
JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::is_frozen) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectConstructor::is_frozen)
{ {
auto argument = vm.argument(0); auto argument = vm.argument(0);
if (!argument.is_object()) if (!argument.is_object())
@ -188,7 +188,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::is_frozen)
} }
// 20.1.2.16 Object.isSealed ( O ), https://tc39.es/ecma262/#sec-object.issealed // 20.1.2.16 Object.isSealed ( O ), https://tc39.es/ecma262/#sec-object.issealed
JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::is_sealed) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectConstructor::is_sealed)
{ {
auto argument = vm.argument(0); auto argument = vm.argument(0);
if (!argument.is_object()) if (!argument.is_object())
@ -197,7 +197,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::is_sealed)
} }
// 20.1.2.18 Object.preventExtensions ( O ), https://tc39.es/ecma262/#sec-object.preventextensions // 20.1.2.18 Object.preventExtensions ( O ), https://tc39.es/ecma262/#sec-object.preventextensions
JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::prevent_extensions) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectConstructor::prevent_extensions)
{ {
auto argument = vm.argument(0); auto argument = vm.argument(0);
if (!argument.is_object()) if (!argument.is_object())
@ -212,7 +212,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::prevent_extensions)
} }
// 20.1.2.6 Object.freeze ( O ), https://tc39.es/ecma262/#sec-object.freeze // 20.1.2.6 Object.freeze ( O ), https://tc39.es/ecma262/#sec-object.freeze
JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::freeze) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectConstructor::freeze)
{ {
auto argument = vm.argument(0); auto argument = vm.argument(0);
if (!argument.is_object()) if (!argument.is_object())
@ -226,7 +226,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::freeze)
} }
// 20.1.2.7 Object.fromEntries ( iterable ), https://tc39.es/ecma262/#sec-object.fromentries // 20.1.2.7 Object.fromEntries ( iterable ), https://tc39.es/ecma262/#sec-object.fromentries
JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::from_entries) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectConstructor::from_entries)
{ {
auto iterable = TRY_OR_DISCARD(require_object_coercible(global_object, vm.argument(0))); auto iterable = TRY_OR_DISCARD(require_object_coercible(global_object, vm.argument(0)));
@ -261,7 +261,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::from_entries)
} }
// 20.1.2.20 Object.seal ( O ), https://tc39.es/ecma262/#sec-object.seal // 20.1.2.20 Object.seal ( O ), https://tc39.es/ecma262/#sec-object.seal
JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::seal) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectConstructor::seal)
{ {
auto argument = vm.argument(0); auto argument = vm.argument(0);
if (!argument.is_object()) if (!argument.is_object())
@ -275,7 +275,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::seal)
} }
// 20.1.2.8 Object.getOwnPropertyDescriptor ( O, P ), https://tc39.es/ecma262/#sec-object.getownpropertydescriptor // 20.1.2.8 Object.getOwnPropertyDescriptor ( O, P ), https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::get_own_property_descriptor) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectConstructor::get_own_property_descriptor)
{ {
auto* object = TRY_OR_DISCARD(vm.argument(0).to_object(global_object)); auto* object = TRY_OR_DISCARD(vm.argument(0).to_object(global_object));
auto key = TRY_OR_DISCARD(vm.argument(1).to_property_key(global_object)); auto key = TRY_OR_DISCARD(vm.argument(1).to_property_key(global_object));
@ -284,7 +284,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::get_own_property_descriptor)
} }
// 20.1.2.9 Object.getOwnPropertyDescriptors ( O ), https://tc39.es/ecma262/#sec-object.getownpropertydescriptors // 20.1.2.9 Object.getOwnPropertyDescriptors ( O ), https://tc39.es/ecma262/#sec-object.getownpropertydescriptors
JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::get_own_property_descriptors) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectConstructor::get_own_property_descriptors)
{ {
// 1. Let obj be ? ToObject(O). // 1. Let obj be ? ToObject(O).
auto* object = TRY_OR_DISCARD(vm.argument(0).to_object(global_object)); auto* object = TRY_OR_DISCARD(vm.argument(0).to_object(global_object));
@ -315,7 +315,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::get_own_property_descriptors)
} }
// 20.1.2.4 Object.defineProperty ( O, P, Attributes ), https://tc39.es/ecma262/#sec-object.defineproperty // 20.1.2.4 Object.defineProperty ( O, P, Attributes ), https://tc39.es/ecma262/#sec-object.defineproperty
JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::define_property) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectConstructor::define_property)
{ {
if (!vm.argument(0).is_object()) { if (!vm.argument(0).is_object()) {
vm.throw_exception<TypeError>(global_object, ErrorType::NotAnObject, vm.argument(0).to_string_without_side_effects()); vm.throw_exception<TypeError>(global_object, ErrorType::NotAnObject, vm.argument(0).to_string_without_side_effects());
@ -328,7 +328,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::define_property)
} }
// 20.1.2.3 Object.defineProperties ( O, Properties ), https://tc39.es/ecma262/#sec-object.defineproperties // 20.1.2.3 Object.defineProperties ( O, Properties ), https://tc39.es/ecma262/#sec-object.defineproperties
JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::define_properties) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectConstructor::define_properties)
{ {
auto object = vm.argument(0); auto object = vm.argument(0);
auto properties = vm.argument(1); auto properties = vm.argument(1);
@ -344,13 +344,13 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::define_properties)
} }
// 20.1.2.13 Object.is ( value1, value2 ), https://tc39.es/ecma262/#sec-object.is // 20.1.2.13 Object.is ( value1, value2 ), https://tc39.es/ecma262/#sec-object.is
JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::is) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectConstructor::is)
{ {
return Value(same_value(vm.argument(0), vm.argument(1))); return Value(same_value(vm.argument(0), vm.argument(1)));
} }
// 20.1.2.17 Object.keys ( O ), https://tc39.es/ecma262/#sec-object.keys // 20.1.2.17 Object.keys ( O ), https://tc39.es/ecma262/#sec-object.keys
JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::keys) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectConstructor::keys)
{ {
auto* object = TRY_OR_DISCARD(vm.argument(0).to_object(global_object)); auto* object = TRY_OR_DISCARD(vm.argument(0).to_object(global_object));
auto name_list = TRY_OR_DISCARD(object->enumerable_own_property_names(PropertyKind::Key)); auto name_list = TRY_OR_DISCARD(object->enumerable_own_property_names(PropertyKind::Key));
@ -358,7 +358,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::keys)
} }
// 20.1.2.22 Object.values ( O ), https://tc39.es/ecma262/#sec-object.values // 20.1.2.22 Object.values ( O ), https://tc39.es/ecma262/#sec-object.values
JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::values) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectConstructor::values)
{ {
auto* object = TRY_OR_DISCARD(vm.argument(0).to_object(global_object)); auto* object = TRY_OR_DISCARD(vm.argument(0).to_object(global_object));
auto name_list = TRY_OR_DISCARD(object->enumerable_own_property_names(PropertyKind::Value)); auto name_list = TRY_OR_DISCARD(object->enumerable_own_property_names(PropertyKind::Value));
@ -366,7 +366,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::values)
} }
// 20.1.2.5 Object.entries ( O ), https://tc39.es/ecma262/#sec-object.entries // 20.1.2.5 Object.entries ( O ), https://tc39.es/ecma262/#sec-object.entries
JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::entries) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectConstructor::entries)
{ {
auto* object = TRY_OR_DISCARD(vm.argument(0).to_object(global_object)); auto* object = TRY_OR_DISCARD(vm.argument(0).to_object(global_object));
auto name_list = TRY_OR_DISCARD(object->enumerable_own_property_names(PropertyKind::KeyAndValue)); auto name_list = TRY_OR_DISCARD(object->enumerable_own_property_names(PropertyKind::KeyAndValue));
@ -374,7 +374,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::entries)
} }
// 20.1.2.2 Object.create ( O, Properties ), https://tc39.es/ecma262/#sec-object.create // 20.1.2.2 Object.create ( O, Properties ), https://tc39.es/ecma262/#sec-object.create
JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::create) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectConstructor::create)
{ {
auto proto = vm.argument(0); auto proto = vm.argument(0);
auto properties = vm.argument(1); auto properties = vm.argument(1);
@ -399,7 +399,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::create)
} }
// 1 Object.hasOwn ( O, P ), https://tc39.es/proposal-accessible-object-hasownproperty/#sec-object.hasown // 1 Object.hasOwn ( O, P ), https://tc39.es/proposal-accessible-object-hasownproperty/#sec-object.hasown
JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::has_own) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectConstructor::has_own)
{ {
// 1. Let obj be ? ToObject(O). // 1. Let obj be ? ToObject(O).
auto* object = TRY_OR_DISCARD(vm.argument(0).to_object(global_object)); auto* object = TRY_OR_DISCARD(vm.argument(0).to_object(global_object));
@ -412,7 +412,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::has_own)
} }
// 20.1.2.1 Object.assign ( target, ...sources ), https://tc39.es/ecma262/#sec-object.assign // 20.1.2.1 Object.assign ( target, ...sources ), https://tc39.es/ecma262/#sec-object.assign
JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::assign) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectConstructor::assign)
{ {
// 1. Let to be ? ToObject(target). // 1. Let to be ? ToObject(target).
auto* to = TRY_OR_DISCARD(vm.argument(0).to_object(global_object)); auto* to = TRY_OR_DISCARD(vm.argument(0).to_object(global_object));

View file

@ -25,28 +25,28 @@ public:
private: private:
virtual bool has_constructor() const override { return true; } virtual bool has_constructor() const override { return true; }
JS_DECLARE_NATIVE_FUNCTION(define_property); JS_DECLARE_OLD_NATIVE_FUNCTION(define_property);
JS_DECLARE_NATIVE_FUNCTION(define_properties); JS_DECLARE_OLD_NATIVE_FUNCTION(define_properties);
JS_DECLARE_NATIVE_FUNCTION(is); JS_DECLARE_OLD_NATIVE_FUNCTION(is);
JS_DECLARE_NATIVE_FUNCTION(get_own_property_descriptor); JS_DECLARE_OLD_NATIVE_FUNCTION(get_own_property_descriptor);
JS_DECLARE_NATIVE_FUNCTION(get_own_property_descriptors); JS_DECLARE_OLD_NATIVE_FUNCTION(get_own_property_descriptors);
JS_DECLARE_NATIVE_FUNCTION(get_own_property_names); JS_DECLARE_OLD_NATIVE_FUNCTION(get_own_property_names);
JS_DECLARE_NATIVE_FUNCTION(get_own_property_symbols); JS_DECLARE_OLD_NATIVE_FUNCTION(get_own_property_symbols);
JS_DECLARE_NATIVE_FUNCTION(get_prototype_of); JS_DECLARE_OLD_NATIVE_FUNCTION(get_prototype_of);
JS_DECLARE_NATIVE_FUNCTION(set_prototype_of); JS_DECLARE_OLD_NATIVE_FUNCTION(set_prototype_of);
JS_DECLARE_NATIVE_FUNCTION(is_extensible); JS_DECLARE_OLD_NATIVE_FUNCTION(is_extensible);
JS_DECLARE_NATIVE_FUNCTION(is_frozen); JS_DECLARE_OLD_NATIVE_FUNCTION(is_frozen);
JS_DECLARE_NATIVE_FUNCTION(is_sealed); JS_DECLARE_OLD_NATIVE_FUNCTION(is_sealed);
JS_DECLARE_NATIVE_FUNCTION(prevent_extensions); JS_DECLARE_OLD_NATIVE_FUNCTION(prevent_extensions);
JS_DECLARE_NATIVE_FUNCTION(seal); JS_DECLARE_OLD_NATIVE_FUNCTION(seal);
JS_DECLARE_NATIVE_FUNCTION(freeze); JS_DECLARE_OLD_NATIVE_FUNCTION(freeze);
JS_DECLARE_NATIVE_FUNCTION(from_entries); JS_DECLARE_OLD_NATIVE_FUNCTION(from_entries);
JS_DECLARE_NATIVE_FUNCTION(keys); JS_DECLARE_OLD_NATIVE_FUNCTION(keys);
JS_DECLARE_NATIVE_FUNCTION(values); JS_DECLARE_OLD_NATIVE_FUNCTION(values);
JS_DECLARE_NATIVE_FUNCTION(entries); JS_DECLARE_OLD_NATIVE_FUNCTION(entries);
JS_DECLARE_NATIVE_FUNCTION(create); JS_DECLARE_OLD_NATIVE_FUNCTION(create);
JS_DECLARE_NATIVE_FUNCTION(has_own); JS_DECLARE_OLD_NATIVE_FUNCTION(has_own);
JS_DECLARE_NATIVE_FUNCTION(assign); JS_DECLARE_OLD_NATIVE_FUNCTION(assign);
}; };
} }

View file

@ -60,7 +60,7 @@ ThrowCompletionOr<bool> ObjectPrototype::internal_set_prototype_of(Object* proto
} }
// 20.1.3.2 Object.prototype.hasOwnProperty ( V ), https://tc39.es/ecma262/#sec-object.prototype.hasownproperty // 20.1.3.2 Object.prototype.hasOwnProperty ( V ), https://tc39.es/ecma262/#sec-object.prototype.hasownproperty
JS_DEFINE_NATIVE_FUNCTION(ObjectPrototype::has_own_property) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectPrototype::has_own_property)
{ {
auto property_key = TRY_OR_DISCARD(vm.argument(0).to_property_key(global_object)); auto property_key = TRY_OR_DISCARD(vm.argument(0).to_property_key(global_object));
auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* this_object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
@ -68,7 +68,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectPrototype::has_own_property)
} }
// 20.1.3.6 Object.prototype.toString ( ), https://tc39.es/ecma262/#sec-object.prototype.tostring // 20.1.3.6 Object.prototype.toString ( ), https://tc39.es/ecma262/#sec-object.prototype.tostring
JS_DEFINE_NATIVE_FUNCTION(ObjectPrototype::to_string) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectPrototype::to_string)
{ {
auto this_value = vm.this_value(global_object); auto this_value = vm.this_value(global_object);
@ -136,20 +136,20 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectPrototype::to_string)
} }
// 20.1.3.5 Object.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] ), https://tc39.es/ecma262/#sec-object.prototype.tolocalestring // 20.1.3.5 Object.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] ), https://tc39.es/ecma262/#sec-object.prototype.tolocalestring
JS_DEFINE_NATIVE_FUNCTION(ObjectPrototype::to_locale_string) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectPrototype::to_locale_string)
{ {
auto this_value = vm.this_value(global_object); auto this_value = vm.this_value(global_object);
return TRY_OR_DISCARD(this_value.invoke(global_object, vm.names.toString)); return TRY_OR_DISCARD(this_value.invoke(global_object, vm.names.toString));
} }
// 20.1.3.7 Object.prototype.valueOf ( ), https://tc39.es/ecma262/#sec-object.prototype.valueof // 20.1.3.7 Object.prototype.valueOf ( ), https://tc39.es/ecma262/#sec-object.prototype.valueof
JS_DEFINE_NATIVE_FUNCTION(ObjectPrototype::value_of) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectPrototype::value_of)
{ {
return TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); return TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
} }
// 20.1.3.4 Object.prototype.propertyIsEnumerable ( V ), https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable // 20.1.3.4 Object.prototype.propertyIsEnumerable ( V ), https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
JS_DEFINE_NATIVE_FUNCTION(ObjectPrototype::property_is_enumerable) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectPrototype::property_is_enumerable)
{ {
// 1. Let P be ? ToPropertyKey(V). // 1. Let P be ? ToPropertyKey(V).
auto property_key = TRY_OR_DISCARD(vm.argument(0).to_property_key(global_object)); auto property_key = TRY_OR_DISCARD(vm.argument(0).to_property_key(global_object));
@ -165,7 +165,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectPrototype::property_is_enumerable)
} }
// 20.1.3.3 Object.prototype.isPrototypeOf ( V ), https://tc39.es/ecma262/#sec-object.prototype.isprototypeof // 20.1.3.3 Object.prototype.isPrototypeOf ( V ), https://tc39.es/ecma262/#sec-object.prototype.isprototypeof
JS_DEFINE_NATIVE_FUNCTION(ObjectPrototype::is_prototype_of) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectPrototype::is_prototype_of)
{ {
auto object_argument = vm.argument(0); auto object_argument = vm.argument(0);
if (!object_argument.is_object()) if (!object_argument.is_object())
@ -183,7 +183,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectPrototype::is_prototype_of)
} }
// B.2.2.2 Object.prototype.__defineGetter__ ( P, getter ), https://tc39.es/ecma262/#sec-object.prototype.__defineGetter__ // B.2.2.2 Object.prototype.__defineGetter__ ( P, getter ), https://tc39.es/ecma262/#sec-object.prototype.__defineGetter__
JS_DEFINE_NATIVE_FUNCTION(ObjectPrototype::define_getter) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectPrototype::define_getter)
{ {
auto* object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
@ -203,7 +203,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectPrototype::define_getter)
} }
// B.2.2.3 Object.prototype.__defineSetter__ ( P, getter ), https://tc39.es/ecma262/#sec-object.prototype.__defineSetter__ // B.2.2.3 Object.prototype.__defineSetter__ ( P, getter ), https://tc39.es/ecma262/#sec-object.prototype.__defineSetter__
JS_DEFINE_NATIVE_FUNCTION(ObjectPrototype::define_setter) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectPrototype::define_setter)
{ {
auto* object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
@ -223,7 +223,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectPrototype::define_setter)
} }
// B.2.2.4 Object.prototype.__lookupGetter__ ( P ), https://tc39.es/ecma262/#sec-object.prototype.__lookupGetter__ // B.2.2.4 Object.prototype.__lookupGetter__ ( P ), https://tc39.es/ecma262/#sec-object.prototype.__lookupGetter__
JS_DEFINE_NATIVE_FUNCTION(ObjectPrototype::lookup_getter) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectPrototype::lookup_getter)
{ {
auto* object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
@ -243,7 +243,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectPrototype::lookup_getter)
} }
// B.2.2.5 Object.prototype.__lookupSetter__ ( P ), https://tc39.es/ecma262/#sec-object.prototype.__lookupSetter__ // B.2.2.5 Object.prototype.__lookupSetter__ ( P ), https://tc39.es/ecma262/#sec-object.prototype.__lookupSetter__
JS_DEFINE_NATIVE_FUNCTION(ObjectPrototype::lookup_setter) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectPrototype::lookup_setter)
{ {
auto* object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
@ -263,14 +263,14 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectPrototype::lookup_setter)
} }
// B.2.2.1.1 get Object.prototype.__proto__, https://tc39.es/ecma262/#sec-get-object.prototype.__proto__ // B.2.2.1.1 get Object.prototype.__proto__, https://tc39.es/ecma262/#sec-get-object.prototype.__proto__
JS_DEFINE_NATIVE_FUNCTION(ObjectPrototype::proto_getter) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectPrototype::proto_getter)
{ {
auto* object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* object = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
return TRY_OR_DISCARD(object->internal_get_prototype_of()); return TRY_OR_DISCARD(object->internal_get_prototype_of());
} }
// B.2.2.1.2 set Object.prototype.__proto__, https://tc39.es/ecma262/#sec-set-object.prototype.__proto__ // B.2.2.1.2 set Object.prototype.__proto__, https://tc39.es/ecma262/#sec-set-object.prototype.__proto__
JS_DEFINE_NATIVE_FUNCTION(ObjectPrototype::proto_setter) JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectPrototype::proto_setter)
{ {
auto object = TRY_OR_DISCARD(require_object_coercible(global_object, vm.this_value(global_object))); auto object = TRY_OR_DISCARD(require_object_coercible(global_object, vm.this_value(global_object)));

View file

@ -24,20 +24,20 @@ public:
virtual ThrowCompletionOr<bool> internal_set_prototype_of(Object* prototype) override; virtual ThrowCompletionOr<bool> internal_set_prototype_of(Object* prototype) override;
// public to serve as intrinsic function %Object.prototype.toString% // public to serve as intrinsic function %Object.prototype.toString%
JS_DECLARE_NATIVE_FUNCTION(to_string); JS_DECLARE_OLD_NATIVE_FUNCTION(to_string);
private: private:
JS_DECLARE_NATIVE_FUNCTION(has_own_property); JS_DECLARE_OLD_NATIVE_FUNCTION(has_own_property);
JS_DECLARE_NATIVE_FUNCTION(to_locale_string); JS_DECLARE_OLD_NATIVE_FUNCTION(to_locale_string);
JS_DECLARE_NATIVE_FUNCTION(value_of); JS_DECLARE_OLD_NATIVE_FUNCTION(value_of);
JS_DECLARE_NATIVE_FUNCTION(property_is_enumerable); JS_DECLARE_OLD_NATIVE_FUNCTION(property_is_enumerable);
JS_DECLARE_NATIVE_FUNCTION(is_prototype_of); JS_DECLARE_OLD_NATIVE_FUNCTION(is_prototype_of);
JS_DECLARE_NATIVE_FUNCTION(define_getter); JS_DECLARE_OLD_NATIVE_FUNCTION(define_getter);
JS_DECLARE_NATIVE_FUNCTION(define_setter); JS_DECLARE_OLD_NATIVE_FUNCTION(define_setter);
JS_DECLARE_NATIVE_FUNCTION(lookup_getter); JS_DECLARE_OLD_NATIVE_FUNCTION(lookup_getter);
JS_DECLARE_NATIVE_FUNCTION(lookup_setter); JS_DECLARE_OLD_NATIVE_FUNCTION(lookup_setter);
JS_DECLARE_NATIVE_FUNCTION(proto_getter); JS_DECLARE_OLD_NATIVE_FUNCTION(proto_getter);
JS_DECLARE_NATIVE_FUNCTION(proto_setter); JS_DECLARE_OLD_NATIVE_FUNCTION(proto_setter);
}; };
} }

View file

@ -273,7 +273,7 @@ Value PromiseConstructor::construct(FunctionObject& new_target)
} }
// 27.2.4.1 Promise.all ( iterable ), https://tc39.es/ecma262/#sec-promise.all // 27.2.4.1 Promise.all ( iterable ), https://tc39.es/ecma262/#sec-promise.all
JS_DEFINE_NATIVE_FUNCTION(PromiseConstructor::all) JS_DEFINE_OLD_NATIVE_FUNCTION(PromiseConstructor::all)
{ {
auto* constructor = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* constructor = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
@ -302,7 +302,7 @@ JS_DEFINE_NATIVE_FUNCTION(PromiseConstructor::all)
} }
// 27.2.4.2 Promise.allSettled ( iterable ), https://tc39.es/ecma262/#sec-promise.allsettled // 27.2.4.2 Promise.allSettled ( iterable ), https://tc39.es/ecma262/#sec-promise.allsettled
JS_DEFINE_NATIVE_FUNCTION(PromiseConstructor::all_settled) JS_DEFINE_OLD_NATIVE_FUNCTION(PromiseConstructor::all_settled)
{ {
auto* constructor = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* constructor = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
@ -331,7 +331,7 @@ JS_DEFINE_NATIVE_FUNCTION(PromiseConstructor::all_settled)
} }
// 27.2.4.3 Promise.any ( iterable ), https://tc39.es/ecma262/#sec-promise.any // 27.2.4.3 Promise.any ( iterable ), https://tc39.es/ecma262/#sec-promise.any
JS_DEFINE_NATIVE_FUNCTION(PromiseConstructor::any) JS_DEFINE_OLD_NATIVE_FUNCTION(PromiseConstructor::any)
{ {
auto* constructor = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* constructor = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
@ -360,7 +360,7 @@ JS_DEFINE_NATIVE_FUNCTION(PromiseConstructor::any)
} }
// 27.2.4.5 Promise.race ( iterable ), https://tc39.es/ecma262/#sec-promise.race // 27.2.4.5 Promise.race ( iterable ), https://tc39.es/ecma262/#sec-promise.race
JS_DEFINE_NATIVE_FUNCTION(PromiseConstructor::race) JS_DEFINE_OLD_NATIVE_FUNCTION(PromiseConstructor::race)
{ {
auto* constructor = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* constructor = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
@ -389,7 +389,7 @@ JS_DEFINE_NATIVE_FUNCTION(PromiseConstructor::race)
} }
// 27.2.4.6 Promise.reject ( r ), https://tc39.es/ecma262/#sec-promise.reject // 27.2.4.6 Promise.reject ( r ), https://tc39.es/ecma262/#sec-promise.reject
JS_DEFINE_NATIVE_FUNCTION(PromiseConstructor::reject) JS_DEFINE_OLD_NATIVE_FUNCTION(PromiseConstructor::reject)
{ {
auto* constructor = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* constructor = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
auto promise_capability = new_promise_capability(global_object, constructor); auto promise_capability = new_promise_capability(global_object, constructor);
@ -401,7 +401,7 @@ JS_DEFINE_NATIVE_FUNCTION(PromiseConstructor::reject)
} }
// 27.2.4.7 Promise.resolve ( x ), https://tc39.es/ecma262/#sec-promise.resolve // 27.2.4.7 Promise.resolve ( x ), https://tc39.es/ecma262/#sec-promise.resolve
JS_DEFINE_NATIVE_FUNCTION(PromiseConstructor::resolve) JS_DEFINE_OLD_NATIVE_FUNCTION(PromiseConstructor::resolve)
{ {
auto* constructor = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* constructor = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
auto value = vm.argument(0); auto value = vm.argument(0);
@ -409,7 +409,7 @@ JS_DEFINE_NATIVE_FUNCTION(PromiseConstructor::resolve)
} }
// 27.2.4.8 get Promise [ @@species ], https://tc39.es/ecma262/#sec-get-promise-@@species // 27.2.4.8 get Promise [ @@species ], https://tc39.es/ecma262/#sec-get-promise-@@species
JS_DEFINE_NATIVE_FUNCTION(PromiseConstructor::symbol_species_getter) JS_DEFINE_OLD_NATIVE_FUNCTION(PromiseConstructor::symbol_species_getter)
{ {
return vm.this_value(global_object); return vm.this_value(global_object);
} }

View file

@ -24,14 +24,14 @@ public:
private: private:
virtual bool has_constructor() const override { return true; } virtual bool has_constructor() const override { return true; }
JS_DECLARE_NATIVE_FUNCTION(all); JS_DECLARE_OLD_NATIVE_FUNCTION(all);
JS_DECLARE_NATIVE_FUNCTION(all_settled); JS_DECLARE_OLD_NATIVE_FUNCTION(all_settled);
JS_DECLARE_NATIVE_FUNCTION(any); JS_DECLARE_OLD_NATIVE_FUNCTION(any);
JS_DECLARE_NATIVE_FUNCTION(race); JS_DECLARE_OLD_NATIVE_FUNCTION(race);
JS_DECLARE_NATIVE_FUNCTION(reject); JS_DECLARE_OLD_NATIVE_FUNCTION(reject);
JS_DECLARE_NATIVE_FUNCTION(resolve); JS_DECLARE_OLD_NATIVE_FUNCTION(resolve);
JS_DECLARE_NATIVE_FUNCTION(symbol_species_getter); JS_DECLARE_OLD_NATIVE_FUNCTION(symbol_species_getter);
}; };
} }

View file

@ -36,7 +36,7 @@ void PromisePrototype::initialize(GlobalObject& global_object)
} }
// 27.2.5.4 Promise.prototype.then ( onFulfilled, onRejected ), https://tc39.es/ecma262/#sec-promise.prototype.then // 27.2.5.4 Promise.prototype.then ( onFulfilled, onRejected ), https://tc39.es/ecma262/#sec-promise.prototype.then
JS_DEFINE_NATIVE_FUNCTION(PromisePrototype::then) JS_DEFINE_OLD_NATIVE_FUNCTION(PromisePrototype::then)
{ {
auto* promise = TRY_OR_DISCARD(typed_this_object(global_object)); auto* promise = TRY_OR_DISCARD(typed_this_object(global_object));
auto on_fulfilled = vm.argument(0); auto on_fulfilled = vm.argument(0);
@ -49,7 +49,7 @@ JS_DEFINE_NATIVE_FUNCTION(PromisePrototype::then)
} }
// 27.2.5.1 Promise.prototype.catch ( onRejected ), https://tc39.es/ecma262/#sec-promise.prototype.catch // 27.2.5.1 Promise.prototype.catch ( onRejected ), https://tc39.es/ecma262/#sec-promise.prototype.catch
JS_DEFINE_NATIVE_FUNCTION(PromisePrototype::catch_) JS_DEFINE_OLD_NATIVE_FUNCTION(PromisePrototype::catch_)
{ {
auto this_value = vm.this_value(global_object); auto this_value = vm.this_value(global_object);
auto on_rejected = vm.argument(0); auto on_rejected = vm.argument(0);
@ -57,7 +57,7 @@ JS_DEFINE_NATIVE_FUNCTION(PromisePrototype::catch_)
} }
// 27.2.5.3 Promise.prototype.finally ( onFinally ), https://tc39.es/ecma262/#sec-promise.prototype.finally // 27.2.5.3 Promise.prototype.finally ( onFinally ), https://tc39.es/ecma262/#sec-promise.prototype.finally
JS_DEFINE_NATIVE_FUNCTION(PromisePrototype::finally) JS_DEFINE_OLD_NATIVE_FUNCTION(PromisePrototype::finally)
{ {
auto* promise = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object)); auto* promise = TRY_OR_DISCARD(vm.this_value(global_object).to_object(global_object));
auto* constructor = TRY_OR_DISCARD(species_constructor(global_object, *promise, *global_object.promise_constructor())); auto* constructor = TRY_OR_DISCARD(species_constructor(global_object, *promise, *global_object.promise_constructor()));

View file

@ -19,9 +19,9 @@ public:
virtual ~PromisePrototype() override = default; virtual ~PromisePrototype() override = default;
private: private:
JS_DECLARE_NATIVE_FUNCTION(then); JS_DECLARE_OLD_NATIVE_FUNCTION(then);
JS_DECLARE_NATIVE_FUNCTION(catch_); JS_DECLARE_OLD_NATIVE_FUNCTION(catch_);
JS_DECLARE_NATIVE_FUNCTION(finally); JS_DECLARE_OLD_NATIVE_FUNCTION(finally);
}; };
} }

View file

@ -63,7 +63,7 @@ Value ProxyConstructor::construct(FunctionObject&)
} }
// 28.2.2.1 Proxy.revocable ( target, handler ), https://tc39.es/ecma262/#sec-proxy.revocable // 28.2.2.1 Proxy.revocable ( target, handler ), https://tc39.es/ecma262/#sec-proxy.revocable
JS_DEFINE_NATIVE_FUNCTION(ProxyConstructor::revocable) JS_DEFINE_OLD_NATIVE_FUNCTION(ProxyConstructor::revocable)
{ {
auto* proxy = proxy_create(global_object, vm.argument(0), vm.argument(1)); auto* proxy = proxy_create(global_object, vm.argument(0), vm.argument(1));
if (vm.exception()) if (vm.exception())

View file

@ -25,7 +25,7 @@ public:
private: private:
virtual bool has_constructor() const override { return true; } virtual bool has_constructor() const override { return true; }
JS_DECLARE_NATIVE_FUNCTION(revocable); JS_DECLARE_OLD_NATIVE_FUNCTION(revocable);
}; };
} }

View file

@ -48,7 +48,7 @@ ReflectObject::~ReflectObject()
} }
// 28.1.1 Reflect.apply ( target, thisArgument, argumentsList ), https://tc39.es/ecma262/#sec-reflect.apply // 28.1.1 Reflect.apply ( target, thisArgument, argumentsList ), https://tc39.es/ecma262/#sec-reflect.apply
JS_DEFINE_NATIVE_FUNCTION(ReflectObject::apply) JS_DEFINE_OLD_NATIVE_FUNCTION(ReflectObject::apply)
{ {
auto target = vm.argument(0); auto target = vm.argument(0);
auto this_argument = vm.argument(1); auto this_argument = vm.argument(1);
@ -69,7 +69,7 @@ JS_DEFINE_NATIVE_FUNCTION(ReflectObject::apply)
} }
// 28.1.2 Reflect.construct ( target, argumentsList [ , newTarget ] ), https://tc39.es/ecma262/#sec-reflect.construct // 28.1.2 Reflect.construct ( target, argumentsList [ , newTarget ] ), https://tc39.es/ecma262/#sec-reflect.construct
JS_DEFINE_NATIVE_FUNCTION(ReflectObject::construct) JS_DEFINE_OLD_NATIVE_FUNCTION(ReflectObject::construct)
{ {
auto target = vm.argument(0); auto target = vm.argument(0);
auto arguments_list = vm.argument(1); auto arguments_list = vm.argument(1);
@ -99,7 +99,7 @@ JS_DEFINE_NATIVE_FUNCTION(ReflectObject::construct)
} }
// 28.1.3 Reflect.defineProperty ( target, propertyKey, attributes ), https://tc39.es/ecma262/#sec-reflect.defineproperty // 28.1.3 Reflect.defineProperty ( target, propertyKey, attributes ), https://tc39.es/ecma262/#sec-reflect.defineproperty
JS_DEFINE_NATIVE_FUNCTION(ReflectObject::define_property) JS_DEFINE_OLD_NATIVE_FUNCTION(ReflectObject::define_property)
{ {
auto target = vm.argument(0); auto target = vm.argument(0);
auto property_key = vm.argument(1); auto property_key = vm.argument(1);
@ -122,7 +122,7 @@ JS_DEFINE_NATIVE_FUNCTION(ReflectObject::define_property)
} }
// 28.1.4 Reflect.deleteProperty ( target, propertyKey ), https://tc39.es/ecma262/#sec-reflect.deleteproperty // 28.1.4 Reflect.deleteProperty ( target, propertyKey ), https://tc39.es/ecma262/#sec-reflect.deleteproperty
JS_DEFINE_NATIVE_FUNCTION(ReflectObject::delete_property) JS_DEFINE_OLD_NATIVE_FUNCTION(ReflectObject::delete_property)
{ {
auto target = vm.argument(0); auto target = vm.argument(0);
auto property_key = vm.argument(1); auto property_key = vm.argument(1);
@ -141,7 +141,7 @@ JS_DEFINE_NATIVE_FUNCTION(ReflectObject::delete_property)
} }
// 28.1.5 Reflect.get ( target, propertyKey [ , receiver ] ), https://tc39.es/ecma262/#sec-reflect.get // 28.1.5 Reflect.get ( target, propertyKey [ , receiver ] ), https://tc39.es/ecma262/#sec-reflect.get
JS_DEFINE_NATIVE_FUNCTION(ReflectObject::get) JS_DEFINE_OLD_NATIVE_FUNCTION(ReflectObject::get)
{ {
auto target = vm.argument(0); auto target = vm.argument(0);
auto property_key = vm.argument(1); auto property_key = vm.argument(1);
@ -167,7 +167,7 @@ JS_DEFINE_NATIVE_FUNCTION(ReflectObject::get)
} }
// 28.1.6 Reflect.getOwnPropertyDescriptor ( target, propertyKey ), https://tc39.es/ecma262/#sec-reflect.getownpropertydescriptor // 28.1.6 Reflect.getOwnPropertyDescriptor ( target, propertyKey ), https://tc39.es/ecma262/#sec-reflect.getownpropertydescriptor
JS_DEFINE_NATIVE_FUNCTION(ReflectObject::get_own_property_descriptor) JS_DEFINE_OLD_NATIVE_FUNCTION(ReflectObject::get_own_property_descriptor)
{ {
auto target = vm.argument(0); auto target = vm.argument(0);
auto property_key = vm.argument(1); auto property_key = vm.argument(1);
@ -189,7 +189,7 @@ JS_DEFINE_NATIVE_FUNCTION(ReflectObject::get_own_property_descriptor)
} }
// 28.1.7 Reflect.getPrototypeOf ( target ), https://tc39.es/ecma262/#sec-reflect.getprototypeof // 28.1.7 Reflect.getPrototypeOf ( target ), https://tc39.es/ecma262/#sec-reflect.getprototypeof
JS_DEFINE_NATIVE_FUNCTION(ReflectObject::get_prototype_of) JS_DEFINE_OLD_NATIVE_FUNCTION(ReflectObject::get_prototype_of)
{ {
auto target = vm.argument(0); auto target = vm.argument(0);
@ -204,7 +204,7 @@ JS_DEFINE_NATIVE_FUNCTION(ReflectObject::get_prototype_of)
} }
// 28.1.8 Reflect.has ( target, propertyKey ), https://tc39.es/ecma262/#sec-reflect.has // 28.1.8 Reflect.has ( target, propertyKey ), https://tc39.es/ecma262/#sec-reflect.has
JS_DEFINE_NATIVE_FUNCTION(ReflectObject::has) JS_DEFINE_OLD_NATIVE_FUNCTION(ReflectObject::has)
{ {
auto target = vm.argument(0); auto target = vm.argument(0);
auto property_key = vm.argument(1); auto property_key = vm.argument(1);
@ -223,7 +223,7 @@ JS_DEFINE_NATIVE_FUNCTION(ReflectObject::has)
} }
// 28.1.9 Reflect.isExtensible ( target ), https://tc39.es/ecma262/#sec-reflect.isextensible // 28.1.9 Reflect.isExtensible ( target ), https://tc39.es/ecma262/#sec-reflect.isextensible
JS_DEFINE_NATIVE_FUNCTION(ReflectObject::is_extensible) JS_DEFINE_OLD_NATIVE_FUNCTION(ReflectObject::is_extensible)
{ {
auto target = vm.argument(0); auto target = vm.argument(0);
@ -238,7 +238,7 @@ JS_DEFINE_NATIVE_FUNCTION(ReflectObject::is_extensible)
} }
// 28.1.10 Reflect.ownKeys ( target ), https://tc39.es/ecma262/#sec-reflect.ownkeys // 28.1.10 Reflect.ownKeys ( target ), https://tc39.es/ecma262/#sec-reflect.ownkeys
JS_DEFINE_NATIVE_FUNCTION(ReflectObject::own_keys) JS_DEFINE_OLD_NATIVE_FUNCTION(ReflectObject::own_keys)
{ {
auto target = vm.argument(0); auto target = vm.argument(0);
@ -256,7 +256,7 @@ JS_DEFINE_NATIVE_FUNCTION(ReflectObject::own_keys)
} }
// 28.1.11 Reflect.preventExtensions ( target ), https://tc39.es/ecma262/#sec-reflect.preventextensions // 28.1.11 Reflect.preventExtensions ( target ), https://tc39.es/ecma262/#sec-reflect.preventextensions
JS_DEFINE_NATIVE_FUNCTION(ReflectObject::prevent_extensions) JS_DEFINE_OLD_NATIVE_FUNCTION(ReflectObject::prevent_extensions)
{ {
auto target = vm.argument(0); auto target = vm.argument(0);
@ -271,7 +271,7 @@ JS_DEFINE_NATIVE_FUNCTION(ReflectObject::prevent_extensions)
} }
// 28.1.12 Reflect.set ( target, propertyKey, V [ , receiver ] ), https://tc39.es/ecma262/#sec-reflect.set // 28.1.12 Reflect.set ( target, propertyKey, V [ , receiver ] ), https://tc39.es/ecma262/#sec-reflect.set
JS_DEFINE_NATIVE_FUNCTION(ReflectObject::set) JS_DEFINE_OLD_NATIVE_FUNCTION(ReflectObject::set)
{ {
auto target = vm.argument(0); auto target = vm.argument(0);
auto property_key = vm.argument(1); auto property_key = vm.argument(1);
@ -298,7 +298,7 @@ JS_DEFINE_NATIVE_FUNCTION(ReflectObject::set)
} }
// 28.1.13 Reflect.setPrototypeOf ( target, proto ), https://tc39.es/ecma262/#sec-reflect.setprototypeof // 28.1.13 Reflect.setPrototypeOf ( target, proto ), https://tc39.es/ecma262/#sec-reflect.setprototypeof
JS_DEFINE_NATIVE_FUNCTION(ReflectObject::set_prototype_of) JS_DEFINE_OLD_NATIVE_FUNCTION(ReflectObject::set_prototype_of)
{ {
auto target = vm.argument(0); auto target = vm.argument(0);
auto proto = vm.argument(1); auto proto = vm.argument(1);

View file

@ -19,19 +19,19 @@ public:
virtual ~ReflectObject() override; virtual ~ReflectObject() override;
private: private:
JS_DECLARE_NATIVE_FUNCTION(apply); JS_DECLARE_OLD_NATIVE_FUNCTION(apply);
JS_DECLARE_NATIVE_FUNCTION(construct); JS_DECLARE_OLD_NATIVE_FUNCTION(construct);
JS_DECLARE_NATIVE_FUNCTION(define_property); JS_DECLARE_OLD_NATIVE_FUNCTION(define_property);
JS_DECLARE_NATIVE_FUNCTION(delete_property); JS_DECLARE_OLD_NATIVE_FUNCTION(delete_property);
JS_DECLARE_NATIVE_FUNCTION(get); JS_DECLARE_OLD_NATIVE_FUNCTION(get);
JS_DECLARE_NATIVE_FUNCTION(get_own_property_descriptor); JS_DECLARE_OLD_NATIVE_FUNCTION(get_own_property_descriptor);
JS_DECLARE_NATIVE_FUNCTION(get_prototype_of); JS_DECLARE_OLD_NATIVE_FUNCTION(get_prototype_of);
JS_DECLARE_NATIVE_FUNCTION(has); JS_DECLARE_OLD_NATIVE_FUNCTION(has);
JS_DECLARE_NATIVE_FUNCTION(is_extensible); JS_DECLARE_OLD_NATIVE_FUNCTION(is_extensible);
JS_DECLARE_NATIVE_FUNCTION(own_keys); JS_DECLARE_OLD_NATIVE_FUNCTION(own_keys);
JS_DECLARE_NATIVE_FUNCTION(prevent_extensions); JS_DECLARE_OLD_NATIVE_FUNCTION(prevent_extensions);
JS_DECLARE_NATIVE_FUNCTION(set); JS_DECLARE_OLD_NATIVE_FUNCTION(set);
JS_DECLARE_NATIVE_FUNCTION(set_prototype_of); JS_DECLARE_OLD_NATIVE_FUNCTION(set_prototype_of);
}; };
} }

View file

@ -92,7 +92,7 @@ Value RegExpConstructor::construct(FunctionObject&)
} }
// 22.2.4.2 get RegExp [ @@species ], https://tc39.es/ecma262/#sec-get-regexp-@@species // 22.2.4.2 get RegExp [ @@species ], https://tc39.es/ecma262/#sec-get-regexp-@@species
JS_DEFINE_NATIVE_FUNCTION(RegExpConstructor::symbol_species_getter) JS_DEFINE_OLD_NATIVE_FUNCTION(RegExpConstructor::symbol_species_getter)
{ {
return vm.this_value(global_object); return vm.this_value(global_object);
} }

View file

@ -24,7 +24,7 @@ public:
private: private:
virtual bool has_constructor() const override { return true; } virtual bool has_constructor() const override { return true; }
JS_DECLARE_NATIVE_FUNCTION(symbol_species_getter); JS_DECLARE_OLD_NATIVE_FUNCTION(symbol_species_getter);
}; };
} }

View file

@ -280,7 +280,7 @@ Value regexp_exec(GlobalObject& global_object, Object& regexp_object, Utf16Strin
// 22.2.5.14 get RegExp.prototype.sticky, https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky // 22.2.5.14 get RegExp.prototype.sticky, https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky
// 22.2.5.17 get RegExp.prototype.unicode, https://tc39.es/ecma262/#sec-get-regexp.prototype.unicode // 22.2.5.17 get RegExp.prototype.unicode, https://tc39.es/ecma262/#sec-get-regexp.prototype.unicode
#define __JS_ENUMERATE(flagName, flag_name, flag_char) \ #define __JS_ENUMERATE(flagName, flag_name, flag_char) \
JS_DEFINE_NATIVE_FUNCTION(RegExpPrototype::flag_name) \ JS_DEFINE_OLD_NATIVE_FUNCTION(RegExpPrototype::flag_name) \
{ \ { \
auto* regexp_object = TRY_OR_DISCARD(this_object(global_object)); \ auto* regexp_object = TRY_OR_DISCARD(this_object(global_object)); \
if (!is<RegExpObject>(regexp_object)) { \ if (!is<RegExpObject>(regexp_object)) { \
@ -297,7 +297,7 @@ JS_ENUMERATE_REGEXP_FLAGS
#undef __JS_ENUMERATE #undef __JS_ENUMERATE
// 22.2.5.4 get RegExp.prototype.flags, https://tc39.es/ecma262/#sec-get-regexp.prototype.flags // 22.2.5.4 get RegExp.prototype.flags, https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
JS_DEFINE_NATIVE_FUNCTION(RegExpPrototype::flags) JS_DEFINE_OLD_NATIVE_FUNCTION(RegExpPrototype::flags)
{ {
auto* regexp_object = TRY_OR_DISCARD(this_object(global_object)); auto* regexp_object = TRY_OR_DISCARD(this_object(global_object));
StringBuilder builder(8); StringBuilder builder(8);
@ -313,7 +313,7 @@ JS_DEFINE_NATIVE_FUNCTION(RegExpPrototype::flags)
} }
// 22.2.5.12 get RegExp.prototype.source, https://tc39.es/ecma262/#sec-get-regexp.prototype.source // 22.2.5.12 get RegExp.prototype.source, https://tc39.es/ecma262/#sec-get-regexp.prototype.source
JS_DEFINE_NATIVE_FUNCTION(RegExpPrototype::source) JS_DEFINE_OLD_NATIVE_FUNCTION(RegExpPrototype::source)
{ {
auto* regexp_object = TRY_OR_DISCARD(this_object(global_object)); auto* regexp_object = TRY_OR_DISCARD(this_object(global_object));
if (!is<RegExpObject>(regexp_object)) { if (!is<RegExpObject>(regexp_object)) {
@ -327,7 +327,7 @@ JS_DEFINE_NATIVE_FUNCTION(RegExpPrototype::source)
} }
// 22.2.5.2 RegExp.prototype.exec ( string ), https://tc39.es/ecma262/#sec-regexp.prototype.exec // 22.2.5.2 RegExp.prototype.exec ( string ), https://tc39.es/ecma262/#sec-regexp.prototype.exec
JS_DEFINE_NATIVE_FUNCTION(RegExpPrototype::exec) JS_DEFINE_OLD_NATIVE_FUNCTION(RegExpPrototype::exec)
{ {
auto* regexp_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* regexp_object = TRY_OR_DISCARD(typed_this_object(global_object));
@ -337,7 +337,7 @@ JS_DEFINE_NATIVE_FUNCTION(RegExpPrototype::exec)
} }
// 22.2.5.15 RegExp.prototype.test ( S ), https://tc39.es/ecma262/#sec-regexp.prototype.test // 22.2.5.15 RegExp.prototype.test ( S ), https://tc39.es/ecma262/#sec-regexp.prototype.test
JS_DEFINE_NATIVE_FUNCTION(RegExpPrototype::test) JS_DEFINE_OLD_NATIVE_FUNCTION(RegExpPrototype::test)
{ {
auto* regexp_object = TRY_OR_DISCARD(this_object(global_object)); auto* regexp_object = TRY_OR_DISCARD(this_object(global_object));
auto string = TRY_OR_DISCARD(vm.argument(0).to_utf16_string(global_object)); auto string = TRY_OR_DISCARD(vm.argument(0).to_utf16_string(global_object));
@ -350,7 +350,7 @@ JS_DEFINE_NATIVE_FUNCTION(RegExpPrototype::test)
} }
// 22.2.5.16 RegExp.prototype.toString ( ), https://tc39.es/ecma262/#sec-regexp.prototype.tostring // 22.2.5.16 RegExp.prototype.toString ( ), https://tc39.es/ecma262/#sec-regexp.prototype.tostring
JS_DEFINE_NATIVE_FUNCTION(RegExpPrototype::to_string) JS_DEFINE_OLD_NATIVE_FUNCTION(RegExpPrototype::to_string)
{ {
auto* regexp_object = TRY_OR_DISCARD(this_object(global_object)); auto* regexp_object = TRY_OR_DISCARD(this_object(global_object));
auto source_attr = TRY_OR_DISCARD(regexp_object->get(vm.names.source)); auto source_attr = TRY_OR_DISCARD(regexp_object->get(vm.names.source));
@ -363,7 +363,7 @@ JS_DEFINE_NATIVE_FUNCTION(RegExpPrototype::to_string)
} }
// 22.2.5.7 RegExp.prototype [ @@match ] ( string ), https://tc39.es/ecma262/#sec-regexp.prototype-@@match // 22.2.5.7 RegExp.prototype [ @@match ] ( string ), https://tc39.es/ecma262/#sec-regexp.prototype-@@match
JS_DEFINE_NATIVE_FUNCTION(RegExpPrototype::symbol_match) JS_DEFINE_OLD_NATIVE_FUNCTION(RegExpPrototype::symbol_match)
{ {
auto* regexp_object = TRY_OR_DISCARD(this_object(global_object)); auto* regexp_object = TRY_OR_DISCARD(this_object(global_object));
auto string = TRY_OR_DISCARD(vm.argument(0).to_utf16_string(global_object)); auto string = TRY_OR_DISCARD(vm.argument(0).to_utf16_string(global_object));
@ -412,7 +412,7 @@ JS_DEFINE_NATIVE_FUNCTION(RegExpPrototype::symbol_match)
} }
// 22.2.5.8 RegExp.prototype [ @@matchAll ] ( string ), https://tc39.es/ecma262/#sec-regexp-prototype-matchall // 22.2.5.8 RegExp.prototype [ @@matchAll ] ( string ), https://tc39.es/ecma262/#sec-regexp-prototype-matchall
JS_DEFINE_NATIVE_FUNCTION(RegExpPrototype::symbol_match_all) JS_DEFINE_OLD_NATIVE_FUNCTION(RegExpPrototype::symbol_match_all)
{ {
auto* regexp_object = TRY_OR_DISCARD(this_object(global_object)); auto* regexp_object = TRY_OR_DISCARD(this_object(global_object));
auto string = TRY_OR_DISCARD(vm.argument(0).to_utf16_string(global_object)); auto string = TRY_OR_DISCARD(vm.argument(0).to_utf16_string(global_object));
@ -441,7 +441,7 @@ JS_DEFINE_NATIVE_FUNCTION(RegExpPrototype::symbol_match_all)
} }
// 22.2.5.10 RegExp.prototype [ @@replace ] ( string, replaceValue ), https://tc39.es/ecma262/#sec-regexp.prototype-@@replace // 22.2.5.10 RegExp.prototype [ @@replace ] ( string, replaceValue ), https://tc39.es/ecma262/#sec-regexp.prototype-@@replace
JS_DEFINE_NATIVE_FUNCTION(RegExpPrototype::symbol_replace) JS_DEFINE_OLD_NATIVE_FUNCTION(RegExpPrototype::symbol_replace)
{ {
auto string_value = vm.argument(0); auto string_value = vm.argument(0);
auto replace_value = vm.argument(1); auto replace_value = vm.argument(1);
@ -553,7 +553,7 @@ JS_DEFINE_NATIVE_FUNCTION(RegExpPrototype::symbol_replace)
} }
// 22.2.5.11 RegExp.prototype [ @@search ] ( string ), https://tc39.es/ecma262/#sec-regexp.prototype-@@search // 22.2.5.11 RegExp.prototype [ @@search ] ( string ), https://tc39.es/ecma262/#sec-regexp.prototype-@@search
JS_DEFINE_NATIVE_FUNCTION(RegExpPrototype::symbol_search) JS_DEFINE_OLD_NATIVE_FUNCTION(RegExpPrototype::symbol_search)
{ {
auto* regexp_object = TRY_OR_DISCARD(this_object(global_object)); auto* regexp_object = TRY_OR_DISCARD(this_object(global_object));
auto string = TRY_OR_DISCARD(vm.argument(0).to_utf16_string(global_object)); auto string = TRY_OR_DISCARD(vm.argument(0).to_utf16_string(global_object));
@ -578,7 +578,7 @@ JS_DEFINE_NATIVE_FUNCTION(RegExpPrototype::symbol_search)
} }
// 22.2.5.13 RegExp.prototype [ @@split ] ( string, limit ), https://tc39.es/ecma262/#sec-regexp.prototype-@@split // 22.2.5.13 RegExp.prototype [ @@split ] ( string, limit ), https://tc39.es/ecma262/#sec-regexp.prototype-@@split
JS_DEFINE_NATIVE_FUNCTION(RegExpPrototype::symbol_split) JS_DEFINE_OLD_NATIVE_FUNCTION(RegExpPrototype::symbol_split)
{ {
auto* regexp_object = TRY_OR_DISCARD(this_object(global_object)); auto* regexp_object = TRY_OR_DISCARD(this_object(global_object));
auto string = TRY_OR_DISCARD(vm.argument(0).to_utf16_string(global_object)); auto string = TRY_OR_DISCARD(vm.argument(0).to_utf16_string(global_object));
@ -670,7 +670,7 @@ JS_DEFINE_NATIVE_FUNCTION(RegExpPrototype::symbol_split)
} }
// B.2.4.1 RegExp.prototype.compile ( pattern, flags ), https://tc39.es/ecma262/#sec-regexp.prototype.compile // B.2.4.1 RegExp.prototype.compile ( pattern, flags ), https://tc39.es/ecma262/#sec-regexp.prototype.compile
JS_DEFINE_NATIVE_FUNCTION(RegExpPrototype::compile) JS_DEFINE_OLD_NATIVE_FUNCTION(RegExpPrototype::compile)
{ {
auto* regexp_object = TRY_OR_DISCARD(typed_this_object(global_object)); auto* regexp_object = TRY_OR_DISCARD(typed_this_object(global_object));

View file

@ -24,21 +24,21 @@ public:
virtual ~RegExpPrototype() override; virtual ~RegExpPrototype() override;
private: private:
JS_DECLARE_NATIVE_FUNCTION(flags); JS_DECLARE_OLD_NATIVE_FUNCTION(flags);
JS_DECLARE_NATIVE_FUNCTION(source); JS_DECLARE_OLD_NATIVE_FUNCTION(source);
JS_DECLARE_NATIVE_FUNCTION(exec); JS_DECLARE_OLD_NATIVE_FUNCTION(exec);
JS_DECLARE_NATIVE_FUNCTION(test); JS_DECLARE_OLD_NATIVE_FUNCTION(test);
JS_DECLARE_NATIVE_FUNCTION(to_string); JS_DECLARE_OLD_NATIVE_FUNCTION(to_string);
JS_DECLARE_NATIVE_FUNCTION(symbol_match); JS_DECLARE_OLD_NATIVE_FUNCTION(symbol_match);
JS_DECLARE_NATIVE_FUNCTION(symbol_match_all); JS_DECLARE_OLD_NATIVE_FUNCTION(symbol_match_all);
JS_DECLARE_NATIVE_FUNCTION(symbol_replace); JS_DECLARE_OLD_NATIVE_FUNCTION(symbol_replace);
JS_DECLARE_NATIVE_FUNCTION(symbol_search); JS_DECLARE_OLD_NATIVE_FUNCTION(symbol_search);
JS_DECLARE_NATIVE_FUNCTION(symbol_split); JS_DECLARE_OLD_NATIVE_FUNCTION(symbol_split);
JS_DECLARE_NATIVE_FUNCTION(compile); JS_DECLARE_OLD_NATIVE_FUNCTION(compile);
#define __JS_ENUMERATE(_, flag_name, ...) \ #define __JS_ENUMERATE(_, flag_name, ...) \
JS_DECLARE_NATIVE_FUNCTION(flag_name); JS_DECLARE_OLD_NATIVE_FUNCTION(flag_name);
JS_ENUMERATE_REGEXP_FLAGS JS_ENUMERATE_REGEXP_FLAGS
#undef __JS_ENUMERATE #undef __JS_ENUMERATE
}; };

View file

@ -30,7 +30,7 @@ void RegExpStringIteratorPrototype::initialize(GlobalObject& global_object)
} }
// 22.2.7.2.1 %RegExpStringIteratorPrototype%.next ( ), https://tc39.es/ecma262/#sec-%regexpstringiteratorprototype%.next // 22.2.7.2.1 %RegExpStringIteratorPrototype%.next ( ), https://tc39.es/ecma262/#sec-%regexpstringiteratorprototype%.next
JS_DEFINE_NATIVE_FUNCTION(RegExpStringIteratorPrototype::next) JS_DEFINE_OLD_NATIVE_FUNCTION(RegExpStringIteratorPrototype::next)
{ {
// For details, see the 'closure' of: https://tc39.es/ecma262/#sec-createregexpstringiterator // For details, see the 'closure' of: https://tc39.es/ecma262/#sec-createregexpstringiterator
auto* iterator = TRY_OR_DISCARD(typed_this_value(global_object)); auto* iterator = TRY_OR_DISCARD(typed_this_value(global_object));

View file

@ -21,7 +21,7 @@ public:
virtual void initialize(GlobalObject&) override; virtual void initialize(GlobalObject&) override;
private: private:
JS_DECLARE_NATIVE_FUNCTION(next); JS_DECLARE_OLD_NATIVE_FUNCTION(next);
}; };
} }

View file

@ -71,7 +71,7 @@ Value SetConstructor::construct(FunctionObject& new_target)
} }
// 24.2.2.2 get Set [ @@species ], https://tc39.es/ecma262/#sec-get-set-@@species // 24.2.2.2 get Set [ @@species ], https://tc39.es/ecma262/#sec-get-set-@@species
JS_DEFINE_NATIVE_FUNCTION(SetConstructor::symbol_species_getter) JS_DEFINE_OLD_NATIVE_FUNCTION(SetConstructor::symbol_species_getter)
{ {
return vm.this_value(global_object); return vm.this_value(global_object);
} }

View file

@ -24,7 +24,7 @@ public:
private: private:
virtual bool has_constructor() const override { return true; } virtual bool has_constructor() const override { return true; }
JS_DECLARE_NATIVE_FUNCTION(symbol_species_getter); JS_DECLARE_OLD_NATIVE_FUNCTION(symbol_species_getter);
}; };
} }

View file

@ -34,7 +34,7 @@ SetIteratorPrototype::~SetIteratorPrototype()
} }
// 24.2.5.2.1 %SetIteratorPrototype%.next ( ), https://tc39.es/ecma262/#sec-%setiteratorprototype%.next // 24.2.5.2.1 %SetIteratorPrototype%.next ( ), https://tc39.es/ecma262/#sec-%setiteratorprototype%.next
JS_DEFINE_NATIVE_FUNCTION(SetIteratorPrototype::next) JS_DEFINE_OLD_NATIVE_FUNCTION(SetIteratorPrototype::next)
{ {
auto* set_iterator = TRY_OR_DISCARD(typed_this_value(global_object)); auto* set_iterator = TRY_OR_DISCARD(typed_this_value(global_object));
if (set_iterator->done()) if (set_iterator->done())

View file

@ -20,7 +20,7 @@ public:
virtual ~SetIteratorPrototype() override; virtual ~SetIteratorPrototype() override;
private: private:
JS_DECLARE_NATIVE_FUNCTION(next); JS_DECLARE_OLD_NATIVE_FUNCTION(next);
}; };
} }

View file

@ -45,7 +45,7 @@ SetPrototype::~SetPrototype()
} }
// 24.2.3.1 Set.prototype.add ( value ), https://tc39.es/ecma262/#sec-set.prototype.add // 24.2.3.1 Set.prototype.add ( value ), https://tc39.es/ecma262/#sec-set.prototype.add
JS_DEFINE_NATIVE_FUNCTION(SetPrototype::add) JS_DEFINE_OLD_NATIVE_FUNCTION(SetPrototype::add)
{ {
auto* set = TRY_OR_DISCARD(typed_this_object(global_object)); auto* set = TRY_OR_DISCARD(typed_this_object(global_object));
auto value = vm.argument(0); auto value = vm.argument(0);
@ -56,7 +56,7 @@ JS_DEFINE_NATIVE_FUNCTION(SetPrototype::add)
} }
// 24.2.3.2 Set.prototype.clear ( ), https://tc39.es/ecma262/#sec-set.prototype.clear // 24.2.3.2 Set.prototype.clear ( ), https://tc39.es/ecma262/#sec-set.prototype.clear
JS_DEFINE_NATIVE_FUNCTION(SetPrototype::clear) JS_DEFINE_OLD_NATIVE_FUNCTION(SetPrototype::clear)
{ {
auto* set = TRY_OR_DISCARD(typed_this_object(global_object)); auto* set = TRY_OR_DISCARD(typed_this_object(global_object));
set->values().clear(); set->values().clear();
@ -64,14 +64,14 @@ JS_DEFINE_NATIVE_FUNCTION(SetPrototype::clear)
} }
// 24.2.3.4 Set.prototype.delete ( value ), https://tc39.es/ecma262/#sec-set.prototype.delete // 24.2.3.4 Set.prototype.delete ( value ), https://tc39.es/ecma262/#sec-set.prototype.delete
JS_DEFINE_NATIVE_FUNCTION(SetPrototype::delete_) JS_DEFINE_OLD_NATIVE_FUNCTION(SetPrototype::delete_)
{ {
auto* set = TRY_OR_DISCARD(typed_this_object(global_object)); auto* set = TRY_OR_DISCARD(typed_this_object(global_object));
return Value(set->values().remove(vm.argument(0))); return Value(set->values().remove(vm.argument(0)));
} }
// 24.2.3.5 Set.prototype.entries ( ), https://tc39.es/ecma262/#sec-set.prototype.entries // 24.2.3.5 Set.prototype.entries ( ), https://tc39.es/ecma262/#sec-set.prototype.entries
JS_DEFINE_NATIVE_FUNCTION(SetPrototype::entries) JS_DEFINE_OLD_NATIVE_FUNCTION(SetPrototype::entries)
{ {
auto* set = TRY_OR_DISCARD(typed_this_object(global_object)); auto* set = TRY_OR_DISCARD(typed_this_object(global_object));
@ -79,7 +79,7 @@ JS_DEFINE_NATIVE_FUNCTION(SetPrototype::entries)
} }
// 24.2.3.6 Set.prototype.forEach ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-set.prototype.foreach // 24.2.3.6 Set.prototype.forEach ( callbackfn [ , thisArg ] ), https://tc39.es/ecma262/#sec-set.prototype.foreach
JS_DEFINE_NATIVE_FUNCTION(SetPrototype::for_each) JS_DEFINE_OLD_NATIVE_FUNCTION(SetPrototype::for_each)
{ {
auto* set = TRY_OR_DISCARD(typed_this_object(global_object)); auto* set = TRY_OR_DISCARD(typed_this_object(global_object));
if (!vm.argument(0).is_function()) { if (!vm.argument(0).is_function()) {
@ -96,7 +96,7 @@ JS_DEFINE_NATIVE_FUNCTION(SetPrototype::for_each)
} }
// 24.2.3.7 Set.prototype.has ( value ), https://tc39.es/ecma262/#sec-set.prototype.has // 24.2.3.7 Set.prototype.has ( value ), https://tc39.es/ecma262/#sec-set.prototype.has
JS_DEFINE_NATIVE_FUNCTION(SetPrototype::has) JS_DEFINE_OLD_NATIVE_FUNCTION(SetPrototype::has)
{ {
auto* set = TRY_OR_DISCARD(typed_this_object(global_object)); auto* set = TRY_OR_DISCARD(typed_this_object(global_object));
auto& values = set->values(); auto& values = set->values();
@ -104,7 +104,7 @@ JS_DEFINE_NATIVE_FUNCTION(SetPrototype::has)
} }
// 24.2.3.10 Set.prototype.values ( ), https://tc39.es/ecma262/#sec-set.prototype.values // 24.2.3.10 Set.prototype.values ( ), https://tc39.es/ecma262/#sec-set.prototype.values
JS_DEFINE_NATIVE_FUNCTION(SetPrototype::values) JS_DEFINE_OLD_NATIVE_FUNCTION(SetPrototype::values)
{ {
auto* set = TRY_OR_DISCARD(typed_this_object(global_object)); auto* set = TRY_OR_DISCARD(typed_this_object(global_object));
@ -112,7 +112,7 @@ JS_DEFINE_NATIVE_FUNCTION(SetPrototype::values)
} }
// 24.2.3.9 get Set.prototype.size, https://tc39.es/ecma262/#sec-get-set.prototype.size // 24.2.3.9 get Set.prototype.size, https://tc39.es/ecma262/#sec-get-set.prototype.size
JS_DEFINE_NATIVE_FUNCTION(SetPrototype::size_getter) JS_DEFINE_OLD_NATIVE_FUNCTION(SetPrototype::size_getter)
{ {
auto* set = TRY_OR_DISCARD(typed_this_object(global_object)); auto* set = TRY_OR_DISCARD(typed_this_object(global_object));
return Value(set->values().size()); return Value(set->values().size());

View file

@ -20,15 +20,15 @@ public:
virtual ~SetPrototype() override; virtual ~SetPrototype() override;
private: private:
JS_DECLARE_NATIVE_FUNCTION(add); JS_DECLARE_OLD_NATIVE_FUNCTION(add);
JS_DECLARE_NATIVE_FUNCTION(clear); JS_DECLARE_OLD_NATIVE_FUNCTION(clear);
JS_DECLARE_NATIVE_FUNCTION(delete_); JS_DECLARE_OLD_NATIVE_FUNCTION(delete_);
JS_DECLARE_NATIVE_FUNCTION(entries); JS_DECLARE_OLD_NATIVE_FUNCTION(entries);
JS_DECLARE_NATIVE_FUNCTION(for_each); JS_DECLARE_OLD_NATIVE_FUNCTION(for_each);
JS_DECLARE_NATIVE_FUNCTION(has); JS_DECLARE_OLD_NATIVE_FUNCTION(has);
JS_DECLARE_NATIVE_FUNCTION(values); JS_DECLARE_OLD_NATIVE_FUNCTION(values);
JS_DECLARE_NATIVE_FUNCTION(size_getter); JS_DECLARE_OLD_NATIVE_FUNCTION(size_getter);
}; };
} }

View file

@ -30,7 +30,7 @@ void ShadowRealmPrototype::initialize(GlobalObject& global_object)
} }
// 3.4.1 ShadowRealm.prototype.evaluate ( sourceText ), https://tc39.es/proposal-shadowrealm/#sec-shadowrealm.prototype.evaluate // 3.4.1 ShadowRealm.prototype.evaluate ( sourceText ), https://tc39.es/proposal-shadowrealm/#sec-shadowrealm.prototype.evaluate
JS_DEFINE_NATIVE_FUNCTION(ShadowRealmPrototype::evaluate) JS_DEFINE_OLD_NATIVE_FUNCTION(ShadowRealmPrototype::evaluate)
{ {
auto source_text = vm.argument(0); auto source_text = vm.argument(0);
@ -55,7 +55,7 @@ JS_DEFINE_NATIVE_FUNCTION(ShadowRealmPrototype::evaluate)
} }
// 3.4.2 ShadowRealm.prototype.importValue ( specifier, exportName ), https://tc39.es/proposal-shadowrealm/#sec-shadowrealm.prototype.importvalue // 3.4.2 ShadowRealm.prototype.importValue ( specifier, exportName ), https://tc39.es/proposal-shadowrealm/#sec-shadowrealm.prototype.importvalue
JS_DEFINE_NATIVE_FUNCTION(ShadowRealmPrototype::import_value) JS_DEFINE_OLD_NATIVE_FUNCTION(ShadowRealmPrototype::import_value)
{ {
auto specifier = vm.argument(0); auto specifier = vm.argument(0);
auto export_name = vm.argument(1); auto export_name = vm.argument(1);

View file

@ -20,8 +20,8 @@ public:
virtual ~ShadowRealmPrototype() override = default; virtual ~ShadowRealmPrototype() override = default;
private: private:
JS_DECLARE_NATIVE_FUNCTION(evaluate); JS_DECLARE_OLD_NATIVE_FUNCTION(evaluate);
JS_DECLARE_NATIVE_FUNCTION(import_value); JS_DECLARE_OLD_NATIVE_FUNCTION(import_value);
}; };
} }

Some files were not shown because too many files have changed in this diff Show more