aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/scripts/generate-classes.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js/scripts/generate-classes.ts')
-rw-r--r--src/bun.js/scripts/generate-classes.ts14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/bun.js/scripts/generate-classes.ts b/src/bun.js/scripts/generate-classes.ts
index d39ea027b..f13132f8f 100644
--- a/src/bun.js/scripts/generate-classes.ts
+++ b/src/bun.js/scripts/generate-classes.ts
@@ -292,9 +292,7 @@ export function generateHashTable(nameToUse, symbolName, typeName, obj, props =
// { "CLOSED"_s, JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { HashTableValue::ConstantType, 3 } },
// };
return `
- static const HashTableValue ${nameToUse}TableValues[] = {
-${rows.join(" ,\n")}
- };
+ static const HashTableValue ${nameToUse}TableValues[] = {${rows.length > 0 ? "\n" + rows.join(" ,\n") + "\n" : ""}};
`;
}
@@ -348,7 +346,11 @@ ${renderFieldsImpl(protoSymbolName, typeName, obj, protoFields, obj.values || []
void ${proto}::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject)
{
Base::finishCreation(vm);
- reifyStaticProperties(vm, ${className(typeName)}::info(), ${proto}TableValues, *this);${specialSymbols}
+ ${
+ Object.keys(protoFields).length > 0
+ ? `reifyStaticProperties(vm, ${className(typeName)}::info(), ${proto}TableValues, *this);`
+ : ""
+ }${specialSymbols}
JSC_TO_STRING_TAG_WITHOUT_TRANSITION();
}
@@ -1144,9 +1146,9 @@ function generateImpl(typeName, obj) {
return [
generatePrototypeHeader(typeName),
!obj.noConstructor ? generateConstructorHeader(typeName).trim() + "\n" : null,
- Object.keys(proto).length > 0 && generatePrototype(typeName, obj).trim(),
+ generatePrototype(typeName, obj).trim(),
!obj.noConstructor ? generateConstructorImpl(typeName, obj).trim() : null,
- Object.keys(proto).length > 0 && generateClassImpl(typeName, obj).trim(),
+ generateClassImpl(typeName, obj).trim(),
]
.filter(Boolean)
.join("\n\n");