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() {
|
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;
|
return s_listClass;
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,7 +58,7 @@ void ObjectPropertyNames(JSContextRef ctx, JSObjectRef object, JSPropertyNameAcc
|
||||||
}
|
}
|
||||||
|
|
||||||
JSClassRef RJSObjectClass() {
|
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;
|
return s_objectClass;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -124,6 +124,6 @@ JSClassRef RJSResultsClass() {
|
||||||
{"sortByProperty", SortByProperty, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontEnum | kJSPropertyAttributeDontDelete},
|
{"sortByProperty", SortByProperty, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontEnum | kJSPropertyAttributeDontDelete},
|
||||||
{NULL, NULL},
|
{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;
|
return s_objectClass;
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,10 +43,11 @@ inline T RJSGetInternal(JSObjectRef jsObject) {
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename T>
|
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;
|
JSClassDefinition classDefinition = kJSClassDefinitionEmpty;
|
||||||
classDefinition.className = name;
|
classDefinition.className = name;
|
||||||
classDefinition.finalize = finalize;
|
classDefinition.finalize = RJSFinalize<T>;
|
||||||
classDefinition.getProperty = getter;
|
classDefinition.getProperty = getter;
|
||||||
classDefinition.setProperty = setter;
|
classDefinition.setProperty = setter;
|
||||||
classDefinition.staticFunctions = funcs;
|
classDefinition.staticFunctions = funcs;
|
||||||
|
|
Loading…
Reference in New Issue