466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
|
Class
objc_allocateClassPair(Class superclass, const char *name, size_t extraBytes)
{
struct objc_class *class, *metaclass;
Class iter, rootclass = Nil;
if (extraBytes > LONG_MAX)
OBJC_ERROR("extraBytes out of range!")
if ((class = calloc(1, sizeof(*class))) == NULL ||
(metaclass = calloc(1, sizeof(*class))) == NULL)
OBJC_ERROR("Not enough memory to allocate class pair for class "
"%s!", name)
class->isa = metaclass;
class->superclass = superclass;
class->name = name;
class->info = OBJC_CLASS_INFO_CLASS;
class->instanceSize = (superclass != Nil ?
superclass->instanceSize : 0) + (long)extraBytes;
|
|
|
|
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
|
Class
objc_allocateClassPair(Class superclass, const char *name, size_t extraBytes)
{
struct objc_class *class, *metaclass;
Class iter, rootclass = Nil;
if (extraBytes > LONG_MAX)
OBJC_ERROR("extraBytes out of range!");
if ((class = calloc(1, sizeof(*class))) == NULL ||
(metaclass = calloc(1, sizeof(*class))) == NULL)
OBJC_ERROR("Not enough memory to allocate class pair for class "
"%s!", name);
class->isa = metaclass;
class->superclass = superclass;
class->name = name;
class->info = OBJC_CLASS_INFO_CLASS;
class->instanceSize = (superclass != Nil ?
superclass->instanceSize : 0) + (long)extraBytes;
|