diff options
Diffstat (limited to 'src/bun.js/bindings/ZigSourceProvider.h')
-rw-r--r-- | src/bun.js/bindings/ZigSourceProvider.h | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/bun.js/bindings/ZigSourceProvider.h b/src/bun.js/bindings/ZigSourceProvider.h index 5219bd2c1..dd78b20ae 100644 --- a/src/bun.js/bindings/ZigSourceProvider.h +++ b/src/bun.js/bindings/ZigSourceProvider.h @@ -20,6 +20,8 @@ class SourceProvider; namespace Zig { +class GlobalObject; + class SourceProvider final : public JSC::SourceProvider { WTF_MAKE_FAST_ALLOCATED; using Base = JSC::SourceProvider; @@ -32,7 +34,7 @@ class SourceProvider final : public JSC::SourceProvider { using SourceOrigin = JSC::SourceOrigin; public: - static Ref<SourceProvider> create(ResolvedSource resolvedSource); + static Ref<SourceProvider> create(Zig::GlobalObject*, ResolvedSource resolvedSource, JSC::SourceProviderSourceType sourceType = JSC::SourceProviderSourceType::Module); ~SourceProvider() { freeSourceCode(); @@ -40,8 +42,8 @@ public: commitCachedBytecode(); } - unsigned hash() const { return m_hash; }; - StringView source() const { return StringView(m_source.get()); } + unsigned hash() const override; + StringView source() const override { return StringView(m_source.get()); } RefPtr<JSC::CachedBytecode> cachedBytecode() { // if (m_resolvedSource.bytecodecache_fd == 0) { @@ -62,7 +64,7 @@ public: void freeSourceCode(); private: - SourceProvider(ResolvedSource resolvedSource, WTF::StringImpl& sourceImpl, + SourceProvider(Zig::GlobalObject* globalObject, ResolvedSource resolvedSource, Ref<WTF::StringImpl>&& sourceImpl, const SourceOrigin& sourceOrigin, WTF::String&& sourceURL, const TextPosition& startPosition, JSC::SourceProviderSourceType sourceType) : Base(sourceOrigin, WTFMove(sourceURL), String(), startPosition, sourceType) @@ -70,17 +72,14 @@ private: { m_resolvedSource = resolvedSource; - - m_hash = resolvedSource.hash; - - getHash(); } - unsigned m_hash; - unsigned getHash(); RefPtr<JSC::CachedBytecode> m_cachedBytecode; Ref<WTF::StringImpl> m_source; bool did_free_source_code = false; + Zig::GlobalObject* m_globalObjectForSourceProviderMap; + unsigned m_hash; + // JSC::SourceCodeKey key; }; |