Compare commits

...
8 Commits
Author SHA1 Message Date
James ChenandGitHub edc75f8839 Update swig, supports virtual inheritance (#395) 2023-08-09 11:35:04 +08:00
Santy-WangandGitHub 9b5264d916 Merge pull request #394 from cocos/v3.8.1
sync V3.8.1 to develop
2023-08-03 18:31:41 +08:00
minggoandGitHub 7983e5d777 Merge pull request #387 from minggo/develop-merge-v3.8.1
Develop merge v3.8.1
2023-07-13 14:12:52 +08:00
minggo 109587f1dd Merge branch 'v3.8.1' into develop-merge-v3.8.1 2023-07-13 11:59:22 +08:00
zhakesiandGitHub 6e292f061a update spine wasm (#374) 2023-06-30 14:45:08 +08:00
minggoandGitHub 161b2ca59a Merge pull request #372 from cocos/v3.8.0
V3.8.0
2023-06-27 11:02:50 +08:00
minggoandGitHub 998ab5a93c Merge pull request #362 from cocos/v3.8.0
V3.8.0
2023-06-13 10:08:14 +08:00
qiuguohuaandGitHub bc4dcfbabe Fix harmonyos platform compilation failure. (#356) 2023-06-02 14:55:25 +08:00
10 changed files with 44 additions and 25 deletions
Binary file not shown.
@@ -21,4 +21,11 @@
%include <javascriptinit.swg>
#define %module_macro(m) %feature("module_macro","m")
#define %release_returned_cpp_object_in_gc(method) %feature("release_returned_cpp_object_in_gc", "1") method
#define %release_returned_cpp_object_in_gc(method) %feature("release_returned_cpp_object_in_gc", "1") method
%define %virtual_inherit(klass)
%feature("virtual_inherit", "1") klass;
%typemap(in) klass *self
%{ $1 = SE_THIS_OBJECT_VIRTUAL<$*ltype, cc::VirtualInheritBase>(s);
if (nullptr == $1) return true;%}
%enddef
@@ -22,8 +22,7 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
$js_check_arg_count
$jslocals
$jscode
auto *ptr = JSB_MAKE_PRIVATE_OBJECT_WITH_INSTANCE(result);
s.thisObject()->setPrivateObject(ptr);
$js_set_private_object
return true;
}
SE_BIND_CTOR($jswrapper, __jsb_$jsmangledname_class, js_delete_$jsdtor)%}
@@ -62,8 +61,7 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
CC_UNUSED bool ok = true;
$jslocals
$jscode
auto *ptr = JSB_MAKE_PRIVATE_OBJECT_WITH_INSTANCE(result);
s.thisObject()->setPrivateObject(ptr);
$js_set_private_object
return true;
}
%}
@@ -86,19 +84,20 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
/* -----------------------------------------------------------------------------
* js_dtor: template for a destructor wrapper
* - $jsmangledname: mangled class name
* - $classname_mangled: mangled class name
* - $jstype: class type
* ----------------------------------------------------------------------------- */
%fragment ("js_dtor", "templates")
%{
static bool $jswrapper(se::State& s) {
cc::invokeOnGarbageCollectMethod<$jsclass_type>(s);
return true;
}
SE_BIND_FINALIZE_FUNC($jswrapper) %}
/* -----------------------------------------------------------------------------
* js_dtor: template for a destructor wrapper
* - $jsmangledname: mangled class name
* - $classname_mangled: mangled class name
* - $jstype: class type
* - ${destructor_action}: The custom destructor action to invoke.
* ----------------------------------------------------------------------------- */
@@ -106,6 +105,7 @@ SE_BIND_FINALIZE_FUNC($jswrapper) %}
%{
static bool $jswrapper(se::State& s)
{
cc::invokeOnGarbageCollectMethod<$jsclass_type>(s);
return true;
}
SE_BIND_FINALIZE_FUNC($jswrapper) %}
Binary file not shown.
@@ -21,4 +21,11 @@
%include <javascriptinit.swg>
#define %module_macro(m) %feature("module_macro","m")
#define %release_returned_cpp_object_in_gc(method) %feature("release_returned_cpp_object_in_gc", "1") method
#define %release_returned_cpp_object_in_gc(method) %feature("release_returned_cpp_object_in_gc", "1") method
%define %virtual_inherit(klass)
%feature("virtual_inherit", "1") klass;
%typemap(in) klass *self
%{ $1 = SE_THIS_OBJECT_VIRTUAL<$*ltype, cc::VirtualInheritBase>(s);
if (nullptr == $1) return true;%}
%enddef
@@ -22,8 +22,7 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
$js_check_arg_count
$jslocals
$jscode
auto *ptr = JSB_MAKE_PRIVATE_OBJECT_WITH_INSTANCE(result);
s.thisObject()->setPrivateObject(ptr);
$js_set_private_object
return true;
}
SE_BIND_CTOR($jswrapper, __jsb_$jsmangledname_class, js_delete_$jsdtor)%}
@@ -62,8 +61,7 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
CC_UNUSED bool ok = true;
$jslocals
$jscode
auto *ptr = JSB_MAKE_PRIVATE_OBJECT_WITH_INSTANCE(result);
s.thisObject()->setPrivateObject(ptr);
$js_set_private_object
return true;
}
%}
@@ -86,19 +84,20 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
/* -----------------------------------------------------------------------------
* js_dtor: template for a destructor wrapper
* - $jsmangledname: mangled class name
* - $classname_mangled: mangled class name
* - $jstype: class type
* ----------------------------------------------------------------------------- */
%fragment ("js_dtor", "templates")
%{
static bool $jswrapper(se::State& s) {
cc::invokeOnGarbageCollectMethod<$jsclass_type>(s);
return true;
}
SE_BIND_FINALIZE_FUNC($jswrapper) %}
/* -----------------------------------------------------------------------------
* js_dtor: template for a destructor wrapper
* - $jsmangledname: mangled class name
* - $classname_mangled: mangled class name
* - $jstype: class type
* - ${destructor_action}: The custom destructor action to invoke.
* ----------------------------------------------------------------------------- */
@@ -106,6 +105,7 @@ SE_BIND_FINALIZE_FUNC($jswrapper) %}
%{
static bool $jswrapper(se::State& s)
{
cc::invokeOnGarbageCollectMethod<$jsclass_type>(s);
return true;
}
SE_BIND_FINALIZE_FUNC($jswrapper) %}
+2 -4
View File
@@ -139,7 +139,5 @@ glslang (Built using https://github.com/YunHsiao/glslang/tree/build)
linux: 11.5.0
openharmony:11.5.0 (commit: 1978c76)
swig ( Built using https://github.com/cocos/swig/tree/cocos-se, executable files are downloaded from https://github.com/cocos/swig/releases/tag/cocos-v1.1.6 )
win64: cocos-v1.1.6 (commit: f52be17)
mac: cocos-v1.1.6 (commit: f52be17)
linux: cocos-v1.1.6 (commit: f52be17)
swig ( Built using https://github.com/cocos/swig/tree/cocos-se, executable files are downloaded from https://github.com/cocos/swig/releases/tag/cocos-v1.1.7 )
all: cocos-v1.1.7 (commit: 7969da2)
Binary file not shown.
@@ -21,4 +21,11 @@
%include <javascriptinit.swg>
#define %module_macro(m) %feature("module_macro","m")
#define %release_returned_cpp_object_in_gc(method) %feature("release_returned_cpp_object_in_gc", "1") method
#define %release_returned_cpp_object_in_gc(method) %feature("release_returned_cpp_object_in_gc", "1") method
%define %virtual_inherit(klass)
%feature("virtual_inherit", "1") klass;
%typemap(in) klass *self
%{ $1 = SE_THIS_OBJECT_VIRTUAL<$*ltype, cc::VirtualInheritBase>(s);
if (nullptr == $1) return true;%}
%enddef
@@ -22,8 +22,7 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
$js_check_arg_count
$jslocals
$jscode
auto *ptr = JSB_MAKE_PRIVATE_OBJECT_WITH_INSTANCE(result);
s.thisObject()->setPrivateObject(ptr);
$js_set_private_object
return true;
}
SE_BIND_CTOR($jswrapper, __jsb_$jsmangledname_class, js_delete_$jsdtor)%}
@@ -62,8 +61,7 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
CC_UNUSED bool ok = true;
$jslocals
$jscode
auto *ptr = JSB_MAKE_PRIVATE_OBJECT_WITH_INSTANCE(result);
s.thisObject()->setPrivateObject(ptr);
$js_set_private_object
return true;
}
%}
@@ -86,19 +84,20 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
/* -----------------------------------------------------------------------------
* js_dtor: template for a destructor wrapper
* - $jsmangledname: mangled class name
* - $classname_mangled: mangled class name
* - $jstype: class type
* ----------------------------------------------------------------------------- */
%fragment ("js_dtor", "templates")
%{
static bool $jswrapper(se::State& s) {
cc::invokeOnGarbageCollectMethod<$jsclass_type>(s);
return true;
}
SE_BIND_FINALIZE_FUNC($jswrapper) %}
/* -----------------------------------------------------------------------------
* js_dtor: template for a destructor wrapper
* - $jsmangledname: mangled class name
* - $classname_mangled: mangled class name
* - $jstype: class type
* - ${destructor_action}: The custom destructor action to invoke.
* ----------------------------------------------------------------------------- */
@@ -106,6 +105,7 @@ SE_BIND_FINALIZE_FUNC($jswrapper) %}
%{
static bool $jswrapper(se::State& s)
{
cc::invokeOnGarbageCollectMethod<$jsclass_type>(s);
return true;
}
SE_BIND_FINALIZE_FUNC($jswrapper) %}