@@ -26,13 +26,14 @@ IMP (*objc_forward_handler)(id, SEL) = NULL; IMP objc_not_found_handler(id obj, SEL sel) { - if (!(obj->isa->info & OBJC_CLASS_INFO_INITIALIZED)) { - BOOL is_class = obj->isa->info & OBJC_CLASS_INFO_METACLASS; - Class cls = (is_class ? (Class)obj : obj->isa); + if (!(object_getClass(obj)->info & OBJC_CLASS_INFO_INITIALIZED)) { + BOOL is_class = + object_getClass(obj)->info & OBJC_CLASS_INFO_METACLASS; + Class cls = (is_class ? (Class)obj : object_getClass(obj)); objc_initialize_class(cls); if (!(cls->info & OBJC_CLASS_INFO_SETUP)) { if (is_class) @@ -53,11 +54,11 @@ if (objc_forward_handler != NULL) return objc_forward_handler(obj, sel); ERROR("Selector %s is not implemented for class %s!", - sel_getName(sel), obj->isa->name); + sel_getName(sel), object_getClassName(obj)); } BOOL class_respondsToSelector(Class cls, SEL sel) { @@ -81,11 +82,12 @@ IMP imp; if (obj == nil) return (IMP)nil_method; - imp = objc_sparsearray_get(obj->isa->dtable, (uint32_t)sel->uid); + imp = objc_sparsearray_get(object_getClass(obj)->dtable, + (uint32_t)sel->uid); if (imp == NULL) return objc_not_found_handler(obj, sel); return imp;