mirror of
https://github.com/oven-sh/bun
synced 2026-02-15 05:12:29 +00:00
Co-authored-by: cirospaciari <cirospaciari@users.noreply.github.com> Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
38 lines
1.3 KiB
C++
38 lines
1.3 KiB
C++
#include "root.h"
|
|
#include "BunHttp2CommonStrings.h"
|
|
#include <JavaScriptCore/JSString.h>
|
|
#include <JavaScriptCore/JSGlobalObject.h>
|
|
#include <JavaScriptCore/LazyProperty.h>
|
|
#include <JavaScriptCore/LazyPropertyInlines.h>
|
|
#include "ZigGlobalObject.h"
|
|
#include <JavaScriptCore/SlotVisitorInlines.h>
|
|
#include <JavaScriptCore/VMTrapsInlines.h>
|
|
|
|
namespace Bun {
|
|
using namespace JSC;
|
|
|
|
#define HTTP2_COMMON_STRINGS_LAZY_PROPERTY_DEFINITION(jsName, key, value, idx) \
|
|
this->m_names[idx].initLater( \
|
|
[](const JSC::LazyProperty<JSGlobalObject, JSString>::Initializer& init) { \
|
|
init.set(jsOwnedString(init.vm, key)); \
|
|
});
|
|
|
|
#define HTTP2_COMMON_STRINGS_LAZY_PROPERTY_VISITOR(name, key, value, idx) \
|
|
this->m_names[idx].visit(visitor);
|
|
|
|
void Http2CommonStrings::initialize()
|
|
{
|
|
HTTP2_COMMON_STRINGS_EACH_NAME(HTTP2_COMMON_STRINGS_LAZY_PROPERTY_DEFINITION)
|
|
}
|
|
|
|
template<typename Visitor>
|
|
void Http2CommonStrings::visit(Visitor& visitor)
|
|
{
|
|
HTTP2_COMMON_STRINGS_EACH_NAME(HTTP2_COMMON_STRINGS_LAZY_PROPERTY_VISITOR)
|
|
}
|
|
|
|
template void Http2CommonStrings::visit(JSC::AbstractSlotVisitor&);
|
|
template void Http2CommonStrings::visit(JSC::SlotVisitor&);
|
|
|
|
} // namespace Bun
|