339
340
341
342
343
344
345
346
347
348
349
350
351
352
|
if (class->info & OBJC_CLASS_INFO_INITIALIZED)
return;
if (class->superclass)
initializeClass(class->superclass);
class->info |= OBJC_CLASS_INFO_DTABLE;
class->isa->info |= OBJC_CLASS_INFO_DTABLE;
objc_update_dtable(class);
objc_update_dtable(class->isa);
/*
|
>
>
>
>
>
>
>
|
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
|
if (class->info & OBJC_CLASS_INFO_INITIALIZED)
return;
if (class->superclass)
initializeClass(class->superclass);
/*
* Avoid double-initialization: One of the superclasses' +[initialize]
* might have called this class and hence it already got initialized.
*/
if (class->info & OBJC_CLASS_INFO_INITIALIZED)
return;
class->info |= OBJC_CLASS_INFO_DTABLE;
class->isa->info |= OBJC_CLASS_INFO_DTABLE;
objc_update_dtable(class);
objc_update_dtable(class->isa);
/*
|