mirror of
https://github.com/RGBCube/serenity
synced 2025-07-24 22:27:42 +00:00
Libraries: Use default constructors/destructors in LibJS
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#cother-other-default-operation-rules "The compiler is more likely to get the default semantics right and you cannot implement these functions better than the compiler."
This commit is contained in:
parent
07c7827dee
commit
d00b79568f
192 changed files with 104 additions and 492 deletions
|
@ -46,7 +46,7 @@ create_ast_node(SourceRange range, Args&&... args)
|
||||||
|
|
||||||
class ASTNode : public RefCounted<ASTNode> {
|
class ASTNode : public RefCounted<ASTNode> {
|
||||||
public:
|
public:
|
||||||
virtual ~ASTNode() { }
|
virtual ~ASTNode() = default;
|
||||||
virtual Completion execute(Interpreter&, GlobalObject&) const = 0;
|
virtual Completion execute(Interpreter&, GlobalObject&) const = 0;
|
||||||
virtual Bytecode::CodeGenerationErrorOr<void> generate_bytecode(Bytecode::Generator&) const;
|
virtual Bytecode::CodeGenerationErrorOr<void> generate_bytecode(Bytecode::Generator&) const;
|
||||||
virtual void dump(int indent) const;
|
virtual void dump(int indent) const;
|
||||||
|
|
|
@ -19,10 +19,6 @@ Generator::Generator()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
Generator::~Generator()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
CodeGenerationErrorOr<NonnullOwnPtr<Executable>> Generator::generate(ASTNode const& node, FunctionKind enclosing_function_kind)
|
CodeGenerationErrorOr<NonnullOwnPtr<Executable>> Generator::generate(ASTNode const& node, FunctionKind enclosing_function_kind)
|
||||||
{
|
{
|
||||||
Generator generator;
|
Generator generator;
|
||||||
|
|
|
@ -194,7 +194,7 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Generator();
|
Generator();
|
||||||
~Generator();
|
~Generator() = default;
|
||||||
|
|
||||||
void grow(size_t);
|
void grow(size_t);
|
||||||
void* next_slot();
|
void* next_slot();
|
||||||
|
|
|
@ -17,10 +17,6 @@
|
||||||
|
|
||||||
namespace JS {
|
namespace JS {
|
||||||
|
|
||||||
BlockAllocator::BlockAllocator()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
BlockAllocator::~BlockAllocator()
|
BlockAllocator::~BlockAllocator()
|
||||||
{
|
{
|
||||||
for (auto* block : m_blocks) {
|
for (auto* block : m_blocks) {
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace JS {
|
||||||
|
|
||||||
class BlockAllocator {
|
class BlockAllocator {
|
||||||
public:
|
public:
|
||||||
BlockAllocator();
|
BlockAllocator() = default;
|
||||||
~BlockAllocator();
|
~BlockAllocator();
|
||||||
|
|
||||||
void* allocate_block(char const* name);
|
void* allocate_block(char const* name);
|
||||||
|
|
|
@ -19,7 +19,7 @@ class Cell {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual void initialize(GlobalObject&) { }
|
virtual void initialize(GlobalObject&) { }
|
||||||
virtual ~Cell() { }
|
virtual ~Cell() = default;
|
||||||
|
|
||||||
bool is_marked() const { return m_mark; }
|
bool is_marked() const { return m_mark; }
|
||||||
void set_marked(bool b) { m_mark = b; }
|
void set_marked(bool b) { m_mark = b; }
|
||||||
|
@ -55,7 +55,7 @@ public:
|
||||||
VM& vm() const;
|
VM& vm() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
Cell() { }
|
Cell() = default;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool m_mark : 1 { false };
|
bool m_mark : 1 { false };
|
||||||
|
|
|
@ -173,7 +173,7 @@ __attribute__((no_sanitize("address"))) void Heap::gather_conservative_roots(Has
|
||||||
|
|
||||||
class MarkingVisitor final : public Cell::Visitor {
|
class MarkingVisitor final : public Cell::Visitor {
|
||||||
public:
|
public:
|
||||||
MarkingVisitor() { }
|
MarkingVisitor() = default;
|
||||||
|
|
||||||
virtual void visit_impl(Cell& cell) override
|
virtual void visit_impl(Cell& cell) override
|
||||||
{
|
{
|
||||||
|
|
|
@ -36,10 +36,6 @@ Interpreter::Interpreter(VM& vm)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
Interpreter::~Interpreter()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// 16.1.6 ScriptEvaluation ( scriptRecord ), https://tc39.es/ecma262/#sec-runtime-semantics-scriptevaluation
|
// 16.1.6 ScriptEvaluation ( scriptRecord ), https://tc39.es/ecma262/#sec-runtime-semantics-scriptevaluation
|
||||||
ThrowCompletionOr<Value> Interpreter::run(Script& script_record)
|
ThrowCompletionOr<Value> Interpreter::run(Script& script_record)
|
||||||
{
|
{
|
||||||
|
|
|
@ -101,7 +101,7 @@ public:
|
||||||
|
|
||||||
static NonnullOwnPtr<Interpreter> create_with_existing_realm(Realm&);
|
static NonnullOwnPtr<Interpreter> create_with_existing_realm(Realm&);
|
||||||
|
|
||||||
~Interpreter();
|
~Interpreter() = default;
|
||||||
|
|
||||||
ThrowCompletionOr<Value> run(Script&);
|
ThrowCompletionOr<Value> run(Script&);
|
||||||
ThrowCompletionOr<Value> run(SourceTextModule&);
|
ThrowCompletionOr<Value> run(SourceTextModule&);
|
||||||
|
|
|
@ -17,10 +17,6 @@ Module::Module(Realm& realm, String filename)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
Module::~Module()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// 16.2.1.5.1.1 InnerModuleLinking ( module, stack, index ), https://tc39.es/ecma262/#sec-InnerModuleLinking
|
// 16.2.1.5.1.1 InnerModuleLinking ( module, stack, index ), https://tc39.es/ecma262/#sec-InnerModuleLinking
|
||||||
ThrowCompletionOr<u32> Module::inner_module_linking(VM& vm, Vector<Module*>&, u32 index)
|
ThrowCompletionOr<u32> Module::inner_module_linking(VM& vm, Vector<Module*>&, u32 index)
|
||||||
{
|
{
|
||||||
|
|
|
@ -59,7 +59,7 @@ class Module
|
||||||
: public RefCounted<Module>
|
: public RefCounted<Module>
|
||||||
, public Weakable<Module> {
|
, public Weakable<Module> {
|
||||||
public:
|
public:
|
||||||
virtual ~Module();
|
virtual ~Module() = default;
|
||||||
|
|
||||||
Realm& realm() { return *m_realm.cell(); }
|
Realm& realm() { return *m_realm.cell(); }
|
||||||
Realm const& realm() const { return *m_realm.cell(); }
|
Realm const& realm() const { return *m_realm.cell(); }
|
||||||
|
|
|
@ -23,10 +23,6 @@ void ArgumentsObject::initialize(GlobalObject& global_object)
|
||||||
m_parameter_map = Object::create(global_object, nullptr);
|
m_parameter_map = Object::create(global_object, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
ArgumentsObject::~ArgumentsObject()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void ArgumentsObject::visit_edges(Cell::Visitor& visitor)
|
void ArgumentsObject::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
|
|
|
@ -19,7 +19,7 @@ public:
|
||||||
ArgumentsObject(GlobalObject&, Environment&);
|
ArgumentsObject(GlobalObject&, Environment&);
|
||||||
|
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~ArgumentsObject() override;
|
virtual ~ArgumentsObject() override = default;
|
||||||
|
|
||||||
Environment& environment() { return m_environment; }
|
Environment& environment() { return m_environment; }
|
||||||
|
|
||||||
|
|
|
@ -52,10 +52,6 @@ Array::Array(Object& prototype)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
Array::~Array()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// 10.4.2.4 ArraySetLength ( A, Desc ), https://tc39.es/ecma262/#sec-arraysetlength
|
// 10.4.2.4 ArraySetLength ( A, Desc ), https://tc39.es/ecma262/#sec-arraysetlength
|
||||||
ThrowCompletionOr<bool> Array::set_length(PropertyDescriptor const& property_descriptor)
|
ThrowCompletionOr<bool> Array::set_length(PropertyDescriptor const& property_descriptor)
|
||||||
{
|
{
|
||||||
|
|
|
@ -35,7 +35,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
explicit Array(Object& prototype);
|
explicit Array(Object& prototype);
|
||||||
virtual ~Array() override;
|
virtual ~Array() override = default;
|
||||||
|
|
||||||
virtual ThrowCompletionOr<Optional<PropertyDescriptor>> internal_get_own_property(PropertyKey const&) const override;
|
virtual ThrowCompletionOr<Optional<PropertyDescriptor>> internal_get_own_property(PropertyKey const&) const override;
|
||||||
virtual ThrowCompletionOr<bool> internal_define_own_property(PropertyKey const&, PropertyDescriptor const&) override;
|
virtual ThrowCompletionOr<bool> internal_define_own_property(PropertyKey const&, PropertyDescriptor const&) override;
|
||||||
|
|
|
@ -44,10 +44,6 @@ ArrayBuffer::ArrayBuffer(ByteBuffer* buffer, Object& prototype)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
ArrayBuffer::~ArrayBuffer()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// 1.1.5 IsResizableArrayBuffer ( arrayBuffer ), https://tc39.es/proposal-resizablearraybuffer/#sec-isresizablearraybuffer
|
// 1.1.5 IsResizableArrayBuffer ( arrayBuffer ), https://tc39.es/proposal-resizablearraybuffer/#sec-isresizablearraybuffer
|
||||||
bool ArrayBuffer::is_resizable_array_buffer() const
|
bool ArrayBuffer::is_resizable_array_buffer() const
|
||||||
{
|
{
|
||||||
|
|
|
@ -31,7 +31,7 @@ public:
|
||||||
|
|
||||||
ArrayBuffer(ByteBuffer buffer, Object& prototype);
|
ArrayBuffer(ByteBuffer buffer, Object& prototype);
|
||||||
ArrayBuffer(ByteBuffer* buffer, Object& prototype);
|
ArrayBuffer(ByteBuffer* buffer, Object& prototype);
|
||||||
virtual ~ArrayBuffer() override;
|
virtual ~ArrayBuffer() override = default;
|
||||||
|
|
||||||
size_t byte_length() const { return buffer_impl().size(); }
|
size_t byte_length() const { return buffer_impl().size(); }
|
||||||
size_t max_byte_length() const { return m_max_byte_length.value(); } // Will VERIFY() that it has value
|
size_t max_byte_length() const { return m_max_byte_length.value(); } // Will VERIFY() that it has value
|
||||||
|
|
|
@ -36,10 +36,6 @@ void ArrayBufferConstructor::initialize(GlobalObject& global_object)
|
||||||
define_direct_property(vm.names.length, Value(1), Attribute::Configurable);
|
define_direct_property(vm.names.length, Value(1), Attribute::Configurable);
|
||||||
}
|
}
|
||||||
|
|
||||||
ArrayBufferConstructor::~ArrayBufferConstructor()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// 25.1.3.1 ArrayBuffer ( length ), https://tc39.es/ecma262/#sec-arraybuffer-length
|
// 25.1.3.1 ArrayBuffer ( length ), https://tc39.es/ecma262/#sec-arraybuffer-length
|
||||||
ThrowCompletionOr<Value> ArrayBufferConstructor::call()
|
ThrowCompletionOr<Value> ArrayBufferConstructor::call()
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,7 +16,7 @@ class ArrayBufferConstructor final : public NativeFunction {
|
||||||
public:
|
public:
|
||||||
explicit ArrayBufferConstructor(GlobalObject&);
|
explicit ArrayBufferConstructor(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~ArrayBufferConstructor() override;
|
virtual ~ArrayBufferConstructor() override = default;
|
||||||
|
|
||||||
virtual ThrowCompletionOr<Value> call() override;
|
virtual ThrowCompletionOr<Value> call() override;
|
||||||
virtual ThrowCompletionOr<Object*> construct(FunctionObject& new_target) override;
|
virtual ThrowCompletionOr<Object*> construct(FunctionObject& new_target) override;
|
||||||
|
|
|
@ -35,10 +35,6 @@ void ArrayBufferPrototype::initialize(GlobalObject& global_object)
|
||||||
define_direct_property(*vm.well_known_symbol_to_string_tag(), js_string(vm, vm.names.ArrayBuffer.as_string()), Attribute::Configurable);
|
define_direct_property(*vm.well_known_symbol_to_string_tag(), js_string(vm, vm.names.ArrayBuffer.as_string()), Attribute::Configurable);
|
||||||
}
|
}
|
||||||
|
|
||||||
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_NATIVE_FUNCTION(ArrayBufferPrototype::slice)
|
||||||
{
|
{
|
||||||
|
|
|
@ -17,7 +17,7 @@ class ArrayBufferPrototype final : public PrototypeObject<ArrayBufferPrototype,
|
||||||
public:
|
public:
|
||||||
explicit ArrayBufferPrototype(GlobalObject&);
|
explicit ArrayBufferPrototype(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~ArrayBufferPrototype() override;
|
virtual ~ArrayBufferPrototype() override = default;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
JS_DECLARE_NATIVE_FUNCTION(slice);
|
JS_DECLARE_NATIVE_FUNCTION(slice);
|
||||||
|
|
|
@ -21,10 +21,6 @@ ArrayConstructor::ArrayConstructor(GlobalObject& global_object)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
ArrayConstructor::~ArrayConstructor()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void ArrayConstructor::initialize(GlobalObject& global_object)
|
void ArrayConstructor::initialize(GlobalObject& global_object)
|
||||||
{
|
{
|
||||||
auto& vm = this->vm();
|
auto& vm = this->vm();
|
||||||
|
|
|
@ -16,7 +16,7 @@ class ArrayConstructor final : public NativeFunction {
|
||||||
public:
|
public:
|
||||||
explicit ArrayConstructor(GlobalObject&);
|
explicit ArrayConstructor(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~ArrayConstructor() override;
|
virtual ~ArrayConstructor() override = default;
|
||||||
|
|
||||||
virtual ThrowCompletionOr<Value> call() override;
|
virtual ThrowCompletionOr<Value> call() override;
|
||||||
virtual ThrowCompletionOr<Object*> construct(FunctionObject& new_target) override;
|
virtual ThrowCompletionOr<Object*> construct(FunctionObject& new_target) override;
|
||||||
|
|
|
@ -21,10 +21,6 @@ ArrayIterator::ArrayIterator(Value array, Object::PropertyKind iteration_kind, O
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
ArrayIterator::~ArrayIterator()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void ArrayIterator::visit_edges(Cell::Visitor& visitor)
|
void ArrayIterator::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
|
|
|
@ -17,7 +17,7 @@ public:
|
||||||
static ArrayIterator* create(GlobalObject&, Value array, Object::PropertyKind iteration_kind);
|
static ArrayIterator* create(GlobalObject&, Value array, Object::PropertyKind iteration_kind);
|
||||||
|
|
||||||
explicit ArrayIterator(Value array, Object::PropertyKind iteration_kind, Object& prototype);
|
explicit ArrayIterator(Value array, Object::PropertyKind iteration_kind, Object& prototype);
|
||||||
virtual ~ArrayIterator() override;
|
virtual ~ArrayIterator() override = default;
|
||||||
|
|
||||||
Value array() const { return m_array; }
|
Value array() const { return m_array; }
|
||||||
Object::PropertyKind iteration_kind() const { return m_iteration_kind; }
|
Object::PropertyKind iteration_kind() const { return m_iteration_kind; }
|
||||||
|
|
|
@ -30,10 +30,6 @@ void ArrayIteratorPrototype::initialize(GlobalObject& global_object)
|
||||||
define_direct_property(*vm.well_known_symbol_to_string_tag(), js_string(global_object.heap(), "Array Iterator"), Attribute::Configurable);
|
define_direct_property(*vm.well_known_symbol_to_string_tag(), js_string(global_object.heap(), "Array Iterator"), Attribute::Configurable);
|
||||||
}
|
}
|
||||||
|
|
||||||
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_NATIVE_FUNCTION(ArrayIteratorPrototype::next)
|
||||||
|
|
|
@ -17,7 +17,7 @@ class ArrayIteratorPrototype final : public PrototypeObject<ArrayIteratorPrototy
|
||||||
public:
|
public:
|
||||||
ArrayIteratorPrototype(GlobalObject&);
|
ArrayIteratorPrototype(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~ArrayIteratorPrototype() override;
|
virtual ~ArrayIteratorPrototype() override = default;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
JS_DECLARE_NATIVE_FUNCTION(next);
|
JS_DECLARE_NATIVE_FUNCTION(next);
|
||||||
|
|
|
@ -105,10 +105,6 @@ void ArrayPrototype::initialize(GlobalObject& global_object)
|
||||||
define_direct_property(*vm.well_known_symbol_unscopables(), unscopable_list, Attribute::Configurable);
|
define_direct_property(*vm.well_known_symbol_unscopables(), unscopable_list, Attribute::Configurable);
|
||||||
}
|
}
|
||||||
|
|
||||||
ArrayPrototype::~ArrayPrototype()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// 10.4.2.3 ArraySpeciesCreate ( originalArray, length ), https://tc39.es/ecma262/#sec-arrayspeciescreate
|
// 10.4.2.3 ArraySpeciesCreate ( originalArray, length ), https://tc39.es/ecma262/#sec-arrayspeciescreate
|
||||||
static ThrowCompletionOr<Object*> array_species_create(GlobalObject& global_object, Object& original_array, size_t length)
|
static ThrowCompletionOr<Object*> array_species_create(GlobalObject& global_object, Object& original_array, size_t length)
|
||||||
{
|
{
|
||||||
|
|
|
@ -17,7 +17,7 @@ class ArrayPrototype final : public Array {
|
||||||
public:
|
public:
|
||||||
ArrayPrototype(GlobalObject&);
|
ArrayPrototype(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~ArrayPrototype() override;
|
virtual ~ArrayPrototype() override = default;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
JS_DECLARE_NATIVE_FUNCTION(filter);
|
JS_DECLARE_NATIVE_FUNCTION(filter);
|
||||||
|
|
|
@ -60,10 +60,6 @@ ThrowCompletionOr<Value> AsyncFunctionDriverWrapper::react_to_async_task_complet
|
||||||
return promise->perform_then(m_on_fulfillment, m_on_rejection, PromiseCapability { promise, m_on_fulfillment, m_on_rejection });
|
return promise->perform_then(m_on_fulfillment, m_on_rejection, PromiseCapability { promise, m_on_fulfillment, m_on_rejection });
|
||||||
}
|
}
|
||||||
|
|
||||||
AsyncFunctionDriverWrapper::~AsyncFunctionDriverWrapper()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void AsyncFunctionDriverWrapper::visit_edges(Cell::Visitor& visitor)
|
void AsyncFunctionDriverWrapper::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
|
|
|
@ -21,7 +21,7 @@ public:
|
||||||
static ThrowCompletionOr<Value> create(GlobalObject&, GeneratorObject*);
|
static ThrowCompletionOr<Value> create(GlobalObject&, GeneratorObject*);
|
||||||
explicit AsyncFunctionDriverWrapper(GlobalObject&, GeneratorObject*);
|
explicit AsyncFunctionDriverWrapper(GlobalObject&, GeneratorObject*);
|
||||||
|
|
||||||
virtual ~AsyncFunctionDriverWrapper() override;
|
virtual ~AsyncFunctionDriverWrapper() override = default;
|
||||||
void visit_edges(Cell::Visitor&) override;
|
void visit_edges(Cell::Visitor&) override;
|
||||||
|
|
||||||
ThrowCompletionOr<Value> react_to_async_task_completion(VM&, GlobalObject&, Value, bool is_successful);
|
ThrowCompletionOr<Value> react_to_async_task_completion(VM&, GlobalObject&, Value, bool is_successful);
|
||||||
|
|
|
@ -17,10 +17,6 @@ BigInt::BigInt(Crypto::SignedBigInteger big_integer)
|
||||||
VERIFY(!m_big_integer.is_invalid());
|
VERIFY(!m_big_integer.is_invalid());
|
||||||
}
|
}
|
||||||
|
|
||||||
BigInt::~BigInt()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
BigInt* js_bigint(Heap& heap, Crypto::SignedBigInteger big_integer)
|
BigInt* js_bigint(Heap& heap, Crypto::SignedBigInteger big_integer)
|
||||||
{
|
{
|
||||||
return heap.allocate_without_global_object<BigInt>(move(big_integer));
|
return heap.allocate_without_global_object<BigInt>(move(big_integer));
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace JS {
|
||||||
class BigInt final : public Cell {
|
class BigInt final : public Cell {
|
||||||
public:
|
public:
|
||||||
explicit BigInt(Crypto::SignedBigInteger);
|
explicit BigInt(Crypto::SignedBigInteger);
|
||||||
virtual ~BigInt();
|
virtual ~BigInt() override = default;
|
||||||
|
|
||||||
const Crypto::SignedBigInteger& big_integer() const { return m_big_integer; }
|
const Crypto::SignedBigInteger& big_integer() const { return m_big_integer; }
|
||||||
const String to_string() const { return String::formatted("{}n", m_big_integer.to_base(10)); }
|
const String to_string() const { return String::formatted("{}n", m_big_integer.to_base(10)); }
|
||||||
|
|
|
@ -37,10 +37,6 @@ void BigIntConstructor::initialize(GlobalObject& global_object)
|
||||||
define_direct_property(vm.names.length, Value(1), Attribute::Configurable);
|
define_direct_property(vm.names.length, Value(1), Attribute::Configurable);
|
||||||
}
|
}
|
||||||
|
|
||||||
BigIntConstructor::~BigIntConstructor()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// 21.2.1.1 BigInt ( value ), https://tc39.es/ecma262/#sec-bigint-constructor-number-value
|
// 21.2.1.1 BigInt ( value ), https://tc39.es/ecma262/#sec-bigint-constructor-number-value
|
||||||
ThrowCompletionOr<Value> BigIntConstructor::call()
|
ThrowCompletionOr<Value> BigIntConstructor::call()
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,7 +16,7 @@ class BigIntConstructor final : public NativeFunction {
|
||||||
public:
|
public:
|
||||||
explicit BigIntConstructor(GlobalObject&);
|
explicit BigIntConstructor(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~BigIntConstructor() override;
|
virtual ~BigIntConstructor() override = default;
|
||||||
|
|
||||||
virtual ThrowCompletionOr<Value> call() override;
|
virtual ThrowCompletionOr<Value> call() override;
|
||||||
virtual ThrowCompletionOr<Object*> construct(FunctionObject& new_target) override;
|
virtual ThrowCompletionOr<Object*> construct(FunctionObject& new_target) override;
|
||||||
|
|
|
@ -20,10 +20,6 @@ BigIntObject::BigIntObject(BigInt& bigint, Object& prototype)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
BigIntObject::~BigIntObject()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void BigIntObject::visit_edges(Cell::Visitor& visitor)
|
void BigIntObject::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
|
|
|
@ -18,7 +18,7 @@ public:
|
||||||
static BigIntObject* create(GlobalObject&, BigInt&);
|
static BigIntObject* create(GlobalObject&, BigInt&);
|
||||||
|
|
||||||
BigIntObject(BigInt&, Object& prototype);
|
BigIntObject(BigInt&, Object& prototype);
|
||||||
virtual ~BigIntObject();
|
virtual ~BigIntObject() override = default;
|
||||||
|
|
||||||
BigInt const& bigint() const { return m_bigint; }
|
BigInt const& bigint() const { return m_bigint; }
|
||||||
BigInt& bigint() { return m_bigint; }
|
BigInt& bigint() { return m_bigint; }
|
||||||
|
|
|
@ -35,10 +35,6 @@ void BigIntPrototype::initialize(GlobalObject& global_object)
|
||||||
define_direct_property(*vm.well_known_symbol_to_string_tag(), js_string(global_object.heap(), vm.names.BigInt.as_string()), Attribute::Configurable);
|
define_direct_property(*vm.well_known_symbol_to_string_tag(), js_string(global_object.heap(), vm.names.BigInt.as_string()), Attribute::Configurable);
|
||||||
}
|
}
|
||||||
|
|
||||||
BigIntPrototype::~BigIntPrototype()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// thisBigIntValue ( value ), https://tc39.es/ecma262/#thisbigintvalue
|
// thisBigIntValue ( value ), https://tc39.es/ecma262/#thisbigintvalue
|
||||||
static ThrowCompletionOr<BigInt*> this_bigint_value(GlobalObject& global_object, Value value)
|
static ThrowCompletionOr<BigInt*> this_bigint_value(GlobalObject& global_object, Value value)
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,7 +16,7 @@ class BigIntPrototype final : public Object {
|
||||||
public:
|
public:
|
||||||
explicit BigIntPrototype(GlobalObject&);
|
explicit BigIntPrototype(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~BigIntPrototype() override;
|
virtual ~BigIntPrototype() override = default;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
JS_DECLARE_NATIVE_FUNCTION(to_string);
|
JS_DECLARE_NATIVE_FUNCTION(to_string);
|
||||||
|
|
|
@ -27,10 +27,6 @@ void BooleanConstructor::initialize(GlobalObject& global_object)
|
||||||
define_direct_property(vm.names.length, Value(1), Attribute::Configurable);
|
define_direct_property(vm.names.length, Value(1), Attribute::Configurable);
|
||||||
}
|
}
|
||||||
|
|
||||||
BooleanConstructor::~BooleanConstructor()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// 20.3.1.1 Boolean ( value ), https://tc39.es/ecma262/#sec-boolean-constructor-boolean-value
|
// 20.3.1.1 Boolean ( value ), https://tc39.es/ecma262/#sec-boolean-constructor-boolean-value
|
||||||
ThrowCompletionOr<Value> BooleanConstructor::call()
|
ThrowCompletionOr<Value> BooleanConstructor::call()
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,7 +16,7 @@ class BooleanConstructor final : public NativeFunction {
|
||||||
public:
|
public:
|
||||||
explicit BooleanConstructor(GlobalObject&);
|
explicit BooleanConstructor(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~BooleanConstructor() override;
|
virtual ~BooleanConstructor() override = default;
|
||||||
|
|
||||||
virtual ThrowCompletionOr<Value> call() override;
|
virtual ThrowCompletionOr<Value> call() override;
|
||||||
virtual ThrowCompletionOr<Object*> construct(FunctionObject& new_target) override;
|
virtual ThrowCompletionOr<Object*> construct(FunctionObject& new_target) override;
|
||||||
|
|
|
@ -19,9 +19,4 @@ BooleanObject::BooleanObject(bool value, Object& prototype)
|
||||||
, m_value(value)
|
, m_value(value)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
BooleanObject::~BooleanObject()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@ public:
|
||||||
static BooleanObject* create(GlobalObject&, bool);
|
static BooleanObject* create(GlobalObject&, bool);
|
||||||
|
|
||||||
BooleanObject(bool, Object& prototype);
|
BooleanObject(bool, Object& prototype);
|
||||||
virtual ~BooleanObject() override;
|
virtual ~BooleanObject() override = default;
|
||||||
|
|
||||||
bool boolean() const { return m_value; }
|
bool boolean() const { return m_value; }
|
||||||
|
|
||||||
|
|
|
@ -26,10 +26,6 @@ void BooleanPrototype::initialize(GlobalObject& global_object)
|
||||||
define_native_function(vm.names.valueOf, value_of, 0, attr);
|
define_native_function(vm.names.valueOf, value_of, 0, attr);
|
||||||
}
|
}
|
||||||
|
|
||||||
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_NATIVE_FUNCTION(BooleanPrototype::to_string)
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,7 +16,7 @@ class BooleanPrototype final : public BooleanObject {
|
||||||
public:
|
public:
|
||||||
explicit BooleanPrototype(GlobalObject&);
|
explicit BooleanPrototype(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~BooleanPrototype() override;
|
virtual ~BooleanPrototype() override = default;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
JS_DECLARE_NATIVE_FUNCTION(to_string);
|
JS_DECLARE_NATIVE_FUNCTION(to_string);
|
||||||
|
|
|
@ -42,10 +42,6 @@ BoundFunction::BoundFunction(GlobalObject& global_object, FunctionObject& bound_
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
BoundFunction::~BoundFunction()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// 10.4.1.1 [[Call]] ( thisArgument, argumentsList ), https://tc39.es/ecma262/#sec-bound-function-exotic-objects-call-thisargument-argumentslist
|
// 10.4.1.1 [[Call]] ( thisArgument, argumentsList ), https://tc39.es/ecma262/#sec-bound-function-exotic-objects-call-thisargument-argumentslist
|
||||||
ThrowCompletionOr<Value> BoundFunction::internal_call([[maybe_unused]] Value this_argument, MarkedVector<Value> arguments_list)
|
ThrowCompletionOr<Value> BoundFunction::internal_call([[maybe_unused]] Value this_argument, MarkedVector<Value> arguments_list)
|
||||||
{
|
{
|
||||||
|
|
|
@ -18,7 +18,7 @@ public:
|
||||||
static ThrowCompletionOr<BoundFunction*> create(GlobalObject&, FunctionObject& target_function, Value bound_this, Vector<Value> bound_arguments);
|
static ThrowCompletionOr<BoundFunction*> create(GlobalObject&, FunctionObject& target_function, Value bound_this, Vector<Value> bound_arguments);
|
||||||
|
|
||||||
BoundFunction(GlobalObject&, FunctionObject& target_function, Value bound_this, Vector<Value> bound_arguments, Object* prototype);
|
BoundFunction(GlobalObject&, FunctionObject& target_function, Value bound_this, Vector<Value> bound_arguments, Object* prototype);
|
||||||
virtual ~BoundFunction();
|
virtual ~BoundFunction() override = default;
|
||||||
|
|
||||||
virtual ThrowCompletionOr<Value> internal_call(Value this_argument, MarkedVector<Value> arguments_list) override;
|
virtual ThrowCompletionOr<Value> internal_call(Value this_argument, MarkedVector<Value> arguments_list) override;
|
||||||
virtual ThrowCompletionOr<Object*> internal_construct(MarkedVector<Value> arguments_list, FunctionObject& new_target) override;
|
virtual ThrowCompletionOr<Object*> internal_construct(MarkedVector<Value> arguments_list, FunctionObject& new_target) override;
|
||||||
|
|
|
@ -40,10 +40,6 @@ void ConsoleObject::initialize(GlobalObject& global_object)
|
||||||
define_native_function(vm.names.timeEnd, time_end, 0, attr);
|
define_native_function(vm.names.timeEnd, time_end, 0, attr);
|
||||||
}
|
}
|
||||||
|
|
||||||
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_NATIVE_FUNCTION(ConsoleObject::log)
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,7 +16,7 @@ class ConsoleObject final : public Object {
|
||||||
public:
|
public:
|
||||||
explicit ConsoleObject(GlobalObject&);
|
explicit ConsoleObject(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~ConsoleObject() override;
|
virtual ~ConsoleObject() override = default;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
JS_DECLARE_NATIVE_FUNCTION(log);
|
JS_DECLARE_NATIVE_FUNCTION(log);
|
||||||
|
|
|
@ -21,10 +21,6 @@ DataView::DataView(ArrayBuffer* viewed_buffer, size_t byte_length, size_t byte_o
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
DataView::~DataView()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void DataView::visit_edges(Visitor& visitor)
|
void DataView::visit_edges(Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
|
|
|
@ -19,7 +19,7 @@ public:
|
||||||
static DataView* create(GlobalObject&, ArrayBuffer*, size_t byte_length, size_t byte_offset);
|
static DataView* create(GlobalObject&, ArrayBuffer*, size_t byte_length, size_t byte_offset);
|
||||||
|
|
||||||
explicit DataView(ArrayBuffer*, size_t byte_length, size_t byte_offset, Object& prototype);
|
explicit DataView(ArrayBuffer*, size_t byte_length, size_t byte_offset, Object& prototype);
|
||||||
virtual ~DataView() override;
|
virtual ~DataView() override = default;
|
||||||
|
|
||||||
ArrayBuffer* viewed_array_buffer() const { return m_viewed_array_buffer; }
|
ArrayBuffer* viewed_array_buffer() const { return m_viewed_array_buffer; }
|
||||||
size_t byte_length() const { return m_byte_length; }
|
size_t byte_length() const { return m_byte_length; }
|
||||||
|
|
|
@ -28,10 +28,6 @@ void DataViewConstructor::initialize(GlobalObject& global_object)
|
||||||
define_direct_property(vm.names.length, Value(1), Attribute::Configurable);
|
define_direct_property(vm.names.length, Value(1), Attribute::Configurable);
|
||||||
}
|
}
|
||||||
|
|
||||||
DataViewConstructor::~DataViewConstructor()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// 25.3.2.1 DataView ( buffer [ , byteOffset [ , byteLength ] ] ), https://tc39.es/ecma262/#sec-dataview-buffer-byteoffset-bytelength
|
// 25.3.2.1 DataView ( buffer [ , byteOffset [ , byteLength ] ] ), https://tc39.es/ecma262/#sec-dataview-buffer-byteoffset-bytelength
|
||||||
ThrowCompletionOr<Value> DataViewConstructor::call()
|
ThrowCompletionOr<Value> DataViewConstructor::call()
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,7 +16,7 @@ class DataViewConstructor final : public NativeFunction {
|
||||||
public:
|
public:
|
||||||
explicit DataViewConstructor(GlobalObject&);
|
explicit DataViewConstructor(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~DataViewConstructor() override;
|
virtual ~DataViewConstructor() override = default;
|
||||||
|
|
||||||
virtual ThrowCompletionOr<Value> call() override;
|
virtual ThrowCompletionOr<Value> call() override;
|
||||||
virtual ThrowCompletionOr<Object*> construct(FunctionObject&) override;
|
virtual ThrowCompletionOr<Object*> construct(FunctionObject&) override;
|
||||||
|
|
|
@ -50,10 +50,6 @@ void DataViewPrototype::initialize(GlobalObject& global_object)
|
||||||
define_direct_property(*vm.well_known_symbol_to_string_tag(), js_string(global_object.heap(), vm.names.DataView.as_string()), Attribute::Configurable);
|
define_direct_property(*vm.well_known_symbol_to_string_tag(), js_string(global_object.heap(), vm.names.DataView.as_string()), Attribute::Configurable);
|
||||||
}
|
}
|
||||||
|
|
||||||
DataViewPrototype::~DataViewPrototype()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// 25.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ), https://tc39.es/ecma262/#sec-getviewvalue
|
// 25.3.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type ), https://tc39.es/ecma262/#sec-getviewvalue
|
||||||
template<typename T>
|
template<typename T>
|
||||||
static ThrowCompletionOr<Value> get_view_value(GlobalObject& global_object, Value request_index, Value is_little_endian)
|
static ThrowCompletionOr<Value> get_view_value(GlobalObject& global_object, Value request_index, Value is_little_endian)
|
||||||
|
|
|
@ -17,7 +17,7 @@ class DataViewPrototype final : public PrototypeObject<DataViewPrototype, DataVi
|
||||||
public:
|
public:
|
||||||
DataViewPrototype(GlobalObject&);
|
DataViewPrototype(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~DataViewPrototype() override;
|
virtual ~DataViewPrototype() override = default;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
JS_DECLARE_NATIVE_FUNCTION(get_big_int_64);
|
JS_DECLARE_NATIVE_FUNCTION(get_big_int_64);
|
||||||
|
|
|
@ -28,10 +28,6 @@ Date::Date(double date_value, Object& prototype)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
Date::~Date()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
String Date::iso_date_string() const
|
String Date::iso_date_string() const
|
||||||
{
|
{
|
||||||
int year = year_from_time(m_date_value);
|
int year = year_from_time(m_date_value);
|
||||||
|
|
|
@ -19,7 +19,7 @@ public:
|
||||||
static Date* now(GlobalObject&);
|
static Date* now(GlobalObject&);
|
||||||
|
|
||||||
Date(double date_value, Object& prototype);
|
Date(double date_value, Object& prototype);
|
||||||
virtual ~Date() override;
|
virtual ~Date() override = default;
|
||||||
|
|
||||||
double date_value() const { return m_date_value; }
|
double date_value() const { return m_date_value; }
|
||||||
void set_date_value(double value) { m_date_value = value; }
|
void set_date_value(double value) { m_date_value = value; }
|
||||||
|
|
|
@ -180,10 +180,6 @@ void DateConstructor::initialize(GlobalObject& global_object)
|
||||||
define_direct_property(vm.names.length, Value(7), Attribute::Configurable);
|
define_direct_property(vm.names.length, Value(7), Attribute::Configurable);
|
||||||
}
|
}
|
||||||
|
|
||||||
DateConstructor::~DateConstructor()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// 21.4.2.1 Date ( ...values ), https://tc39.es/ecma262/#sec-date
|
// 21.4.2.1 Date ( ...values ), https://tc39.es/ecma262/#sec-date
|
||||||
ThrowCompletionOr<Value> DateConstructor::call()
|
ThrowCompletionOr<Value> DateConstructor::call()
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,7 +16,7 @@ class DateConstructor final : public NativeFunction {
|
||||||
public:
|
public:
|
||||||
explicit DateConstructor(GlobalObject&);
|
explicit DateConstructor(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~DateConstructor() override;
|
virtual ~DateConstructor() override = default;
|
||||||
|
|
||||||
virtual ThrowCompletionOr<Value> call() override;
|
virtual ThrowCompletionOr<Value> call() override;
|
||||||
virtual ThrowCompletionOr<Object*> construct(FunctionObject& new_target) override;
|
virtual ThrowCompletionOr<Object*> construct(FunctionObject& new_target) override;
|
||||||
|
|
|
@ -104,10 +104,6 @@ void DatePrototype::initialize(GlobalObject& global_object)
|
||||||
define_direct_property(vm.names.toGMTString, get_without_side_effects(vm.names.toUTCString), attr);
|
define_direct_property(vm.names.toGMTString, get_without_side_effects(vm.names.toUTCString), attr);
|
||||||
}
|
}
|
||||||
|
|
||||||
DatePrototype::~DatePrototype()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// thisTimeValue ( value ), https://tc39.es/ecma262/#thistimevalue
|
// thisTimeValue ( value ), https://tc39.es/ecma262/#thistimevalue
|
||||||
ThrowCompletionOr<Value> this_time_value(GlobalObject& global_object, Value value)
|
ThrowCompletionOr<Value> this_time_value(GlobalObject& global_object, Value value)
|
||||||
{
|
{
|
||||||
|
|
|
@ -17,7 +17,7 @@ class DatePrototype final : public PrototypeObject<DatePrototype, Date> {
|
||||||
public:
|
public:
|
||||||
explicit DatePrototype(GlobalObject&);
|
explicit DatePrototype(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~DatePrototype() override;
|
virtual ~DatePrototype() override = default;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
JS_DECLARE_NATIVE_FUNCTION(get_date);
|
JS_DECLARE_NATIVE_FUNCTION(get_date);
|
||||||
|
|
|
@ -37,10 +37,6 @@ DeclarativeEnvironment::DeclarativeEnvironment(Environment* parent_scope, Span<B
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
DeclarativeEnvironment::~DeclarativeEnvironment()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void DeclarativeEnvironment::visit_edges(Visitor& visitor)
|
void DeclarativeEnvironment::visit_edges(Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
|
|
|
@ -32,7 +32,7 @@ public:
|
||||||
DeclarativeEnvironment();
|
DeclarativeEnvironment();
|
||||||
explicit DeclarativeEnvironment(Environment* parent_scope);
|
explicit DeclarativeEnvironment(Environment* parent_scope);
|
||||||
explicit DeclarativeEnvironment(Environment* parent_scope, Span<Binding const> bindings);
|
explicit DeclarativeEnvironment(Environment* parent_scope, Span<Binding const> bindings);
|
||||||
virtual ~DeclarativeEnvironment() override;
|
virtual ~DeclarativeEnvironment() override = default;
|
||||||
|
|
||||||
virtual ThrowCompletionOr<bool> has_binding(FlyString const& name, Optional<size_t>* = nullptr) const override;
|
virtual ThrowCompletionOr<bool> has_binding(FlyString const& name, Optional<size_t>* = nullptr) const override;
|
||||||
virtual ThrowCompletionOr<void> create_mutable_binding(GlobalObject&, FlyString const& name, bool can_be_deleted) override;
|
virtual ThrowCompletionOr<void> create_mutable_binding(GlobalObject&, FlyString const& name, bool can_be_deleted) override;
|
||||||
|
|
|
@ -134,10 +134,6 @@ void ECMAScriptFunctionObject::initialize(GlobalObject& global_object)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ECMAScriptFunctionObject::~ECMAScriptFunctionObject()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// 10.2.1 [[Call]] ( thisArgument, argumentsList ), https://tc39.es/ecma262/#sec-ecmascript-function-objects-call-thisargument-argumentslist
|
// 10.2.1 [[Call]] ( thisArgument, argumentsList ), https://tc39.es/ecma262/#sec-ecmascript-function-objects-call-thisargument-argumentslist
|
||||||
ThrowCompletionOr<Value> ECMAScriptFunctionObject::internal_call(Value this_argument, MarkedVector<Value> arguments_list)
|
ThrowCompletionOr<Value> ECMAScriptFunctionObject::internal_call(Value this_argument, MarkedVector<Value> arguments_list)
|
||||||
{
|
{
|
||||||
|
|
|
@ -37,7 +37,7 @@ public:
|
||||||
|
|
||||||
ECMAScriptFunctionObject(FlyString name, String source_text, Statement const& ecmascript_code, Vector<FunctionNode::Parameter> parameters, i32 m_function_length, Environment* parent_scope, PrivateEnvironment* private_scope, Object& prototype, FunctionKind, bool is_strict, bool might_need_arguments_object, bool contains_direct_call_to_eval, bool is_arrow_function);
|
ECMAScriptFunctionObject(FlyString name, String source_text, Statement const& ecmascript_code, Vector<FunctionNode::Parameter> parameters, i32 m_function_length, Environment* parent_scope, PrivateEnvironment* private_scope, Object& prototype, FunctionKind, bool is_strict, bool might_need_arguments_object, bool contains_direct_call_to_eval, bool is_arrow_function);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~ECMAScriptFunctionObject();
|
virtual ~ECMAScriptFunctionObject() override = default;
|
||||||
|
|
||||||
virtual ThrowCompletionOr<Value> internal_call(Value this_argument, MarkedVector<Value> arguments_list) override;
|
virtual ThrowCompletionOr<Value> internal_call(Value this_argument, MarkedVector<Value> arguments_list) override;
|
||||||
virtual ThrowCompletionOr<Object*> internal_construct(MarkedVector<Value> arguments_list, FunctionObject& new_target) override;
|
virtual ThrowCompletionOr<Object*> internal_construct(MarkedVector<Value> arguments_list, FunctionObject& new_target) override;
|
||||||
|
|
|
@ -17,10 +17,6 @@ FinalizationRegistry::FinalizationRegistry(Realm& realm, JS::JobCallback cleanup
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
FinalizationRegistry::~FinalizationRegistry()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void FinalizationRegistry::add_finalization_record(Cell& target, Value held_value, Object* unregister_token)
|
void FinalizationRegistry::add_finalization_record(Cell& target, Value held_value, Object* unregister_token)
|
||||||
{
|
{
|
||||||
VERIFY(!held_value.is_empty());
|
VERIFY(!held_value.is_empty());
|
||||||
|
|
|
@ -23,7 +23,7 @@ class FinalizationRegistry final
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit FinalizationRegistry(Realm&, JS::JobCallback, Object& prototype);
|
explicit FinalizationRegistry(Realm&, JS::JobCallback, Object& prototype);
|
||||||
virtual ~FinalizationRegistry() override;
|
virtual ~FinalizationRegistry() override = default;
|
||||||
|
|
||||||
void add_finalization_record(Cell& target, Value held_value, Object* unregister_token);
|
void add_finalization_record(Cell& target, Value held_value, Object* unregister_token);
|
||||||
bool remove_by_token(Object& unregister_token);
|
bool remove_by_token(Object& unregister_token);
|
||||||
|
|
|
@ -29,10 +29,6 @@ void FinalizationRegistryConstructor::initialize(GlobalObject& global_object)
|
||||||
define_direct_property(vm.names.length, Value(1), Attribute::Configurable);
|
define_direct_property(vm.names.length, Value(1), Attribute::Configurable);
|
||||||
}
|
}
|
||||||
|
|
||||||
FinalizationRegistryConstructor::~FinalizationRegistryConstructor()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// 26.2.1.1 FinalizationRegistry ( cleanupCallback ), https://tc39.es/ecma262/#sec-finalization-registry-cleanup-callback
|
// 26.2.1.1 FinalizationRegistry ( cleanupCallback ), https://tc39.es/ecma262/#sec-finalization-registry-cleanup-callback
|
||||||
ThrowCompletionOr<Value> FinalizationRegistryConstructor::call()
|
ThrowCompletionOr<Value> FinalizationRegistryConstructor::call()
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,7 +16,7 @@ class FinalizationRegistryConstructor final : public NativeFunction {
|
||||||
public:
|
public:
|
||||||
explicit FinalizationRegistryConstructor(GlobalObject&);
|
explicit FinalizationRegistryConstructor(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~FinalizationRegistryConstructor() override;
|
virtual ~FinalizationRegistryConstructor() override = default;
|
||||||
|
|
||||||
virtual ThrowCompletionOr<Value> call() override;
|
virtual ThrowCompletionOr<Value> call() override;
|
||||||
virtual ThrowCompletionOr<Object*> construct(FunctionObject&) override;
|
virtual ThrowCompletionOr<Object*> construct(FunctionObject&) override;
|
||||||
|
|
|
@ -28,10 +28,6 @@ void FinalizationRegistryPrototype::initialize(GlobalObject& global_object)
|
||||||
define_direct_property(*vm.well_known_symbol_to_string_tag(), js_string(global_object.heap(), vm.names.FinalizationRegistry.as_string()), Attribute::Configurable);
|
define_direct_property(*vm.well_known_symbol_to_string_tag(), js_string(global_object.heap(), vm.names.FinalizationRegistry.as_string()), Attribute::Configurable);
|
||||||
}
|
}
|
||||||
|
|
||||||
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_NATIVE_FUNCTION(FinalizationRegistryPrototype::cleanup_some)
|
||||||
{
|
{
|
||||||
|
|
|
@ -17,7 +17,7 @@ class FinalizationRegistryPrototype final : public PrototypeObject<FinalizationR
|
||||||
public:
|
public:
|
||||||
FinalizationRegistryPrototype(GlobalObject&);
|
FinalizationRegistryPrototype(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~FinalizationRegistryPrototype() override;
|
virtual ~FinalizationRegistryPrototype() override = default;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
JS_DECLARE_NATIVE_FUNCTION(cleanup_some);
|
JS_DECLARE_NATIVE_FUNCTION(cleanup_some);
|
||||||
|
|
|
@ -35,10 +35,6 @@ void FunctionConstructor::initialize(GlobalObject& global_object)
|
||||||
define_direct_property(vm.names.length, Value(1), Attribute::Configurable);
|
define_direct_property(vm.names.length, Value(1), Attribute::Configurable);
|
||||||
}
|
}
|
||||||
|
|
||||||
FunctionConstructor::~FunctionConstructor()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// 20.2.1.1.1 CreateDynamicFunction ( constructor, newTarget, kind, args ), https://tc39.es/ecma262/#sec-createdynamicfunction
|
// 20.2.1.1.1 CreateDynamicFunction ( constructor, newTarget, kind, args ), https://tc39.es/ecma262/#sec-createdynamicfunction
|
||||||
ThrowCompletionOr<ECMAScriptFunctionObject*> FunctionConstructor::create_dynamic_function(GlobalObject& global_object, FunctionObject& constructor, FunctionObject* new_target, FunctionKind kind, MarkedVector<Value> const& args)
|
ThrowCompletionOr<ECMAScriptFunctionObject*> FunctionConstructor::create_dynamic_function(GlobalObject& global_object, FunctionObject& constructor, FunctionObject* new_target, FunctionKind kind, MarkedVector<Value> const& args)
|
||||||
{
|
{
|
||||||
|
|
|
@ -19,7 +19,7 @@ public:
|
||||||
|
|
||||||
explicit FunctionConstructor(GlobalObject&);
|
explicit FunctionConstructor(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~FunctionConstructor() override;
|
virtual ~FunctionConstructor() override = default;
|
||||||
|
|
||||||
virtual ThrowCompletionOr<Value> call() override;
|
virtual ThrowCompletionOr<Value> call() override;
|
||||||
virtual ThrowCompletionOr<Object*> construct(FunctionObject& new_target) override;
|
virtual ThrowCompletionOr<Object*> construct(FunctionObject& new_target) override;
|
||||||
|
|
|
@ -16,10 +16,6 @@ FunctionEnvironment::FunctionEnvironment(Environment* parent_scope)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
FunctionEnvironment::~FunctionEnvironment()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void FunctionEnvironment::visit_edges(Visitor& visitor)
|
void FunctionEnvironment::visit_edges(Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
|
|
|
@ -23,7 +23,7 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
explicit FunctionEnvironment(Environment* parent_scope);
|
explicit FunctionEnvironment(Environment* parent_scope);
|
||||||
virtual ~FunctionEnvironment() override;
|
virtual ~FunctionEnvironment() override = default;
|
||||||
|
|
||||||
ThisBindingStatus this_binding_status() const { return m_this_binding_status; }
|
ThisBindingStatus this_binding_status() const { return m_this_binding_status; }
|
||||||
void set_this_binding_status(ThisBindingStatus status) { m_this_binding_status = status; }
|
void set_this_binding_status(ThisBindingStatus status) { m_this_binding_status = status; }
|
||||||
|
|
|
@ -21,10 +21,6 @@ FunctionObject::FunctionObject(Object& prototype)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
FunctionObject::~FunctionObject()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// 10.2.9 SetFunctionName ( F, name [ , prefix ] ), https://tc39.es/ecma262/#sec-setfunctionname
|
// 10.2.9 SetFunctionName ( F, name [ , prefix ] ), https://tc39.es/ecma262/#sec-setfunctionname
|
||||||
void FunctionObject::set_function_name(Variant<PropertyKey, PrivateName> const& name_arg, Optional<StringView> const& prefix)
|
void FunctionObject::set_function_name(Variant<PropertyKey, PrivateName> const& name_arg, Optional<StringView> const& prefix)
|
||||||
{
|
{
|
||||||
|
|
|
@ -19,7 +19,7 @@ class FunctionObject : public Object {
|
||||||
JS_OBJECT(Function, Object);
|
JS_OBJECT(Function, Object);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual ~FunctionObject();
|
virtual ~FunctionObject() = default;
|
||||||
virtual void initialize(GlobalObject&) override { }
|
virtual void initialize(GlobalObject&) override { }
|
||||||
|
|
||||||
// Table 7: Additional Essential Internal Methods of Function Objects, https://tc39.es/ecma262/#table-additional-essential-internal-methods-of-function-objects
|
// Table 7: Additional Essential Internal Methods of Function Objects, https://tc39.es/ecma262/#table-additional-essential-internal-methods-of-function-objects
|
||||||
|
|
|
@ -39,10 +39,6 @@ void FunctionPrototype::initialize(GlobalObject& global_object)
|
||||||
define_direct_property(vm.names.name, js_string(heap(), ""), Attribute::Configurable);
|
define_direct_property(vm.names.name, js_string(heap(), ""), Attribute::Configurable);
|
||||||
}
|
}
|
||||||
|
|
||||||
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_NATIVE_FUNCTION(FunctionPrototype::apply)
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,7 +16,7 @@ class FunctionPrototype final : public Object {
|
||||||
public:
|
public:
|
||||||
explicit FunctionPrototype(GlobalObject&);
|
explicit FunctionPrototype(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~FunctionPrototype() override;
|
virtual ~FunctionPrototype() override = default;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
JS_DECLARE_NATIVE_FUNCTION(apply);
|
JS_DECLARE_NATIVE_FUNCTION(apply);
|
||||||
|
|
|
@ -27,10 +27,6 @@ void GeneratorFunctionConstructor::initialize(GlobalObject& global_object)
|
||||||
define_direct_property(vm.names.prototype, global_object.generator_function_prototype(), 0);
|
define_direct_property(vm.names.prototype, global_object.generator_function_prototype(), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
GeneratorFunctionConstructor::~GeneratorFunctionConstructor()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// 27.3.1.1 GeneratorFunction ( p1, p2, … , pn, body ), https://tc39.es/ecma262/#sec-generatorfunction
|
// 27.3.1.1 GeneratorFunction ( p1, p2, … , pn, body ), https://tc39.es/ecma262/#sec-generatorfunction
|
||||||
ThrowCompletionOr<Value> GeneratorFunctionConstructor::call()
|
ThrowCompletionOr<Value> GeneratorFunctionConstructor::call()
|
||||||
{
|
{
|
||||||
|
|
|
@ -17,7 +17,7 @@ class GeneratorFunctionConstructor final : public NativeFunction {
|
||||||
public:
|
public:
|
||||||
explicit GeneratorFunctionConstructor(GlobalObject&);
|
explicit GeneratorFunctionConstructor(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~GeneratorFunctionConstructor() override;
|
virtual ~GeneratorFunctionConstructor() override = default;
|
||||||
|
|
||||||
virtual ThrowCompletionOr<Value> call() override;
|
virtual ThrowCompletionOr<Value> call() override;
|
||||||
virtual ThrowCompletionOr<Object*> construct(FunctionObject& new_target) override;
|
virtual ThrowCompletionOr<Object*> construct(FunctionObject& new_target) override;
|
||||||
|
|
|
@ -25,9 +25,4 @@ void GeneratorFunctionPrototype::initialize(GlobalObject& global_object)
|
||||||
// 27.3.3.3 GeneratorFunction.prototype [ @@toStringTag ], https://tc39.es/ecma262/#sec-generatorfunction.prototype-@@tostringtag
|
// 27.3.3.3 GeneratorFunction.prototype [ @@toStringTag ], https://tc39.es/ecma262/#sec-generatorfunction.prototype-@@tostringtag
|
||||||
define_direct_property(*vm.well_known_symbol_to_string_tag(), js_string(vm, "GeneratorFunction"), Attribute::Configurable);
|
define_direct_property(*vm.well_known_symbol_to_string_tag(), js_string(vm, "GeneratorFunction"), Attribute::Configurable);
|
||||||
}
|
}
|
||||||
|
|
||||||
GeneratorFunctionPrototype::~GeneratorFunctionPrototype()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@ class GeneratorFunctionPrototype final : public Object {
|
||||||
public:
|
public:
|
||||||
explicit GeneratorFunctionPrototype(GlobalObject&);
|
explicit GeneratorFunctionPrototype(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~GeneratorFunctionPrototype() override;
|
virtual ~GeneratorFunctionPrototype() override = default;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,10 +43,6 @@ void GeneratorObject::initialize(GlobalObject&)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
GeneratorObject::~GeneratorObject()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void GeneratorObject::visit_edges(Cell::Visitor& visitor)
|
void GeneratorObject::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
|
|
|
@ -19,7 +19,7 @@ public:
|
||||||
static ThrowCompletionOr<GeneratorObject*> create(GlobalObject&, Value, ECMAScriptFunctionObject*, ExecutionContext, Bytecode::RegisterWindow);
|
static ThrowCompletionOr<GeneratorObject*> create(GlobalObject&, Value, ECMAScriptFunctionObject*, ExecutionContext, Bytecode::RegisterWindow);
|
||||||
GeneratorObject(GlobalObject&, Object& prototype, ExecutionContext);
|
GeneratorObject(GlobalObject&, Object& prototype, ExecutionContext);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~GeneratorObject() override;
|
virtual ~GeneratorObject() override = default;
|
||||||
void visit_edges(Cell::Visitor&) override;
|
void visit_edges(Cell::Visitor&) override;
|
||||||
|
|
||||||
ThrowCompletionOr<Value> next_impl(VM&, GlobalObject&, Optional<Value> next_argument, Optional<Value> value_to_throw);
|
ThrowCompletionOr<Value> next_impl(VM&, GlobalObject&, Optional<Value> next_argument, Optional<Value> value_to_throw);
|
||||||
|
|
|
@ -27,10 +27,6 @@ void GeneratorPrototype::initialize(GlobalObject& global_object)
|
||||||
define_direct_property(*vm.well_known_symbol_to_string_tag(), js_string(vm, "Generator"), Attribute::Configurable);
|
define_direct_property(*vm.well_known_symbol_to_string_tag(), js_string(vm, "Generator"), Attribute::Configurable);
|
||||||
}
|
}
|
||||||
|
|
||||||
GeneratorPrototype::~GeneratorPrototype()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// 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(GeneratorPrototype::next)
|
JS_DEFINE_NATIVE_FUNCTION(GeneratorPrototype::next)
|
||||||
{
|
{
|
||||||
|
|
|
@ -18,7 +18,7 @@ class GeneratorPrototype final : public PrototypeObject<GeneratorPrototype, Gene
|
||||||
public:
|
public:
|
||||||
explicit GeneratorPrototype(GlobalObject&);
|
explicit GeneratorPrototype(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~GeneratorPrototype() override;
|
virtual ~GeneratorPrototype() override = default;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
JS_DECLARE_NATIVE_FUNCTION(next);
|
JS_DECLARE_NATIVE_FUNCTION(next);
|
||||||
|
|
|
@ -304,9 +304,7 @@ void GlobalObject::initialize_global_object()
|
||||||
m_json_parse_function = &get_without_side_effects(vm.names.JSON).as_object().get_without_side_effects(vm.names.parse).as_function();
|
m_json_parse_function = &get_without_side_effects(vm.names.JSON).as_object().get_without_side_effects(vm.names.parse).as_function();
|
||||||
}
|
}
|
||||||
|
|
||||||
GlobalObject::~GlobalObject()
|
GlobalObject::~GlobalObject() = default;
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void GlobalObject::visit_edges(Visitor& visitor)
|
void GlobalObject::visit_edges(Visitor& visitor)
|
||||||
{
|
{
|
||||||
|
|
|
@ -82,10 +82,6 @@ bool SimpleIndexedPropertyStorage::set_array_like_size(size_t new_size)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
GenericIndexedPropertyStorage::GenericIndexedPropertyStorage()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
GenericIndexedPropertyStorage::GenericIndexedPropertyStorage(SimpleIndexedPropertyStorage&& storage)
|
GenericIndexedPropertyStorage::GenericIndexedPropertyStorage(SimpleIndexedPropertyStorage&& storage)
|
||||||
{
|
{
|
||||||
m_array_size = storage.array_like_size();
|
m_array_size = storage.array_like_size();
|
||||||
|
|
|
@ -23,7 +23,7 @@ class GenericIndexedPropertyStorage;
|
||||||
|
|
||||||
class IndexedPropertyStorage {
|
class IndexedPropertyStorage {
|
||||||
public:
|
public:
|
||||||
virtual ~IndexedPropertyStorage() {};
|
virtual ~IndexedPropertyStorage() = default;
|
||||||
|
|
||||||
virtual bool has_index(u32 index) const = 0;
|
virtual bool has_index(u32 index) const = 0;
|
||||||
virtual Optional<ValueAndAttributes> get(u32 index) const = 0;
|
virtual Optional<ValueAndAttributes> get(u32 index) const = 0;
|
||||||
|
@ -72,7 +72,7 @@ private:
|
||||||
class GenericIndexedPropertyStorage final : public IndexedPropertyStorage {
|
class GenericIndexedPropertyStorage final : public IndexedPropertyStorage {
|
||||||
public:
|
public:
|
||||||
explicit GenericIndexedPropertyStorage(SimpleIndexedPropertyStorage&&);
|
explicit GenericIndexedPropertyStorage(SimpleIndexedPropertyStorage&&);
|
||||||
explicit GenericIndexedPropertyStorage();
|
explicit GenericIndexedPropertyStorage() = default;
|
||||||
|
|
||||||
virtual bool has_index(u32 index) const override;
|
virtual bool has_index(u32 index) const override;
|
||||||
virtual Optional<ValueAndAttributes> get(u32 index) const override;
|
virtual Optional<ValueAndAttributes> get(u32 index) const override;
|
||||||
|
|
|
@ -24,10 +24,6 @@ void IteratorPrototype::initialize(GlobalObject& global_object)
|
||||||
define_native_function(*vm.well_known_symbol_iterator(), symbol_iterator, 0, attr);
|
define_native_function(*vm.well_known_symbol_iterator(), symbol_iterator, 0, attr);
|
||||||
}
|
}
|
||||||
|
|
||||||
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_NATIVE_FUNCTION(IteratorPrototype::symbol_iterator)
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,7 +16,7 @@ class IteratorPrototype : public Object {
|
||||||
public:
|
public:
|
||||||
IteratorPrototype(GlobalObject&);
|
IteratorPrototype(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~IteratorPrototype() override;
|
virtual ~IteratorPrototype() override = default;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
JS_DECLARE_NATIVE_FUNCTION(symbol_iterator);
|
JS_DECLARE_NATIVE_FUNCTION(symbol_iterator);
|
||||||
|
|
|
@ -42,10 +42,6 @@ void JSONObject::initialize(GlobalObject& global_object)
|
||||||
define_direct_property(*vm.well_known_symbol_to_string_tag(), js_string(global_object.heap(), "JSON"), Attribute::Configurable);
|
define_direct_property(*vm.well_known_symbol_to_string_tag(), js_string(global_object.heap(), "JSON"), Attribute::Configurable);
|
||||||
}
|
}
|
||||||
|
|
||||||
JSONObject::~JSONObject()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// 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
|
||||||
ThrowCompletionOr<String> JSONObject::stringify_impl(GlobalObject& global_object, Value value, Value replacer, Value space)
|
ThrowCompletionOr<String> JSONObject::stringify_impl(GlobalObject& global_object, Value value, Value replacer, Value space)
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,7 +16,7 @@ class JSONObject final : public Object {
|
||||||
public:
|
public:
|
||||||
explicit JSONObject(GlobalObject&);
|
explicit JSONObject(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~JSONObject() override;
|
virtual ~JSONObject() override = default;
|
||||||
|
|
||||||
// The base implementation of stringify is exposed because it is used by
|
// The base implementation of stringify is exposed because it is used by
|
||||||
// test-js to communicate between the JS tests and the C++ test runner.
|
// test-js to communicate between the JS tests and the C++ test runner.
|
||||||
|
|
|
@ -18,10 +18,6 @@ Map::Map(Object& prototype)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
Map::~Map()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// 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
|
||||||
void Map::map_clear()
|
void Map::map_clear()
|
||||||
{
|
{
|
||||||
|
|
|
@ -23,7 +23,7 @@ public:
|
||||||
static Map* create(GlobalObject&);
|
static Map* create(GlobalObject&);
|
||||||
|
|
||||||
explicit Map(Object& prototype);
|
explicit Map(Object& prototype);
|
||||||
virtual ~Map() override;
|
virtual ~Map() override = default;
|
||||||
|
|
||||||
void map_clear();
|
void map_clear();
|
||||||
bool map_remove(Value const&);
|
bool map_remove(Value const&);
|
||||||
|
|
|
@ -31,10 +31,6 @@ void MapConstructor::initialize(GlobalObject& global_object)
|
||||||
define_direct_property(vm.names.length, Value(0), Attribute::Configurable);
|
define_direct_property(vm.names.length, Value(0), Attribute::Configurable);
|
||||||
}
|
}
|
||||||
|
|
||||||
MapConstructor::~MapConstructor()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// 24.1.1.1 Map ( [ iterable ] ), https://tc39.es/ecma262/#sec-map-iterable
|
// 24.1.1.1 Map ( [ iterable ] ), https://tc39.es/ecma262/#sec-map-iterable
|
||||||
ThrowCompletionOr<Value> MapConstructor::call()
|
ThrowCompletionOr<Value> MapConstructor::call()
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,7 +16,7 @@ class MapConstructor final : public NativeFunction {
|
||||||
public:
|
public:
|
||||||
explicit MapConstructor(GlobalObject&);
|
explicit MapConstructor(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
virtual ~MapConstructor() override;
|
virtual ~MapConstructor() override = default;
|
||||||
|
|
||||||
virtual ThrowCompletionOr<Value> call() override;
|
virtual ThrowCompletionOr<Value> call() override;
|
||||||
virtual ThrowCompletionOr<Object*> construct(FunctionObject&) override;
|
virtual ThrowCompletionOr<Object*> construct(FunctionObject&) override;
|
||||||
|
|
|
@ -22,10 +22,6 @@ MapIterator::MapIterator(Map& map, Object::PropertyKind iteration_kind, Object&
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
MapIterator::~MapIterator()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void MapIterator::visit_edges(Cell::Visitor& visitor)
|
void MapIterator::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
|
|
|
@ -19,7 +19,7 @@ public:
|
||||||
static MapIterator* create(GlobalObject&, Map& map, Object::PropertyKind iteration_kind);
|
static MapIterator* create(GlobalObject&, Map& map, Object::PropertyKind iteration_kind);
|
||||||
|
|
||||||
explicit MapIterator(Map& map, Object::PropertyKind iteration_kind, Object& prototype);
|
explicit MapIterator(Map& map, Object::PropertyKind iteration_kind, Object& prototype);
|
||||||
virtual ~MapIterator() override;
|
virtual ~MapIterator() override = default;
|
||||||
|
|
||||||
Map& map() const { return m_map; }
|
Map& map() const { return m_map; }
|
||||||
bool done() const { return m_done; }
|
bool done() const { return m_done; }
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue