Differences From Artifact [69f97ea107]:
- File
src/runtime/private.h
— part of check-in
[ef6d69931e]
at
2019-02-07 00:46:41
on branch trunk
— Make style consistent between ObjFW and ObjFW_RT
ObjFW_RT used to be a separate project that followed the BSD style, as
it was written in pure C, while ObjFW's style is based on the BSD style
with changes to make it a better fit for Objective-C. This commit
changes ObjFW_RT to use the same style as ObjFW. (user: js, size: 8798) [annotate] [blame] [check-ins using]
To Artifact [88abdbc6a0]:
- File
src/runtime/private.h
— part of check-in
[ede088a30d]
at
2019-04-14 13:35:38
on branch trunk
— runtime: Match Apple's +[initialize] behavior
This now calls +[initialize] several times on the same class if it is
unimplemented in one or more of the classes in the chain, to match the
behavior of the Apple runtime. While the behavior before was safer, it
can lead to testing against the ObjFW runtime and everything working,
but then failing when trying to use it with the Apple runtime. (user: js, size: 8978) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
274 275 276 277 278 279 280 | fprintf(stderr, "[objc @ " __FILE__ ":%d] ", __LINE__); \ fprintf(stderr, __VA_ARGS__); \ fprintf(stderr, "\n"); \ fflush(stderr); \ abort(); \ OF_UNREACHABLE \ } | > > > > > > > > > > | 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 | fprintf(stderr, "[objc @ " __FILE__ ":%d] ", __LINE__); \ fprintf(stderr, __VA_ARGS__); \ fprintf(stderr, "\n"); \ fflush(stderr); \ abort(); \ OF_UNREACHABLE \ } @interface DummyObject { Class _Nonnull isa; } + (void)initialize; + (bool)resolveClassMethod: (nonnull SEL)selector; + (bool)resolveInstanceMethod: (nonnull SEL)selector; @end |