Added the finalize callback (JSObjectFinalizeCallback)
This commit is contained in:
parent
14a137adca
commit
78a3cc9e3e
2 changed files with 4 additions and 2 deletions
|
|
@ -108,7 +108,7 @@ JSObjectRef $jswrapper(JSContextRef context, JSObjectRef thisObject, size_t argc
|
|||
void $jswrapper(JSObjectRef thisObject)
|
||||
{
|
||||
SWIG_PRV_DATA* t = (SWIG_PRV_DATA*) JSObjectGetPrivate(thisObject);
|
||||
if(t && t->swigCMemOwn) free (($jstype*)t->swigCObject);
|
||||
if(t && t->swigCMemOwn) free (($jstype)t->swigCObject);
|
||||
if(t) free(t);
|
||||
}
|
||||
%}
|
||||
|
|
@ -125,7 +125,7 @@ void $jswrapper(JSObjectRef thisObject)
|
|||
{
|
||||
SWIG_PRV_DATA* t = (SWIG_PRV_DATA*) JSObjectGetPrivate(thisObject);
|
||||
if(t && t->swigCMemOwn) {
|
||||
$jstype* arg1 = ($jstype*)t->swigCObject;
|
||||
$jstype arg1 = ($jstype)t->swigCObject;
|
||||
${destructor_action}
|
||||
}
|
||||
if(t) free(t);
|
||||
|
|
@ -385,6 +385,7 @@ JSStaticFunction $jsmangledname_functions[] = {
|
|||
$jsmangledname_classDefinition.staticFunctions = $jsmangledname_staticFunctions;
|
||||
$jsmangledname_classDefinition.staticValues = $jsmangledname_staticValues;
|
||||
$jsmangledname_classDefinition.callAsConstructor = $jsctor;
|
||||
$jsmangledname_classDefinition.finalize = $jsdtor;
|
||||
$jsmangledname_objectDefinition.staticValues = $jsmangledname_values;
|
||||
$jsmangledname_objectDefinition.staticFunctions = $jsmangledname_functions;
|
||||
$jsmangledname_objectDefinition.parentClass = $jsbaseclass_classRef;
|
||||
|
|
|
|||
|
|
@ -1700,6 +1700,7 @@ int JSCEmitter::exitClass(Node *n) {
|
|||
.replace(T_TYPE_MANGLED, state.clazz(TYPE_MANGLED))
|
||||
.replace(T_BASECLASS, base_name_mangled)
|
||||
.replace(T_CTOR, state.clazz(CTOR))
|
||||
.replace(T_DTOR, state.clazz(DTOR))
|
||||
.pretty_print(state.global(INITIALIZER));
|
||||
Delete(base_name_mangled);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue