From 744a0b8af3e29256cc45c758d5c38c5b63878391 Mon Sep 17 00:00:00 2001 From: "Jay Freeman (saurik)" Date: Sun, 26 Jan 2014 08:36:38 -0800 Subject: [PATCH] Do not use isKindOfClass: to check for NSBlock. --- ObjectiveC/Library.mm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ObjectiveC/Library.mm b/ObjectiveC/Library.mm index 33ccaf0..43e592b 100644 --- a/ObjectiveC/Library.mm +++ b/ObjectiveC/Library.mm @@ -394,8 +394,15 @@ JSObjectRef Super::Make(JSContextRef context, id object, Class _class) { return value; } } +bool CYIsKindOfClass(id object, Class _class) { + for (Class isa(object_getClass(object)); isa != NULL; isa = class_getSuperclass(isa)) + if (isa == _class) + return true; + return false; +} + JSObjectRef Instance::Make(JSContextRef context, id object, Flags flags) { - JSObjectRef value(JSObjectMake(context, [object isKindOfClass:NSBlock_] ? FunctionInstance_ : Instance_, new Instance(object, flags))); + JSObjectRef value(JSObjectMake(context, CYIsKindOfClass(object, NSBlock_) ? FunctionInstance_ : Instance_, new Instance(object, flags))); JSObjectSetPrototype(context, value, CYGetClassPrototype(context, object_getClass(object))); return value; } -- 2.50.0