Skip to content

Commit

Permalink
Merge branch 'Tencent:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
ArnoChenFx authored Jan 24, 2024
2 parents 84c8651 + 04d9004 commit b766d6e
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 14 deletions.
4 changes: 3 additions & 1 deletion unreal/Puerts/Content/JavaScript/puerts/promises.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@ var global = global || (function () { return this; }());
maybeUnhandledRejection.set(promise, {
reason,
}); //maybe unhandledRejection
Promise.resolve().then(_ => unhandledRejection(promise, reason));
Promise.resolve()
.then(() => Promise.resolve()) // run after all microtasks
.then(_ => unhandledRejection(promise, reason));
break;
case kPromiseHandlerAddedAfterReject:
handlerAddedAfterReject(promise);
Expand Down
26 changes: 14 additions & 12 deletions unreal/Puerts/Source/JsEnv/Public/ScriptBackend.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -87,18 +87,20 @@
{ \
};

#define DeclOverload(Name, SIGNATURE, M, ...) \
template <> \
struct Name##PuertsOverloads<SIGNATURE> \
{ \
static bool overloadCall(::PUERTS_NAMESPACE::PUERTS_BINDING_IMPL::API::CallbackInfoType info) \
{ \
return ::PUERTS_NAMESPACE::FuncCallWrapper<SIGNATURE, M, true>::overloadCallWithDefaultValues(info, ##__VA_ARGS__); \
} \
static const ::PUERTS_NAMESPACE::CFunctionInfo* info() \
{ \
return ::PUERTS_NAMESPACE::FuncCallWrapper<SIGNATURE, M>::info(PUERTS_NAMESPACE::Count(__VA_ARGS__)); \
} \
#define DeclOverload(Name, SIGNATURE, M, ...) \
template <> \
struct Name##PuertsOverloads<SIGNATURE> \
{ \
static bool overloadCall(::PUERTS_NAMESPACE::PUERTS_BINDING_IMPL::API::CallbackInfoType info) \
{ \
return ::PUERTS_NAMESPACE::FuncCallWrapper<PUERTS_NAMESPACE::PUERTS_BINDING_IMPL::API, SIGNATURE, M, \
true>::overloadCallWithDefaultValues(info, ##__VA_ARGS__); \
} \
static const ::PUERTS_NAMESPACE::CFunctionInfo* info() \
{ \
return ::PUERTS_NAMESPACE::FuncCallWrapper<PUERTS_NAMESPACE::PUERTS_BINDING_IMPL::API, SIGNATURE, M>::info( \
PUERTS_NAMESPACE::Count(__VA_ARGS__)); \
} \
};

#define SelectOverload(Name, SIGNATURE) Name##PuertsOverloads<SIGNATURE>
Expand Down
7 changes: 6 additions & 1 deletion unreal/Puerts/Source/JsEnv/Public/StaticCall.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -1627,7 +1627,12 @@ class ClassDefineBuilder

void Register()
{
RegisterAPI::template Register<T>(FinalizeBuilder<T>::Build(), *this);
Register(FinalizeBuilder<T>::Build());
}

void Register(FinalizeFuncType Finalize)
{
RegisterAPI::template Register<T>(Finalize, *this);
}
};

Expand Down

0 comments on commit b766d6e

Please sign in to comment.