make sure we have destructors for all objects
This commit is contained in:
parent
5ccc03eeb7
commit
7ae6fe4a03
|
@ -224,6 +224,6 @@ const JSStaticFunction RJSListFuncs[] = {
|
|||
};
|
||||
|
||||
JSClassRef RJSListClass() {
|
||||
static JSClassRef s_listClass = RJSCreateWrapperClass<Object>("RealmList", ListGetProperty, ListSetProperty, RJSListFuncs, NULL, ListPropertyNames);
|
||||
static JSClassRef s_listClass = RJSCreateWrapperClass<List *>("RealmList", ListGetProperty, ListSetProperty, RJSListFuncs, ListPropertyNames);
|
||||
return s_listClass;
|
||||
}
|
||||
|
|
|
@ -58,7 +58,7 @@ void ObjectPropertyNames(JSContextRef ctx, JSObjectRef object, JSPropertyNameAcc
|
|||
}
|
||||
|
||||
JSClassRef RJSObjectClass() {
|
||||
static JSClassRef s_objectClass = RJSCreateWrapperClass<Object>("RealmObject", ObjectGetProperty, ObjectSetProperty, NULL, NULL, ObjectPropertyNames);
|
||||
static JSClassRef s_objectClass = RJSCreateWrapperClass<Object *>("RealmObject", ObjectGetProperty, ObjectSetProperty, NULL, ObjectPropertyNames);
|
||||
return s_objectClass;
|
||||
}
|
||||
|
||||
|
|
|
@ -124,6 +124,6 @@ JSClassRef RJSResultsClass() {
|
|||
{"sortByProperty", SortByProperty, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontEnum | kJSPropertyAttributeDontDelete},
|
||||
{NULL, NULL},
|
||||
};
|
||||
static JSClassRef s_objectClass = RJSCreateWrapperClass<Object>("Results", ResultsGetProperty, NULL, resultsFuncs, NULL, ResultsPropertyNames);
|
||||
static JSClassRef s_objectClass = RJSCreateWrapperClass<Results *>("Results", ResultsGetProperty, NULL, resultsFuncs, ResultsPropertyNames);
|
||||
return s_objectClass;
|
||||
}
|
||||
|
|
|
@ -43,10 +43,11 @@ inline T RJSGetInternal(JSObjectRef jsObject) {
|
|||
}
|
||||
|
||||
template<typename T>
|
||||
JSClassRef RJSCreateWrapperClass(const char * name, JSObjectGetPropertyCallback getter = NULL, JSObjectSetPropertyCallback setter = NULL, const JSStaticFunction *funcs = NULL, JSObjectFinalizeCallback finalize = RJSFinalize<T>, JSObjectGetPropertyNamesCallback propertyNames = NULL) {
|
||||
JSClassRef RJSCreateWrapperClass(const char * name, JSObjectGetPropertyCallback getter = NULL, JSObjectSetPropertyCallback setter = NULL, const JSStaticFunction *funcs = NULL,
|
||||
JSObjectGetPropertyNamesCallback propertyNames = NULL) {
|
||||
JSClassDefinition classDefinition = kJSClassDefinitionEmpty;
|
||||
classDefinition.className = name;
|
||||
classDefinition.finalize = finalize;
|
||||
classDefinition.finalize = RJSFinalize<T>;
|
||||
classDefinition.getProperty = getter;
|
||||
classDefinition.setProperty = setter;
|
||||
classDefinition.staticFunctions = funcs;
|
||||
|
|
Loading…
Reference in New Issue