载入中...
搜索中...
未找到
eve::script::ScriptModuleResolver::Impl结构体 参考

类

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()

eve::script::ScriptModuleResolver::Impl::Impl ( SQVM *  inVm)
inlineexplicit

在文件 ScriptModule.cpp 第 105 行定义.

引用了 dependencyCallback(), importCallback() , 以及 vm.

◆ ~Impl()

eve::script::ScriptModuleResolver::Impl::~Impl ( )
inline

在文件 ScriptModule.cpp 第 106 行定义.

引用了 modules , 以及 vm.

成员函数说明

◆ dependencyCallback()

static SQRESULT eve::script::ScriptModuleResolver::Impl::dependencyCallback ( HSQUIRRELVM  ,
const SQChar *  importer,
const SQChar *  specifier,
SQUserPointer  user 
)
inlinestatic

在文件 ScriptModule.cpp 第 114 行定义.

引用了 edges, ensureCompiled() , 以及 error.

被这些函数引用 Impl().

◆ ensureCompiled()

std::string eve::script::ScriptModuleResolver::Impl::ensureCompiled ( std::string_view  importer,
std::string_view  specifier 
)
inline

◆ importCallback()

static SQRESULT eve::script::ScriptModuleResolver::Impl::importCallback ( HSQUIRRELVM  vm,
const SQChar *  importer,
const SQChar *  specifier,
SQUserPointer  user,
HSQOBJECT *  exports 
)
inlinestatic

在文件 ScriptModule.cpp 第 128 行定义.

引用了 error, found, eve::script::ScriptModuleResolver::Impl::Module::Ready, resolve() , 以及 vm.

被这些函数引用 Impl().

◆ instantiate()

void eve::script::ScriptModuleResolver::Impl::instantiate ( const std::string &  canonical)
inline

在文件 ScriptModule.cpp 第 214 行定义.

引用了 found, instantiateModule() , 以及 modules.

被这些函数引用 reloadAffected().

◆ instantiateModule()

◆ load()

ScriptModuleSource eve::script::ScriptModuleResolver::Impl::load ( const std::string &  canonical)
inline

在文件 ScriptModule.cpp 第 164 行定义.

引用了 error, eve::script::Error, eve::script::NotHandled, providers, source , 以及 status.

◆ recordCompilationFailure()

void eve::script::ScriptModuleResolver::Impl::recordCompilationFailure ( std::string  message)
inline

在文件 ScriptModule.cpp 第 144 行定义.

引用了 message , 以及 pendingCompilationFailure.

◆ release()

void eve::script::ScriptModuleResolver::Impl::release ( Module &  module)
inline

◆ reloadAffected()

std::vector< std::string > eve::script::ScriptModuleResolver::Impl::reloadAffected ( const std::string &  canonical)
inline

◆ resolve()

std::string eve::script::ScriptModuleResolver::Impl::resolve ( const ScriptModuleRequest &  request)
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 行定义.

被这些函数引用 load() , 以及 resolve().

◆ vm

SQVM* eve::script::ScriptModuleResolver::Impl::vm = nullptr

在文件 ScriptModule.cpp 第 310 行定义.

被这些函数引用 ensureCompiled(), Impl(), importCallback(), instantiateModule(), release() , 以及 ~Impl().


该结构体的文档由以下文件生成: