类 | |
| struct | Module |
| struct | ProviderEntry |
Public 成员函数 | |
| Impl (SQVM *inVm) | |
| ~Impl () | |
| void | recordCompilationFailure (std::string message) |
| std::string | resolve (const ScriptModuleRequest &request) |
| ScriptModuleSource | load (const std::string &canonical) |
| std::string | ensureCompiled (std::string_view importer, std::string_view specifier) |
| void | instantiate (const std::string &canonical) |
| void | instantiateModule (const std::string &canonical, Module &module) |
| void | release (Module &module) |
| std::vector< std::string > | reloadAffected (const std::string &canonical) |
静态 Public 成员函数 | |
| static SQRESULT | dependencyCallback (HSQUIRRELVM, const SQChar *importer, const SQChar *specifier, SQUserPointer user) |
| static SQRESULT | importCallback (HSQUIRRELVM vm, const SQChar *importer, const SQChar *specifier, SQUserPointer user, HSQOBJECT *exports) |
Public 属性 | |
| SQVM * | vm = nullptr |
| ProviderId | nextProviderId = 1 |
| std::vector< ProviderEntry > | providers |
| std::unordered_map< std::string, Module > | modules |
| std::unordered_map< std::string, std::vector< std::string > > | dependencies |
| std::optional< std::string > | pendingCompilationFailure |
详细描述
在文件 ScriptModule.cpp 第 90 行定义.
构造及析构函数说明
◆ Impl()
|
inlineexplicit |
在文件 ScriptModule.cpp 第 105 行定义.
引用了 dependencyCallback(), importCallback() , 以及 vm.
◆ ~Impl()
|
inline |
在文件 ScriptModule.cpp 第 106 行定义.
成员函数说明
◆ dependencyCallback()
|
inlinestatic |
◆ ensureCompiled()
|
inline |
在文件 ScriptModule.cpp 第 180 行定义.
引用了 eve::script::ScriptModuleResolver::Impl::Module::Compiling, found, modules, pendingCompilationFailure, resolve(), top , 以及 vm.
被这些函数引用 dependencyCallback() , 以及 reloadAffected().
◆ importCallback()
|
inlinestatic |
在文件 ScriptModule.cpp 第 128 行定义.
引用了 error, found, eve::script::ScriptModuleResolver::Impl::Module::Ready, resolve() , 以及 vm.
被这些函数引用 Impl().
◆ instantiate()
|
inline |
在文件 ScriptModule.cpp 第 214 行定义.
引用了 found, instantiateModule() , 以及 modules.
被这些函数引用 reloadAffected().
◆ instantiateModule()
|
inline |
在文件 ScriptModule.cpp 第 220 行定义.
引用了 eve::script::ScriptModuleResolver::Impl::Module::closure, eve::script::ScriptModuleResolver::Impl::Module::exports, eve::script::ScriptModuleResolver::Impl::Module::Instantiating, eve::script::ScriptModuleResolver::Impl::Module::Ready, eve::script::ScriptModuleResolver::Impl::Module::state, top , 以及 vm.
被这些函数引用 instantiate().
◆ load()
|
inline |
在文件 ScriptModule.cpp 第 164 行定义.
引用了 error, eve::script::Error, eve::script::NotHandled, providers, source , 以及 status.
◆ recordCompilationFailure()
|
inline |
在文件 ScriptModule.cpp 第 144 行定义.
引用了 message , 以及 pendingCompilationFailure.
◆ release()
|
inline |
◆ reloadAffected()
|
inline |
在文件 ScriptModule.cpp 第 258 行定义.
引用了 dependencies, edge, edges, ensureCompiled(), found, instantiate(), modules, order, previous, release , 以及 uri.
◆ resolve()
|
inline |
在文件 ScriptModule.cpp 第 148 行定义.
引用了 error, eve::script::Error, eve::script::Found, providers, request , 以及 status.
被这些函数引用 ensureCompiled() , 以及 importCallback().
类成员变量说明
◆ dependencies
| std::unordered_map<std::string, std::vector<std::string> > eve::script::ScriptModuleResolver::Impl::dependencies |
在文件 ScriptModule.cpp 第 314 行定义.
被这些函数引用 reloadAffected().
◆ modules
| std::unordered_map<std::string, Module> eve::script::ScriptModuleResolver::Impl::modules |
在文件 ScriptModule.cpp 第 313 行定义.
被这些函数引用 ensureCompiled(), instantiate(), reloadAffected() , 以及 ~Impl().
◆ nextProviderId
| ProviderId eve::script::ScriptModuleResolver::Impl::nextProviderId = 1 |
在文件 ScriptModule.cpp 第 311 行定义.
◆ pendingCompilationFailure
| std::optional<std::string> eve::script::ScriptModuleResolver::Impl::pendingCompilationFailure |
在文件 ScriptModule.cpp 第 315 行定义.
被这些函数引用 ensureCompiled() , 以及 recordCompilationFailure().
◆ providers
| std::vector<ProviderEntry> eve::script::ScriptModuleResolver::Impl::providers |
在文件 ScriptModule.cpp 第 312 行定义.
◆ vm
| SQVM* eve::script::ScriptModuleResolver::Impl::vm = nullptr |
在文件 ScriptModule.cpp 第 310 行定义.
被这些函数引用 ensureCompiled(), Impl(), importCallback(), instantiateModule(), release() , 以及 ~Impl().
该结构体的文档由以下文件生成:
- src/engine/common/ScriptModule.cpp