Differences From Artifact [55f05a8843]:
- File src/runtime/lookup.m — part of check-in [3b97fc3cd9] at 2014-01-04 00:24:08 on branch trunk — Update copyright. (user: js, size: 4459) [annotate] [blame] [check-ins using]
To Artifact [cccd16e367]:
- File
src/runtime/lookup.m
— part of check-in
[3cd9d0ad69]
at
2014-01-05 22:31:44
on branch trunk
— Change behaviour of class_getMethodImplementation.
It behaves like in the Apple runtime now. (user: js, size: 4592) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
25 26 27 28 29 30 31 32 33 34 35 36 37 38 | static void *forward_handler = NULL; static void *forward_handler_stret = NULL; static IMP common_method_not_found(id obj, SEL sel, IMP (*lookup)(id, SEL), void *forward) { bool is_class = object_getClass(obj)->info & OBJC_CLASS_INFO_METACLASS; if (!(object_getClass(obj)->info & OBJC_CLASS_INFO_INITIALIZED)) { Class cls = (is_class ? (Class)obj : object_getClass(obj)); objc_initialize_class(cls); | > > > > > | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | static void *forward_handler = NULL; static void *forward_handler_stret = NULL; static IMP common_method_not_found(id obj, SEL sel, IMP (*lookup)(id, SEL), void *forward) { /* * obj might be a dummy object (see class_getMethodImplementation), so * don't access obj directly unless it's a class! */ bool is_class = object_getClass(obj)->info & OBJC_CLASS_INFO_METACLASS; if (!(object_getClass(obj)->info & OBJC_CLASS_INFO_INITIALIZED)) { Class cls = (is_class ? (Class)obj : object_getClass(obj)); objc_initialize_class(cls); |
︙ | ︙ |