mirror of
https://gitea.wildfiregames.com/0ad/0ad.git
synced 2026-09-21 20:06:40 +00:00
Fixes & improvements to FunctionWrapper
- HandleValue needed to explicitly pass UndefinedHandleValue for 'default' arguments. - Allow passing ScriptInterface as first argument. - Statically check that a getter is provided for object methods instead of crashing at runtime - A few stylistic improvements Differential Revision: https://code.wildfiregames.com/D3625 This was SVN commit r24981.
This commit is contained in:
@@ -70,10 +70,14 @@ public:
|
||||
|
||||
void test_method_wrappers()
|
||||
{
|
||||
static_assert(std::is_same_v<decltype(&ScriptFunction::ToJSNative<&TestFunctionWrapper::test_method::method_1>), JSNative>);
|
||||
static_assert(std::is_same_v<decltype(&ScriptFunction::ToJSNative<&TestFunctionWrapper::test_method::method_2>), JSNative>);
|
||||
static_assert(std::is_same_v<decltype(&ScriptFunction::ToJSNative<&TestFunctionWrapper::test_method::const_method_1>), JSNative>);
|
||||
static_assert(std::is_same_v<decltype(&ScriptFunction::ToJSNative<&TestFunctionWrapper::test_method::const_method_2>), JSNative>);
|
||||
static_assert(std::is_same_v<decltype(&ScriptFunction::ToJSNative<&TestFunctionWrapper::test_method::method_1,
|
||||
&ScriptFunction::ObjectFromCBData<test_method>>), JSNative>);
|
||||
static_assert(std::is_same_v<decltype(&ScriptFunction::ToJSNative<&TestFunctionWrapper::test_method::method_2,
|
||||
&ScriptFunction::ObjectFromCBData<test_method>>), JSNative>);
|
||||
static_assert(std::is_same_v<decltype(&ScriptFunction::ToJSNative<&TestFunctionWrapper::test_method::const_method_1,
|
||||
&ScriptFunction::ObjectFromCBData<test_method>>), JSNative>);
|
||||
static_assert(std::is_same_v<decltype(&ScriptFunction::ToJSNative<&TestFunctionWrapper::test_method::const_method_2,
|
||||
&ScriptFunction::ObjectFromCBData<test_method>>), JSNative>);
|
||||
}
|
||||
|
||||
void test_calling()
|
||||
|
||||
Reference in New Issue
Block a user