Differences From Artifact [b612119f40]:
- File src/runtime/lookup.m — part of check-in [754bf24742] at 2019-02-07 21:31:16 on branch trunk — More style improvements (user: js, size: 4973) [annotate] [blame] [check-ins using]
To Artifact [15533381ae]:
- File
src/runtime/lookup.m
— 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: 4838) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
20 21 22 23 24 25 26 | #include <stdio.h> #include <stdlib.h> #import "ObjFW_RT.h" #import "private.h" #import "macros.h" | < < < < < < < < < | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #include <stdio.h> #include <stdlib.h> #import "ObjFW_RT.h" #import "private.h" #import "macros.h" static IMP forwardHandler = (IMP)0; static IMP stretForwardHandler = (IMP)0; static IMP commonMethodNotFound(id object, SEL selector, IMP (*lookup)(id, SEL), IMP forward) { |
︙ | ︙ |