}
}
-JSValueRef CYCallFunction(CYPool &pool, JSContextRef context, size_t setups, void *setup[], size_t count, const JSValueRef arguments[], bool initialize, JSValueRef *exception, sig::Signature *signature, ffi_cif *cif, void (*function)()) { CYTry {
+JSValueRef CYCallFunction(CYPool &pool, JSContextRef context, size_t setups, void *setup[], size_t count, const JSValueRef arguments[], bool initialize, sig::Signature *signature, ffi_cif *cif, void (*function)()) {
if (setups + count != signature->count - 1)
throw CYJSError(context, "incorrect number of arguments to ffi function");
ffi_call(cif, function, value, values);
return CYFromFFI(context, signature->elements[0].type, cif->rtype, value, initialize);
-} CYCatch(NULL) }
+}
static JSValueRef Functor_callAsFunction(JSContextRef context, JSObjectRef object, JSObjectRef _this, size_t count, const JSValueRef arguments[], JSValueRef *exception) { CYTry {
CYPool pool;
cy::Functor *internal(reinterpret_cast<cy::Functor *>(JSObjectGetPrivate(object)));
- return CYCallFunction(pool, context, 0, NULL, count, arguments, false, exception, &internal->signature_, &internal->cif_, internal->GetValue());
+ return CYCallFunction(pool, context, 0, NULL, count, arguments, false, &internal->signature_, &internal->cif_, internal->GetValue());
} CYCatch(NULL) }
JSObjectRef CYMakeType(JSContextRef context, const char *type) {
BLOCK_HAS_SIGNATURE = 1 << 30,
};
-JSValueRef CYSendMessage(CYPool &pool, JSContextRef context, id self, Class super, SEL _cmd, size_t count, const JSValueRef arguments[], bool initialize, JSValueRef *exception);
+JSValueRef CYSendMessage(CYPool &pool, JSContextRef context, id self, Class super, SEL _cmd, size_t count, const JSValueRef arguments[], bool initialize);
/* Objective-C Pool Release {{{ */
void CYPoolRelease_(void *data) {
if (objc_property_t property = class_getProperty(_class, string)) {
PropertyAttributes attributes(property);
SEL sel(sel_registerName(attributes.Getter()));
- return CYSendMessage(pool, context, self, NULL, sel, 0, NULL, false, exception);
+ return CYSendMessage(pool, context, self, NULL, sel, 0, NULL, false);
}
#endif
if (CYHasImplicitProperties(_class))
if (SEL sel = sel_getUid(string))
if (CYImplements(self, _class, sel, true))
- return CYSendMessage(pool, context, self, NULL, sel, 0, NULL, false, exception);
+ return CYSendMessage(pool, context, self, NULL, sel, 0, NULL, false);
return NULL;
} CYCatch(NULL) }
if (const char *setter = attributes.Setter()) {
SEL sel(sel_registerName(setter));
JSValueRef arguments[1] = {value};
- CYSendMessage(pool, context, self, NULL, sel, 1, arguments, false, exception);
+ CYSendMessage(pool, context, self, NULL, sel, 1, arguments, false);
return true;
}
}
if (SEL sel = sel_getUid(set))
if (CYImplements(self, _class, sel)) {
JSValueRef arguments[1] = {value};
- CYSendMessage(pool, context, self, NULL, sel, 1, arguments, false, exception);
+ CYSendMessage(pool, context, self, NULL, sel, 1, arguments, false);
return true;
}
sig::sig_ffi_cif(pool, &sig::ObjectiveC, &signature, &cif);
void (*function)() = reinterpret_cast<void (*)()>(literal->invoke);
- return CYCallFunction(pool, context, 1, setup, count, arguments, false, exception, &signature, &cif, function);
+ return CYCallFunction(pool, context, 1, setup, count, arguments, false, &signature, &cif, function);
}
}
#endif
#endif
-JSValueRef CYSendMessage(CYPool &pool, JSContextRef context, id self, Class _class, SEL _cmd, size_t count, const JSValueRef arguments[], bool initialize, JSValueRef *exception) { CYTry {
+JSValueRef CYSendMessage(CYPool &pool, JSContextRef context, id self, Class _class, SEL _cmd, size_t count, const JSValueRef arguments[], bool initialize) {
const char *type;
if (_class == NULL)
}
void (*function)() = reinterpret_cast<void (*)()>(imp);
- return CYCallFunction(pool, context, 2, setup, count, arguments, initialize, exception, &signature, &cif, function);
-} CYCatch(NULL) }
+ return CYCallFunction(pool, context, 2, setup, count, arguments, initialize, &signature, &cif, function);
+}
static JSValueRef $objc_msgSend(JSContextRef context, JSObjectRef object, JSObjectRef _this, size_t count, const JSValueRef arguments[], JSValueRef *exception) { CYTry {
if (count < 2)
_cmd = CYCastSEL(context, arguments[1]);
- return CYSendMessage(pool, context, self, _class, _cmd, count - 2, arguments + 2, uninitialized, exception);
+ return CYSendMessage(pool, context, self, _class, _cmd, count - 2, arguments + 2, uninitialized);
} CYCatch(NULL) }
static JSValueRef Selector_callAsFunction(JSContextRef context, JSObjectRef object, JSObjectRef _this, size_t count, const JSValueRef arguments[], JSValueRef *exception) { CYTry {
setup[0] = &self;
setup[1] = &internal->sel_;
- return CYCallFunction(pool, context, 2, setup, count, arguments, false, exception, &internal->signature_, &internal->cif_, internal->GetValue());
+ return CYCallFunction(pool, context, 2, setup, count, arguments, false, &internal->signature_, &internal->cif_, internal->GetValue());
} CYCatch(NULL) }
static JSObjectRef Super_new(JSContextRef context, JSObjectRef object, size_t count, const JSValueRef arguments[], JSValueRef *exception) { CYTry {