aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/scripts
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-08-18 23:21:52 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-08-18 23:21:52 -0700
commit0f45386673fbf4f33b6e61b17ea49b69697ec79a (patch)
tree575ab281abf1d1250813aadc7e7473fb8d09ddf3 /src/bun.js/scripts
parent88d2a97670e4f32043f72b4c0f6f8a0e9715e644 (diff)
downloadbun-0f45386673fbf4f33b6e61b17ea49b69697ec79a.tar.gz
bun-0f45386673fbf4f33b6e61b17ea49b69697ec79a.tar.zst
bun-0f45386673fbf4f33b6e61b17ea49b69697ec79a.zip
Make `Request`, `Response` and `TextDecoder` not read-only
Diffstat (limited to 'src/bun.js/scripts')
-rw-r--r--src/bun.js/scripts/generate-classes.ts10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/bun.js/scripts/generate-classes.ts b/src/bun.js/scripts/generate-classes.ts
index eb93e6cd2..c3dc22a9f 100644
--- a/src/bun.js/scripts/generate-classes.ts
+++ b/src/bun.js/scripts/generate-classes.ts
@@ -1086,7 +1086,9 @@ function generateLazyClassStructureHeader(
JSC::JSValue ${className(typeName)}Prototype() { return m_${className(
typeName
)}.prototypeInitializedOnMainThread(this); }
- JSC::LazyClassStructure m_${className(typeName)};
+ JSC::LazyClassStructure m_${className(typeName)};
+ bool has${className(typeName)}SetterValue { false };
+ mutable JSC::WriteBarrier<JSC::Unknown> m_${className(typeName)}SetterValue;
`.trim();
}
@@ -1187,7 +1189,11 @@ template<typename Visitor>
void GlobalObject::visitGeneratedLazyClasses(GlobalObject *thisObject, Visitor& visitor)
{
${classes
- .map((a) => `thisObject->m_${className(a.name)}.visit(visitor);`)
+ .map(
+ (a) =>
+ `thisObject->m_${className(a.name)}.visit(visitor);
+visitor.visit(thisObject->m_${className(a.name)}SetterValue);`
+ )
.join("\n ")}
}