diff options
Diffstat (limited to 'src/javascript/jsc/bindings/napi_external.h')
-rw-r--r-- | src/javascript/jsc/bindings/napi_external.h | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/src/javascript/jsc/bindings/napi_external.h b/src/javascript/jsc/bindings/napi_external.h deleted file mode 100644 index edac914f8..000000000 --- a/src/javascript/jsc/bindings/napi_external.h +++ /dev/null @@ -1,64 +0,0 @@ - - -#pragma once - -#include "root.h" - -#include "BunBuiltinNames.h" -#include "BunClientData.h" - -namespace Zig { - -using namespace JSC; - -class NapiExternal : public JSC::JSNonFinalObject { - using Base = JSC::JSNonFinalObject; - -public: - NapiExternal(JSC::VM& vm, JSC::Structure* structure) - : Base(vm, structure) - { - } - - DECLARE_INFO; - - ~NapiExternal() - { - if (m_value) { - delete m_value; - } - - static constexpr unsigned StructureFlags = Base::StructureFlags; - - template<typename, SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM & vm) - { - if constexpr (mode == JSC::SubspaceAccess::Concurrently) - return nullptr; - return WebCore::subspaceForImpl<JSNapiExternal, WebCore::UseCustomHeapCellType::No>( - vm, - [](auto& spaces) { return spaces.m_clientSubspaceForNapiExternal.get(); }, - [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForNapiExternal = WTFMove(space); }, - [](auto& spaces) { return spaces.m_subspaceForNapiExternal.get(); }, - [](auto& spaces, auto&& space) { spaces.m_subspaceForNapiExternal = WTFMove(space); }); - } - - static JSC::Structure* createStructure(JSC::VM & vm, JSC::JSGlobalObject * globalObject, - JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, - JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - static NapiExternal* create(JSC::VM & vm, JSC::Structure * structure) - { - NapiExternal* accessor = new (NotNull, JSC::allocateCell<NapiExternal>(vm)) NapiExternal(vm, structure); - accessor->finishCreation(vm); - return accessor; - } - - void finishCreation(JSC::VM & vm); - void* m_value; - void* finalizer_context; - }; - -} // namespace Zig
\ No newline at end of file |