BlockLiteral *literal(reinterpret_cast<BlockLiteral *>(malloc(sizeof(BlockLiteral))));
CYBlockDescriptor *descriptor(new CYBlockDescriptor);
BlockLiteral *literal(reinterpret_cast<BlockLiteral *>(malloc(sizeof(BlockLiteral))));
CYBlockDescriptor *descriptor(new CYBlockDescriptor);
descriptor->internal_ = CYMakeFunctor_(context, function, signature, &BlockClosure_);
literal->invoke = reinterpret_cast<void (*)(void *, ...)>(descriptor->internal_->GetValue());
descriptor->internal_ = CYMakeFunctor_(context, function, signature, &BlockClosure_);
literal->invoke = reinterpret_cast<void (*)(void *, ...)>(descriptor->internal_->GetValue());
literal->flags = BLOCK_HAS_SIGNATURE | BLOCK_HAS_COPY_DISPOSE | BLOCK_IS_GLOBAL;
literal->reserved = 0;
literal->descriptor = descriptor;
literal->flags = BLOCK_HAS_SIGNATURE | BLOCK_HAS_COPY_DISPOSE | BLOCK_IS_GLOBAL;
literal->reserved = 0;
literal->descriptor = descriptor;
// XXX: apparently, iOS now has both of these
NSCFBoolean_ = objc_getClass("__NSCFBoolean");
if (NSCFBoolean_ == nil)
// XXX: apparently, iOS now has both of these
NSCFBoolean_ = objc_getClass("__NSCFBoolean");
if (NSCFBoolean_ == nil)