Serenity Operating System
at master 29 lines 721 B view raw
1/* 2 * Copyright (c) 2022, David Tuin <davidot@serenityos.org> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#pragma once 8 9#include <LibJS/Runtime/NativeFunction.h> 10 11namespace JS { 12 13class DisposableStackConstructor final : public NativeFunction { 14 JS_OBJECT(DisposableStackConstructor, NativeFunction); 15 16public: 17 virtual ThrowCompletionOr<void> initialize(Realm&) override; 18 virtual ~DisposableStackConstructor() override = default; 19 20 virtual ThrowCompletionOr<Value> call() override; 21 virtual ThrowCompletionOr<NonnullGCPtr<Object>> construct(FunctionObject&) override; 22 23private: 24 explicit DisposableStackConstructor(Realm&); 25 26 virtual bool has_constructor() const override { return true; } 27}; 28 29}