From 6bdcab11b919fcd02a4de24c013f38d36a10063a Mon Sep 17 00:00:00 2001 From: phosit Date: Sun, 9 Nov 2025 18:31:00 +0100 Subject: [PATCH] Don't forward declare CompiledModule When using `std::unordered_map` it's types have to be complete. --- source/scriptinterface/ModuleLoader.h | 38 +++++++++++++-------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/source/scriptinterface/ModuleLoader.h b/source/scriptinterface/ModuleLoader.h index 3f7e470daf..833e4efd38 100644 --- a/source/scriptinterface/ModuleLoader.h +++ b/source/scriptinterface/ModuleLoader.h @@ -47,11 +47,29 @@ class ModuleLoader public: friend ScriptContext; - class CompiledModule; class Future; class Result; using AllowModuleFunc = std::function; + + class CompiledModule + { + public: + CompiledModule(const ScriptRequest& rq, const AllowModuleFunc& allowModule, const VfsPath& filePath); + + std::tuple&, + const std::vector>&> GetRequesters() const; + + void AddRequester(VfsPath importer); + void AddRequester(Result& callback); + void RemoveRequester(Result* toErase); + + JS::PersistentRootedObject m_ModuleObject; + private: + std::vector m_Importer; + std::vector> m_Callbacks; + }; + using RegistryType = std::unordered_map; ModuleLoader(AllowModuleFunc allowModule); @@ -86,24 +104,6 @@ private: RegistryType m_Registry; }; -class ModuleLoader::CompiledModule -{ -public: - CompiledModule(const ScriptRequest& rq, const AllowModuleFunc& allowModule, const VfsPath& filePath); - - std::tuple&, - const std::vector>&> GetRequesters() const; - - void AddRequester(VfsPath importer); - void AddRequester(Result& callback); - void RemoveRequester(Result* toErase); - - JS::PersistentRootedObject m_ModuleObject; -private: - std::vector m_Importer; - std::vector> m_Callbacks; -}; - /** * The future is fulfilled once the evaluation of the module * completes.