#include "root.h" #include "BunBuiltinNames.h" #include "BunCommonStrings.h" #include #include #include #include #include "ZigGlobalObject.h" #include #include namespace Bun { using namespace JSC; #define BUN_COMMON_STRINGS_LAZY_PROPERTY_DEFINITION(jsName) \ this->m_commonString_##jsName.initLater( \ [](const JSC::LazyProperty::Initializer& init) { \ auto& names = WebCore::builtinNames(init.vm); \ auto name = names.jsName##PublicName(); \ init.set(jsOwnedString(init.vm, name.string())); \ }); #define BUN_COMMON_STRINGS_LAZY_PROPERTY_VISITOR(name) this->m_commonString_##name.visit(visitor); void CommonStrings::initialize() { BUN_COMMON_STRINGS_EACH_NAME(BUN_COMMON_STRINGS_LAZY_PROPERTY_DEFINITION) } template void CommonStrings::visit(Visitor& visitor) { BUN_COMMON_STRINGS_EACH_NAME(BUN_COMMON_STRINGS_LAZY_PROPERTY_VISITOR) } template void CommonStrings::visit(JSC::AbstractSlotVisitor&); template void CommonStrings::visit(JSC::SlotVisitor&); } // namespace Bun