ObjFW  Diff

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)

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)

20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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"

@interface DummyObject
{
	Class isa;
}

+ (bool)resolveClassMethod: (SEL)selector;
+ (bool)resolveInstanceMethod: (SEL)selector;
@end

static IMP forwardHandler = (IMP)0;
static IMP stretForwardHandler = (IMP)0;

static IMP
commonMethodNotFound(id object, SEL selector, IMP (*lookup)(id, SEL),
    IMP forward)
{