3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/scripting/lifetime_registry/TypedObjectHandle.h"
14namespace Scripting {
class IDependencyLoader; }
15namespace Scripting {
class IPrinter; }
16namespace Scripting {
class ResultAny; }
17namespace Scripting {
class ScriptObjectFactory; }
18namespace Scripting {
class WeakLifetimeScope; }
19namespace Scripting {
struct AnyAndJSValue; }
20namespace Scripting {
struct ClosureType; }
21namespace Scripting {
struct ConstantFactory; }
22namespace Scripting {
struct ContextConfig; }
23namespace Scripting {
struct ContextId; }
24namespace Scripting {
struct EnumBinding; }
25namespace Scripting {
struct FunctionBinding; }
26namespace Scripting {
struct FutureType; }
27namespace Scripting {
struct GlobalBinding; }
28namespace Scripting {
struct IteratorBinding; }
29namespace Scripting {
struct ModuleBinding; }
30namespace Scripting {
struct ModuleBindingBundle; }
31namespace Scripting {
struct ObjectFactory; }
32namespace Scripting {
struct PropertyBinding; }
33namespace Scripting {
struct TypeNameInfo; }
34namespace Scripting::QuickJS {
class ContextUserData; }
35namespace Scripting::QuickJS {
class ObjectInspector; }
36namespace Scripting::QuickJS {
class RegisteredClass; }
37namespace Scripting::QuickJS {
class RegisteredError; }
40namespace Scripting::QuickJS {
109 ::std::unique_ptr<::Scripting::ScriptObjectFactory>&& factory,
110 ::std::unique_ptr<::Scripting::QuickJS::ObjectInspector>&& inspector,
119 MCNAPI
void _bindModules(::std::vector<::Scripting::ModuleBinding>
const& modules);
123 MCNAPI ::JSModuleDef*
_evalScriptAsModule(::std::string
const& moduleName, ::std::string
const& moduleScript);
129 MCNAPI ::Scripting::ResultAny
call(
131 ::entt::meta_any* args,
133 ::entt::meta_type
const& expectedReturnType
138 ::entt::meta_type
const&
141 MCNAPI ::Scripting::TypeNameInfo
getNameForType(::entt::meta_type
const& type,
bool allowUnknownTypes)
const;
149 MCNAPI ::Scripting::ResultAny
run(::std::string
const& scriptName, ::std::string
const& scriptData);
187 ::std::string
const& className
236 ::std::string
const& className
257 ::std::unique_ptr<::Scripting::ScriptObjectFactory>&& factory,
258 ::std::unique_ptr<::Scripting::QuickJS::ObjectInspector>&& inspector,
Definition IDependencyLoader.h:12
Definition ContextObject.h:42
static MCAPI ::std::unique_ptr<::Scripting::AnyAndJSValue > _createEnumReverseConstant(::JSContext *ctx, ::Scripting::QuickJS::ContextUserData &contextData, ::JSValue enumObj, ::Scripting::EnumBinding const &enumBinding, ::Scripting::ConstantFactory const &constantBinding)
MCAPI::Scripting::ResultAny run(::std::string const &scriptName, ::std::string const &scriptData)
static MCAPI void _createProperty(::JSContext *ctx, ::JSValue jsPrototype, ::Scripting::PropertyBinding const &propertyBinding, ::std::string const &className)
static MCAPI void _bindClass(::JSContext *ctx, ::JSModuleDef *jsModuleDef, ::Scripting::QuickJS::ContextUserData &contextData, ::Scripting::QuickJS::RegisteredClass ®isteredClass)
static MCAPI void _createModuleObject(::JSContext *ctx, ::JSModuleDef *jsModuleDef, ::Scripting::QuickJS::ContextUserData &contextData, ::Scripting::ObjectFactory const &objectFactory)
MCAPI::Scripting::ResultAny getFutureResult(::Scripting::TypedObjectHandle<::Scripting::FutureType > futureHandle, ::entt::meta_type const &) const
static MCAPI void _createModuleEnum(::JSContext *ctx, ::JSModuleDef *jsModuleDef, ::Scripting::QuickJS::ContextUserData &contextData, ::Scripting::EnumBinding const &enumBinding)
MCAPI::JSModuleDef * _evalScriptAsModule(::std::string const &moduleName, ::std::string const &moduleScript)
static MCAPI void _createGlobalObject(::JSContext *ctx, ::Scripting::QuickJS::ContextUserData &contextData, ::Scripting::ObjectFactory const &objectFactory)
static MCAPI void _createIterator(::JSContext *ctx, ::JSModuleDef *jsModuleDef, ::Scripting::QuickJS::ContextUserData &contextData, ::JSValue jsValue, ::Scripting::IteratorBinding &iteratorBinding)
MCAPI::JSModuleDef * loadScriptAsModule(::std::string const &moduleName)
static MCAPI void _createGlobalEnum(::JSContext *ctx, ::Scripting::QuickJS::ContextUserData &contextData, ::Scripting::EnumBinding const &enumBinding)
MCAPI void * $ctor(::Scripting::ContextId contextId, ::JSContext *jsContext, ::Scripting::WeakLifetimeScope scope, ::Scripting::ModuleBindingBundle &&bindings, ::std::unique_ptr<::Scripting::ScriptObjectFactory > &&factory, ::std::unique_ptr<::Scripting::QuickJS::ObjectInspector > &&inspector, ::Scripting::IPrinter *printer, ::Scripting::IDependencyLoader *loader, ::JSRuntime *jsRuntime, ::Scripting::ContextConfig const &contextConfig)
MCAPI::Scripting::TypeNameInfo getNameForType(::entt::meta_type const &type, bool allowUnknownTypes) const
MCAPI ContextObject(::Scripting::ContextId contextId, ::JSContext *jsContext, ::Scripting::WeakLifetimeScope scope, ::Scripting::ModuleBindingBundle &&bindings, ::std::unique_ptr<::Scripting::ScriptObjectFactory > &&factory, ::std::unique_ptr<::Scripting::QuickJS::ObjectInspector > &&inspector, ::Scripting::IPrinter *printer, ::Scripting::IDependencyLoader *loader, ::JSRuntime *jsRuntime, ::Scripting::ContextConfig const &contextConfig)
MCAPI void _bindPrint(::JSContext *ctx)
MCAPI::Scripting::ResultAny call(::Scripting::TypedObjectHandle<::Scripting::ClosureType > closureHandle, ::entt::meta_any *args, uint argc, ::entt::meta_type const &expectedReturnType)
static MCAPI int _moduleInitializer(::JSContext *ctx, ::JSModuleDef *jsModuleDef)
MCAPI void _bindGlobals(::Scripting::GlobalBinding const &global)
MCAPI void _bindModules(::std::vector<::Scripting::ModuleBinding > const &modules)
MCAPI bool isModuleImportAllowed(::std::string const &baseName, ::std::string const &moduleName) const
static MCAPI ::std::unique_ptr<::Scripting::AnyAndJSValue > _createConstant(::JSContext *ctx, ::Scripting::QuickJS::ContextUserData &contextData, ::JSValue target, ::Scripting::ConstantFactory const &constantCreator)
static MCAPI void _createGlobalFunction(::JSContext *ctx, ::Scripting::FunctionBinding const &functionBinding)
static MCAPI void _bindError(::JSContext *ctx, ::JSModuleDef *moduleDef, ::Scripting::QuickJS::RegisteredError ®isteredError)
static MCAPI int _initializeModuleBinding(::JSContext *ctx, ::JSModuleDef *jsModuleDef, ::Scripting::QuickJS::ContextUserData &contextData, ::Scripting::ModuleBinding const &moduleBinding)
static MCAPI void _createModuleFunction(::JSContext *ctx, ::JSModuleDef *jsModuleDef, ::Scripting::FunctionBinding const &functionBinding)
MCAPI void processUnhandledPromiseRejection()
MCAPI void addUnhandledPromiseRejection(void *promise, ::entt::meta_any rejection, bool isHandled)
static MCAPI void _createFunction(::JSContext *ctx, ::JSValue jsValue, ::Scripting::FunctionBinding const &functionBinding, ::JSValue jsCtorVal, ::std::string const &className)
MCAPI void _resolvePromise(::JSValue jsResolutionFunc, ::entt::meta_any &arg)
Definition ContextUserData.h:17
Definition RegisteredClass.h:7
Definition RegisteredError.h:7
Definition WeakLifetimeScope.h:12
Definition JSModuleDef.h:8
Definition ConstantFactory.h:15
Definition ContextConfig.h:7
Definition EnumBinding.h:15
Definition FunctionBinding.h:10
Definition GlobalBinding.h:7
Definition IteratorBinding.h:15
Definition ModuleBindingBundle.h:7
Definition ModuleBinding.h:21
Definition ObjectFactory.h:17
Definition PropertyBinding.h:10
Definition ContextObject.h:50
MCAPI ~UnhandledPromiseRejectionEntry()
Definition TypedObjectHandle.h:8