43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
-
-
+
+
-
-
+
+
+
+
+
-
+
-
+
+
|
static struct {
Class isa;
} alloc_failed_exception;
#ifdef NEED_OBJC_SYNC_INIT
extern BOOL objc_sync_init();
#endif
#ifndef HAVE_OBJC_ENUMERATIONMUTATION
#define enumeration_mutation_handler objc_enumerationMutation
static void
enumeration_mutation_handler(id obj)
#endif
{
@throw [OFEnumerationMutationException newWithClass: [obj class]];
}
#ifndef HAVE_OBJC_ENUMERATIONMUTATION
void
enumeration_mutation_handler(id object)
objc_enumerationMutation(id obj)
{
@throw [OFEnumerationMutationException newWithClass: [object class]];
enumeration_mutation_handler(obj);
}
#endif
@implementation OFObject
+ (void)load
{
#ifdef NEED_OBJC_SYNC_INIT
if (!objc_sync_init()) {
fputs("Runtime error: objc_sync_init() failed!\n", stderr);
|