aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bun.js/api/bun.classes.ts1
-rw-r--r--src/bun.js/api/filesystem_router.classes.ts1
-rw-r--r--src/bun.js/api/sockets.classes.ts2
-rw-r--r--src/bun.js/bindings/ZigGeneratedClasses+DOMClientIsoSubspaces.h8
-rw-r--r--src/bun.js/bindings/ZigGeneratedClasses+DOMIsoSubspaces.h8
-rw-r--r--src/bun.js/bindings/ZigGeneratedClasses+lazyStructureImpl.h8
-rw-r--r--src/bun.js/bindings/ZigGeneratedClasses.cpp416
-rw-r--r--src/bun.js/bindings/ZigGeneratedClasses.h8
-rw-r--r--src/bun.js/bindings/generated_classes.zig48
9 files changed, 20 insertions, 480 deletions
diff --git a/src/bun.js/api/bun.classes.ts b/src/bun.js/api/bun.classes.ts
index f617c53c5..04dd94a38 100644
--- a/src/bun.js/api/bun.classes.ts
+++ b/src/bun.js/api/bun.classes.ts
@@ -4,6 +4,7 @@ export default [
define({
name: "Subprocess",
construct: true,
+ noConstructor: true,
finalize: true,
hasPendingActivity: true,
klass: {},
diff --git a/src/bun.js/api/filesystem_router.classes.ts b/src/bun.js/api/filesystem_router.classes.ts
index 987ed620e..9bcf56dd3 100644
--- a/src/bun.js/api/filesystem_router.classes.ts
+++ b/src/bun.js/api/filesystem_router.classes.ts
@@ -63,6 +63,7 @@ export default [
getter: "getFilePath",
cache: true,
},
+ // this is for compatibiltiy with bun-framework-next old versions
scriptSrc: {
getter: "getScriptSrc",
cache: true,
diff --git a/src/bun.js/api/sockets.classes.ts b/src/bun.js/api/sockets.classes.ts
index 105c6f748..87f96fd88 100644
--- a/src/bun.js/api/sockets.classes.ts
+++ b/src/bun.js/api/sockets.classes.ts
@@ -5,6 +5,7 @@ function generate(ssl) {
name: ssl ? "TCPSocket" : "TLSSocket",
JSType: "0b11101110",
hasPendingActivity: true,
+ noConstructor: true,
proto: {
write: {
fn: "write",
@@ -84,6 +85,7 @@ export default [
generate(false),
define({
name: "Listener",
+ noConstructor: true,
JSType: "0b11101110",
proto: {
stop: {
diff --git a/src/bun.js/bindings/ZigGeneratedClasses+DOMClientIsoSubspaces.h b/src/bun.js/bindings/ZigGeneratedClasses+DOMClientIsoSubspaces.h
index 07ffb69e5..21e6d1185 100644
--- a/src/bun.js/bindings/ZigGeneratedClasses+DOMClientIsoSubspaces.h
+++ b/src/bun.js/bindings/ZigGeneratedClasses+DOMClientIsoSubspaces.h
@@ -1,8 +1,8 @@
std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForTCPSocket;
-std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForTCPSocketConstructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForTLSSocket;
-std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForTLSSocketConstructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForListener;
-std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForListenerConstructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForSubprocess;
-std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForSubprocessConstructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForSHA1;
+std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForTLSSocket;
+std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForListener;
+std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForSubprocess;
+std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForSHA1;
std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForSHA1Constructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForMD5;
std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForMD5Constructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForMD4;
std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForMD4Constructor;std::unique_ptr<GCClient::IsoSubspace> m_clientSubspaceForSHA224;
diff --git a/src/bun.js/bindings/ZigGeneratedClasses+DOMIsoSubspaces.h b/src/bun.js/bindings/ZigGeneratedClasses+DOMIsoSubspaces.h
index 71b1d1348..f8e81b0c1 100644
--- a/src/bun.js/bindings/ZigGeneratedClasses+DOMIsoSubspaces.h
+++ b/src/bun.js/bindings/ZigGeneratedClasses+DOMIsoSubspaces.h
@@ -1,8 +1,8 @@
std::unique_ptr<IsoSubspace> m_subspaceForTCPSocket;
-std::unique_ptr<IsoSubspace> m_subspaceForTCPSocketConstructor;std::unique_ptr<IsoSubspace> m_subspaceForTLSSocket;
-std::unique_ptr<IsoSubspace> m_subspaceForTLSSocketConstructor;std::unique_ptr<IsoSubspace> m_subspaceForListener;
-std::unique_ptr<IsoSubspace> m_subspaceForListenerConstructor;std::unique_ptr<IsoSubspace> m_subspaceForSubprocess;
-std::unique_ptr<IsoSubspace> m_subspaceForSubprocessConstructor;std::unique_ptr<IsoSubspace> m_subspaceForSHA1;
+std::unique_ptr<IsoSubspace> m_subspaceForTLSSocket;
+std::unique_ptr<IsoSubspace> m_subspaceForListener;
+std::unique_ptr<IsoSubspace> m_subspaceForSubprocess;
+std::unique_ptr<IsoSubspace> m_subspaceForSHA1;
std::unique_ptr<IsoSubspace> m_subspaceForSHA1Constructor;std::unique_ptr<IsoSubspace> m_subspaceForMD5;
std::unique_ptr<IsoSubspace> m_subspaceForMD5Constructor;std::unique_ptr<IsoSubspace> m_subspaceForMD4;
std::unique_ptr<IsoSubspace> m_subspaceForMD4Constructor;std::unique_ptr<IsoSubspace> m_subspaceForSHA224;
diff --git a/src/bun.js/bindings/ZigGeneratedClasses+lazyStructureImpl.h b/src/bun.js/bindings/ZigGeneratedClasses+lazyStructureImpl.h
index d50c8c38f..ade20e72a 100644
--- a/src/bun.js/bindings/ZigGeneratedClasses+lazyStructureImpl.h
+++ b/src/bun.js/bindings/ZigGeneratedClasses+lazyStructureImpl.h
@@ -3,25 +3,25 @@ void GlobalObject::initGeneratedLazyClasses() {
[](LazyClassStructure::Initializer& init) {
init.setPrototype(WebCore::JSTCPSocket::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global)));
init.setStructure(WebCore::JSTCPSocket::createStructure(init.vm, init.global, init.prototype));
- init.setConstructor(WebCore::JSTCPSocket::createConstructor(init.vm, init.global, init.prototype));
+
});
m_JSTLSSocket.initLater(
[](LazyClassStructure::Initializer& init) {
init.setPrototype(WebCore::JSTLSSocket::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global)));
init.setStructure(WebCore::JSTLSSocket::createStructure(init.vm, init.global, init.prototype));
- init.setConstructor(WebCore::JSTLSSocket::createConstructor(init.vm, init.global, init.prototype));
+
});
m_JSListener.initLater(
[](LazyClassStructure::Initializer& init) {
init.setPrototype(WebCore::JSListener::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global)));
init.setStructure(WebCore::JSListener::createStructure(init.vm, init.global, init.prototype));
- init.setConstructor(WebCore::JSListener::createConstructor(init.vm, init.global, init.prototype));
+
});
m_JSSubprocess.initLater(
[](LazyClassStructure::Initializer& init) {
init.setPrototype(WebCore::JSSubprocess::createPrototype(init.vm, reinterpret_cast<Zig::GlobalObject*>(init.global)));
init.setStructure(WebCore::JSSubprocess::createStructure(init.vm, init.global, init.prototype));
- init.setConstructor(WebCore::JSSubprocess::createConstructor(init.vm, init.global, init.prototype));
+
});
m_JSSHA1.initLater(
[](LazyClassStructure::Initializer& init) {
diff --git a/src/bun.js/bindings/ZigGeneratedClasses.cpp b/src/bun.js/bindings/ZigGeneratedClasses.cpp
index 4c332ebbd..f9cffcdce 100644
--- a/src/bun.js/bindings/ZigGeneratedClasses.cpp
+++ b/src/bun.js/bindings/ZigGeneratedClasses.cpp
@@ -58,43 +58,6 @@ private:
void finishCreation(JSC::VM&, JSC::JSGlobalObject*);
};
-class JSTCPSocketConstructor final : public JSC::InternalFunction {
-public:
- using Base = JSC::InternalFunction;
- static JSTCPSocketConstructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSTCPSocketPrototype* prototype);
-
- static constexpr unsigned StructureFlags = Base::StructureFlags;
- static constexpr bool needsDestruction = false;
-
- static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
- {
- return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info());
- }
-
- template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm)
- {
- if constexpr (mode == JSC::SubspaceAccess::Concurrently)
- return nullptr;
- return WebCore::subspaceForImpl<JSTCPSocketConstructor, WebCore::UseCustomHeapCellType::No>(
- vm,
- [](auto& spaces) { return spaces.m_clientSubspaceForTCPSocketConstructor.get(); },
- [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForTCPSocketConstructor = WTFMove(space); },
- [](auto& spaces) { return spaces.m_subspaceForTCPSocketConstructor.get(); },
- [](auto& spaces, auto&& space) { spaces.m_subspaceForTCPSocketConstructor = WTFMove(space); });
- }
-
- void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSTCPSocketPrototype* prototype);
-
- // Must be defined for each specialization class.
- static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*);
-
- DECLARE_EXPORT_INFO;
-
-private:
- JSTCPSocketConstructor(JSC::VM& vm, JSC::Structure* structure);
- void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSTCPSocketPrototype* prototype);
-};
-
extern "C" void* TCPSocketClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*);
JSC_DECLARE_CUSTOM_GETTER(jsTCPSocketConstructor);
extern "C" void TCPSocketClass__finalize(void*);
@@ -417,68 +380,6 @@ void JSTCPSocketPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* glob
JSC_TO_STRING_TAG_WITHOUT_TRANSITION();
}
-void JSTCPSocketConstructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSTCPSocketPrototype* prototype)
-{
- Base::finishCreation(vm, 0, "TCPSocket"_s, PropertyAdditionMode::WithoutStructureTransition);
-
- putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly);
- ASSERT(inherits(info()));
-}
-
-JSTCPSocketConstructor::JSTCPSocketConstructor(JSC::VM& vm, JSC::Structure* structure)
- : Base(vm, structure, construct, construct)
-{
-}
-
-JSTCPSocketConstructor* JSTCPSocketConstructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSTCPSocketPrototype* prototype)
-{
- JSTCPSocketConstructor* ptr = new (NotNull, JSC::allocateCell<JSTCPSocketConstructor>(vm)) JSTCPSocketConstructor(vm, structure);
- ptr->finishCreation(vm, globalObject, prototype);
- return ptr;
-}
-
-JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSTCPSocketConstructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame)
-{
- Zig::GlobalObject* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject);
- JSC::VM& vm = globalObject->vm();
- JSObject* newTarget = asObject(callFrame->newTarget());
- auto* constructor = globalObject->JSTCPSocketConstructor();
- Structure* structure = globalObject->JSTCPSocketStructure();
- if (constructor != newTarget) {
- auto scope = DECLARE_THROW_SCOPE(vm);
-
- auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>(
- // ShadowRealm functions belong to a different global object.
- getFunctionRealm(globalObject, newTarget));
- RETURN_IF_EXCEPTION(scope, {});
- structure = InternalFunction::createSubclassStructure(
- globalObject,
- newTarget,
- functionGlobalObject->JSTCPSocketStructure());
- }
-
- void* ptr = TCPSocketClass__construct(globalObject, callFrame);
-
- if (UNLIKELY(!ptr)) {
- return JSValue::encode(JSC::jsUndefined());
- }
-
- JSTCPSocket* instance = JSTCPSocket::create(vm, globalObject, structure, ptr);
-
- return JSValue::encode(instance);
-}
-
-void JSTCPSocketConstructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSTCPSocketPrototype* prototype)
-{
-}
-
-const ClassInfo JSTCPSocketConstructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTCPSocketConstructor) };
-
-extern "C" EncodedJSValue TCPSocket__getConstructor(Zig::GlobalObject* globalObject)
-{
- return JSValue::encode(globalObject->JSTCPSocketConstructor());
-}
-
extern "C" bool TCPSocket__hasPendingActivity(void* ptr);
bool JSTCPSocket::hasPendingActivity(void* ctx)
{
@@ -547,11 +448,6 @@ void JSTCPSocket::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer)
Base::analyzeHeap(cell, analyzer);
}
-JSObject* JSTCPSocket::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
-{
- return WebCore::JSTCPSocketConstructor::create(vm, globalObject, WebCore::JSTCPSocketConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSTCPSocketPrototype*>(prototype));
-}
-
JSObject* JSTCPSocket::createPrototype(VM& vm, JSDOMGlobalObject* globalObject)
{
return JSTCPSocketPrototype::create(vm, globalObject, JSTCPSocketPrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
@@ -633,43 +529,6 @@ private:
void finishCreation(JSC::VM&, JSC::JSGlobalObject*);
};
-class JSTLSSocketConstructor final : public JSC::InternalFunction {
-public:
- using Base = JSC::InternalFunction;
- static JSTLSSocketConstructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSTLSSocketPrototype* prototype);
-
- static constexpr unsigned StructureFlags = Base::StructureFlags;
- static constexpr bool needsDestruction = false;
-
- static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
- {
- return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info());
- }
-
- template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm)
- {
- if constexpr (mode == JSC::SubspaceAccess::Concurrently)
- return nullptr;
- return WebCore::subspaceForImpl<JSTLSSocketConstructor, WebCore::UseCustomHeapCellType::No>(
- vm,
- [](auto& spaces) { return spaces.m_clientSubspaceForTLSSocketConstructor.get(); },
- [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForTLSSocketConstructor = WTFMove(space); },
- [](auto& spaces) { return spaces.m_subspaceForTLSSocketConstructor.get(); },
- [](auto& spaces, auto&& space) { spaces.m_subspaceForTLSSocketConstructor = WTFMove(space); });
- }
-
- void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSTLSSocketPrototype* prototype);
-
- // Must be defined for each specialization class.
- static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*);
-
- DECLARE_EXPORT_INFO;
-
-private:
- JSTLSSocketConstructor(JSC::VM& vm, JSC::Structure* structure);
- void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSTLSSocketPrototype* prototype);
-};
-
extern "C" void* TLSSocketClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*);
JSC_DECLARE_CUSTOM_GETTER(jsTLSSocketConstructor);
extern "C" void TLSSocketClass__finalize(void*);
@@ -992,68 +851,6 @@ void JSTLSSocketPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* glob
JSC_TO_STRING_TAG_WITHOUT_TRANSITION();
}
-void JSTLSSocketConstructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSTLSSocketPrototype* prototype)
-{
- Base::finishCreation(vm, 0, "TLSSocket"_s, PropertyAdditionMode::WithoutStructureTransition);
-
- putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly);
- ASSERT(inherits(info()));
-}
-
-JSTLSSocketConstructor::JSTLSSocketConstructor(JSC::VM& vm, JSC::Structure* structure)
- : Base(vm, structure, construct, construct)
-{
-}
-
-JSTLSSocketConstructor* JSTLSSocketConstructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSTLSSocketPrototype* prototype)
-{
- JSTLSSocketConstructor* ptr = new (NotNull, JSC::allocateCell<JSTLSSocketConstructor>(vm)) JSTLSSocketConstructor(vm, structure);
- ptr->finishCreation(vm, globalObject, prototype);
- return ptr;
-}
-
-JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSTLSSocketConstructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame)
-{
- Zig::GlobalObject* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject);
- JSC::VM& vm = globalObject->vm();
- JSObject* newTarget = asObject(callFrame->newTarget());
- auto* constructor = globalObject->JSTLSSocketConstructor();
- Structure* structure = globalObject->JSTLSSocketStructure();
- if (constructor != newTarget) {
- auto scope = DECLARE_THROW_SCOPE(vm);
-
- auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>(
- // ShadowRealm functions belong to a different global object.
- getFunctionRealm(globalObject, newTarget));
- RETURN_IF_EXCEPTION(scope, {});
- structure = InternalFunction::createSubclassStructure(
- globalObject,
- newTarget,
- functionGlobalObject->JSTLSSocketStructure());
- }
-
- void* ptr = TLSSocketClass__construct(globalObject, callFrame);
-
- if (UNLIKELY(!ptr)) {
- return JSValue::encode(JSC::jsUndefined());
- }
-
- JSTLSSocket* instance = JSTLSSocket::create(vm, globalObject, structure, ptr);
-
- return JSValue::encode(instance);
-}
-
-void JSTLSSocketConstructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSTLSSocketPrototype* prototype)
-{
-}
-
-const ClassInfo JSTLSSocketConstructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSTLSSocketConstructor) };
-
-extern "C" EncodedJSValue TLSSocket__getConstructor(Zig::GlobalObject* globalObject)
-{
- return JSValue::encode(globalObject->JSTLSSocketConstructor());
-}
-
extern "C" bool TLSSocket__hasPendingActivity(void* ptr);
bool JSTLSSocket::hasPendingActivity(void* ctx)
{
@@ -1122,11 +919,6 @@ void JSTLSSocket::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer)
Base::analyzeHeap(cell, analyzer);
}
-JSObject* JSTLSSocket::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
-{
- return WebCore::JSTLSSocketConstructor::create(vm, globalObject, WebCore::JSTLSSocketConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSTLSSocketPrototype*>(prototype));
-}
-
JSObject* JSTLSSocket::createPrototype(VM& vm, JSDOMGlobalObject* globalObject)
{
return JSTLSSocketPrototype::create(vm, globalObject, JSTLSSocketPrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
@@ -1208,43 +1000,6 @@ private:
void finishCreation(JSC::VM&, JSC::JSGlobalObject*);
};
-class JSListenerConstructor final : public JSC::InternalFunction {
-public:
- using Base = JSC::InternalFunction;
- static JSListenerConstructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSListenerPrototype* prototype);
-
- static constexpr unsigned StructureFlags = Base::StructureFlags;
- static constexpr bool needsDestruction = false;
-
- static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
- {
- return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info());
- }
-
- template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm)
- {
- if constexpr (mode == JSC::SubspaceAccess::Concurrently)
- return nullptr;
- return WebCore::subspaceForImpl<JSListenerConstructor, WebCore::UseCustomHeapCellType::No>(
- vm,
- [](auto& spaces) { return spaces.m_clientSubspaceForListenerConstructor.get(); },
- [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForListenerConstructor = WTFMove(space); },
- [](auto& spaces) { return spaces.m_subspaceForListenerConstructor.get(); },
- [](auto& spaces, auto&& space) { spaces.m_subspaceForListenerConstructor = WTFMove(space); });
- }
-
- void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSListenerPrototype* prototype);
-
- // Must be defined for each specialization class.
- static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*);
-
- DECLARE_EXPORT_INFO;
-
-private:
- JSListenerConstructor(JSC::VM& vm, JSC::Structure* structure);
- void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSListenerPrototype* prototype);
-};
-
extern "C" void* ListenerClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*);
JSC_DECLARE_CUSTOM_GETTER(jsListenerConstructor);
extern "C" void ListenerClass__finalize(void*);
@@ -1471,68 +1226,6 @@ void JSListenerPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globa
JSC_TO_STRING_TAG_WITHOUT_TRANSITION();
}
-void JSListenerConstructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSListenerPrototype* prototype)
-{
- Base::finishCreation(vm, 0, "Listener"_s, PropertyAdditionMode::WithoutStructureTransition);
-
- putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly);
- ASSERT(inherits(info()));
-}
-
-JSListenerConstructor::JSListenerConstructor(JSC::VM& vm, JSC::Structure* structure)
- : Base(vm, structure, construct, construct)
-{
-}
-
-JSListenerConstructor* JSListenerConstructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSListenerPrototype* prototype)
-{
- JSListenerConstructor* ptr = new (NotNull, JSC::allocateCell<JSListenerConstructor>(vm)) JSListenerConstructor(vm, structure);
- ptr->finishCreation(vm, globalObject, prototype);
- return ptr;
-}
-
-JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSListenerConstructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame)
-{
- Zig::GlobalObject* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject);
- JSC::VM& vm = globalObject->vm();
- JSObject* newTarget = asObject(callFrame->newTarget());
- auto* constructor = globalObject->JSListenerConstructor();
- Structure* structure = globalObject->JSListenerStructure();
- if (constructor != newTarget) {
- auto scope = DECLARE_THROW_SCOPE(vm);
-
- auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>(
- // ShadowRealm functions belong to a different global object.
- getFunctionRealm(globalObject, newTarget));
- RETURN_IF_EXCEPTION(scope, {});
- structure = InternalFunction::createSubclassStructure(
- globalObject,
- newTarget,
- functionGlobalObject->JSListenerStructure());
- }
-
- void* ptr = ListenerClass__construct(globalObject, callFrame);
-
- if (UNLIKELY(!ptr)) {
- return JSValue::encode(JSC::jsUndefined());
- }
-
- JSListener* instance = JSListener::create(vm, globalObject, structure, ptr);
-
- return JSValue::encode(instance);
-}
-
-void JSListenerConstructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSListenerPrototype* prototype)
-{
-}
-
-const ClassInfo JSListenerConstructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSListenerConstructor) };
-
-extern "C" EncodedJSValue Listener__getConstructor(Zig::GlobalObject* globalObject)
-{
- return JSValue::encode(globalObject->JSListenerConstructor());
-}
-
JSListener::~JSListener()
{
if (m_ctx) {
@@ -1595,11 +1288,6 @@ void JSListener::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer)
Base::analyzeHeap(cell, analyzer);
}
-JSObject* JSListener::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
-{
- return WebCore::JSListenerConstructor::create(vm, globalObject, WebCore::JSListenerConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSListenerPrototype*>(prototype));
-}
-
JSObject* JSListener::createPrototype(VM& vm, JSDOMGlobalObject* globalObject)
{
return JSListenerPrototype::create(vm, globalObject, JSListenerPrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
@@ -1680,43 +1368,6 @@ private:
void finishCreation(JSC::VM&, JSC::JSGlobalObject*);
};
-class JSSubprocessConstructor final : public JSC::InternalFunction {
-public:
- using Base = JSC::InternalFunction;
- static JSSubprocessConstructor* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSSubprocessPrototype* prototype);
-
- static constexpr unsigned StructureFlags = Base::StructureFlags;
- static constexpr bool needsDestruction = false;
-
- static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
- {
- return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::InternalFunctionType, StructureFlags), info());
- }
-
- template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm)
- {
- if constexpr (mode == JSC::SubspaceAccess::Concurrently)
- return nullptr;
- return WebCore::subspaceForImpl<JSSubprocessConstructor, WebCore::UseCustomHeapCellType::No>(
- vm,
- [](auto& spaces) { return spaces.m_clientSubspaceForSubprocessConstructor.get(); },
- [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForSubprocessConstructor = WTFMove(space); },
- [](auto& spaces) { return spaces.m_subspaceForSubprocessConstructor.get(); },
- [](auto& spaces, auto&& space) { spaces.m_subspaceForSubprocessConstructor = WTFMove(space); });
- }
-
- void initializeProperties(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSSubprocessPrototype* prototype);
-
- // Must be defined for each specialization class.
- static JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES construct(JSC::JSGlobalObject*, JSC::CallFrame*);
-
- DECLARE_EXPORT_INFO;
-
-private:
- JSSubprocessConstructor(JSC::VM& vm, JSC::Structure* structure);
- void finishCreation(JSC::VM&, JSC::JSGlobalObject* globalObject, JSSubprocessPrototype* prototype);
-};
-
extern "C" void* SubprocessClass__construct(JSC::JSGlobalObject*, JSC::CallFrame*);
JSC_DECLARE_CUSTOM_GETTER(jsSubprocessConstructor);
extern "C" void SubprocessClass__finalize(void*);
@@ -2046,68 +1697,6 @@ void JSSubprocessPrototype::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* glo
JSC_TO_STRING_TAG_WITHOUT_TRANSITION();
}
-void JSSubprocessConstructor::finishCreation(VM& vm, JSC::JSGlobalObject* globalObject, JSSubprocessPrototype* prototype)
-{
- Base::finishCreation(vm, 0, "Subprocess"_s, PropertyAdditionMode::WithoutStructureTransition);
-
- putDirectWithoutTransition(vm, vm.propertyNames->prototype, prototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly);
- ASSERT(inherits(info()));
-}
-
-JSSubprocessConstructor::JSSubprocessConstructor(JSC::VM& vm, JSC::Structure* structure)
- : Base(vm, structure, construct, construct)
-{
-}
-
-JSSubprocessConstructor* JSSubprocessConstructor::create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure, JSSubprocessPrototype* prototype)
-{
- JSSubprocessConstructor* ptr = new (NotNull, JSC::allocateCell<JSSubprocessConstructor>(vm)) JSSubprocessConstructor(vm, structure);
- ptr->finishCreation(vm, globalObject, prototype);
- return ptr;
-}
-
-JSC::EncodedJSValue JSC_HOST_CALL_ATTRIBUTES JSSubprocessConstructor::construct(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame)
-{
- Zig::GlobalObject* globalObject = reinterpret_cast<Zig::GlobalObject*>(lexicalGlobalObject);
- JSC::VM& vm = globalObject->vm();
- JSObject* newTarget = asObject(callFrame->newTarget());
- auto* constructor = globalObject->JSSubprocessConstructor();
- Structure* structure = globalObject->JSSubprocessStructure();
- if (constructor != newTarget) {
- auto scope = DECLARE_THROW_SCOPE(vm);
-
- auto* functionGlobalObject = reinterpret_cast<Zig::GlobalObject*>(
- // ShadowRealm functions belong to a different global object.
- getFunctionRealm(globalObject, newTarget));
- RETURN_IF_EXCEPTION(scope, {});
- structure = InternalFunction::createSubclassStructure(
- globalObject,
- newTarget,
- functionGlobalObject->JSSubprocessStructure());
- }
-
- void* ptr = SubprocessClass__construct(globalObject, callFrame);
-
- if (UNLIKELY(!ptr)) {
- return JSValue::encode(JSC::jsUndefined());
- }
-
- JSSubprocess* instance = JSSubprocess::create(vm, globalObject, structure, ptr);
-
- return JSValue::encode(instance);
-}
-
-void JSSubprocessConstructor::initializeProperties(VM& vm, JSC::JSGlobalObject* globalObject, JSSubprocessPrototype* prototype)
-{
-}
-
-const ClassInfo JSSubprocessConstructor::s_info = { "Function"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSSubprocessConstructor) };
-
-extern "C" EncodedJSValue Subprocess__getConstructor(Zig::GlobalObject* globalObject)
-{
- return JSValue::encode(globalObject->JSSubprocessConstructor());
-}
-
extern "C" bool Subprocess__hasPendingActivity(void* ptr);
bool JSSubprocess::hasPendingActivity(void* ctx)
{
@@ -2176,11 +1765,6 @@ void JSSubprocess::analyzeHeap(JSCell* cell, HeapAnalyzer& analyzer)
Base::analyzeHeap(cell, analyzer);
}
-JSObject* JSSubprocess::createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
-{
- return WebCore::JSSubprocessConstructor::create(vm, globalObject, WebCore::JSSubprocessConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<WebCore::JSSubprocessPrototype*>(prototype));
-}
-
JSObject* JSSubprocess::createPrototype(VM& vm, JSDOMGlobalObject* globalObject)
{
return JSSubprocessPrototype::create(vm, globalObject, JSSubprocessPrototype::createStructure(vm, globalObject, globalObject->objectPrototype()));
diff --git a/src/bun.js/bindings/ZigGeneratedClasses.h b/src/bun.js/bindings/ZigGeneratedClasses.h
index 2f3a74ab2..700d7bab3 100644
--- a/src/bun.js/bindings/ZigGeneratedClasses.h
+++ b/src/bun.js/bindings/ZigGeneratedClasses.h
@@ -40,7 +40,7 @@ public:
}
static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject);
- static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype);
+ ;
~JSTCPSocket();
@@ -124,7 +124,7 @@ public:
}
static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject);
- static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype);
+ ;
~JSTLSSocket();
@@ -208,7 +208,7 @@ public:
}
static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject);
- static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype);
+ ;
~JSListener();
@@ -265,7 +265,7 @@ public:
}
static JSObject* createPrototype(VM& vm, JSDOMGlobalObject* globalObject);
- static JSObject* createConstructor(VM& vm, JSGlobalObject* globalObject, JSValue prototype);
+ ;
~JSSubprocess();
diff --git a/src/bun.js/bindings/generated_classes.zig b/src/bun.js/bindings/generated_classes.zig
index 49704f23a..52e99fb82 100644
--- a/src/bun.js/bindings/generated_classes.zig
+++ b/src/bun.js/bindings/generated_classes.zig
@@ -66,13 +66,6 @@ pub const JSTCPSocket = struct {
return result;
}
- /// Get the TCPSocket constructor value.
- /// This loads lazily from the global object.
- pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue {
- JSC.markBinding(@src());
- return TCPSocket__getConstructor(globalObject);
- }
-
/// Create a new instance of TCPSocket
pub fn toJS(this: *TCPSocket, globalObject: *JSC.JSGlobalObject) JSC.JSValue {
JSC.markBinding(@src());
@@ -105,10 +98,6 @@ pub const JSTCPSocket = struct {
extern fn TCPSocket__dangerouslySetPtr(JSC.JSValue, ?*TCPSocket) bool;
comptime {
- if (@TypeOf(TCPSocket.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*TCPSocket)) {
- @compileLog("TCPSocket.constructor is not a constructor");
- }
-
if (@TypeOf(TCPSocket.finalize) != (fn (*TCPSocket) callconv(.C) void)) {
@compileLog("TCPSocket.finalize is not a finalizer");
}
@@ -147,7 +136,6 @@ pub const JSTCPSocket = struct {
if (@TypeOf(TCPSocket.write) != CallbackType)
@compileLog("Expected TCPSocket.write to be a callback");
if (!JSC.is_bindgen) {
- @export(TCPSocket.constructor, .{ .name = "TCPSocketClass__construct" });
@export(TCPSocket.end, .{ .name = "TCPSocketPrototype__end" });
@export(TCPSocket.finalize, .{ .name = "TCPSocketClass__finalize" });
@export(TCPSocket.flush, .{ .name = "TCPSocketPrototype__flush" });
@@ -226,13 +214,6 @@ pub const JSTLSSocket = struct {
return result;
}
- /// Get the TLSSocket constructor value.
- /// This loads lazily from the global object.
- pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue {
- JSC.markBinding(@src());
- return TLSSocket__getConstructor(globalObject);
- }
-
/// Create a new instance of TLSSocket
pub fn toJS(this: *TLSSocket, globalObject: *JSC.JSGlobalObject) JSC.JSValue {
JSC.markBinding(@src());
@@ -265,10 +246,6 @@ pub const JSTLSSocket = struct {
extern fn TLSSocket__dangerouslySetPtr(JSC.JSValue, ?*TLSSocket) bool;
comptime {
- if (@TypeOf(TLSSocket.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*TLSSocket)) {
- @compileLog("TLSSocket.constructor is not a constructor");
- }
-
if (@TypeOf(TLSSocket.finalize) != (fn (*TLSSocket) callconv(.C) void)) {
@compileLog("TLSSocket.finalize is not a finalizer");
}
@@ -307,7 +284,6 @@ pub const JSTLSSocket = struct {
if (@TypeOf(TLSSocket.write) != CallbackType)
@compileLog("Expected TLSSocket.write to be a callback");
if (!JSC.is_bindgen) {
- @export(TLSSocket.constructor, .{ .name = "TLSSocketClass__construct" });
@export(TLSSocket.end, .{ .name = "TLSSocketPrototype__end" });
@export(TLSSocket.finalize, .{ .name = "TLSSocketClass__finalize" });
@export(TLSSocket.flush, .{ .name = "TLSSocketPrototype__flush" });
@@ -386,13 +362,6 @@ pub const JSListener = struct {
return result;
}
- /// Get the Listener constructor value.
- /// This loads lazily from the global object.
- pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue {
- JSC.markBinding(@src());
- return Listener__getConstructor(globalObject);
- }
-
/// Create a new instance of Listener
pub fn toJS(this: *Listener, globalObject: *JSC.JSGlobalObject) JSC.JSValue {
JSC.markBinding(@src());
@@ -425,10 +394,6 @@ pub const JSListener = struct {
extern fn Listener__dangerouslySetPtr(JSC.JSValue, ?*Listener) bool;
comptime {
- if (@TypeOf(Listener.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*Listener)) {
- @compileLog("Listener.constructor is not a constructor");
- }
-
if (@TypeOf(Listener.finalize) != (fn (*Listener) callconv(.C) void)) {
@compileLog("Listener.finalize is not a finalizer");
}
@@ -456,7 +421,6 @@ pub const JSListener = struct {
if (@TypeOf(Listener.unref) != CallbackType)
@compileLog("Expected Listener.unref to be a callback");
if (!JSC.is_bindgen) {
- @export(Listener.constructor, .{ .name = "ListenerClass__construct" });
@export(Listener.finalize, .{ .name = "ListenerClass__finalize" });
@export(Listener.getData, .{ .name = "ListenerPrototype__getData" });
@export(Listener.getHostname, .{ .name = "ListenerPrototype__getHostname" });
@@ -551,13 +515,6 @@ pub const JSSubprocess = struct {
return result;
}
- /// Get the Subprocess constructor value.
- /// This loads lazily from the global object.
- pub fn getConstructor(globalObject: *JSC.JSGlobalObject) JSC.JSValue {
- JSC.markBinding(@src());
- return Subprocess__getConstructor(globalObject);
- }
-
/// Create a new instance of Subprocess
pub fn toJS(this: *Subprocess, globalObject: *JSC.JSGlobalObject) JSC.JSValue {
JSC.markBinding(@src());
@@ -590,10 +547,6 @@ pub const JSSubprocess = struct {
extern fn Subprocess__dangerouslySetPtr(JSC.JSValue, ?*Subprocess) bool;
comptime {
- if (@TypeOf(Subprocess.constructor) != (fn (*JSC.JSGlobalObject, *JSC.CallFrame) callconv(.C) ?*Subprocess)) {
- @compileLog("Subprocess.constructor is not a constructor");
- }
-
if (@TypeOf(Subprocess.finalize) != (fn (*Subprocess) callconv(.C) void)) {
@compileLog("Subprocess.finalize is not a finalizer");
}
@@ -632,7 +585,6 @@ pub const JSSubprocess = struct {
@compileLog("Expected Subprocess.getStdin to be a getter");
if (!JSC.is_bindgen) {
- @export(Subprocess.constructor, .{ .name = "SubprocessClass__construct" });
@export(Subprocess.doRef, .{ .name = "SubprocessPrototype__doRef" });
@export(Subprocess.doUnref, .{ .name = "SubprocessPrototype__doUnref" });
@export(Subprocess.finalize, .{ .name = "SubprocessClass__finalize" });