111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
@implementation OFConstantString
+ (void)load
{
#if defined(OF_APPLE_RUNTIME) && !defined(__OBJC2__)
/*
* objc_setFutureClass suddenly stopped working as OFConstantString
* became more complex. So the only solution is to make
* _OFConstantStringClassRerence the actual class, but there is no
* objc_initializeClassPair in 10.5. However, objc_allocateClassPair
* does not register the new class with the subclass in the ObjC1
* runtime like the ObjC2 runtime does, so this workaround should be
* fine.
*/
Class class;
|
|
|
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
@implementation OFConstantString
+ (void)load
{
#if defined(OF_APPLE_RUNTIME) && !defined(__OBJC2__)
/*
* objc_setFutureClass suddenly stopped working as OFConstantString
* became more complex. So the only solution is to make
* _OFConstantStringClassReference the actual class, but there is no
* objc_initializeClassPair in 10.5. However, objc_allocateClassPair
* does not register the new class with the subclass in the ObjC1
* runtime like the ObjC2 runtime does, so this workaround should be
* fine.
*/
Class class;
|
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
|
- (of_comparison_result_t)caseInsensitiveCompare: (OFString *)otherString
{
[self finishInitialization];
return [self caseInsensitiveCompare: otherString];
}
- (of_unichar_t)characterAtIndex: (size_t)index
{
[self finishInitialization];
return [self characterAtIndex: index];
}
- (void)getCharacters: (of_unichar_t *)buffer
inRange: (of_range_t)range
{
[self finishInitialization];
|
|
|
|
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
|
- (of_comparison_result_t)caseInsensitiveCompare: (OFString *)otherString
{
[self finishInitialization];
return [self caseInsensitiveCompare: otherString];
}
- (of_unichar_t)characterAtIndex: (size_t)idx
{
[self finishInitialization];
return [self characterAtIndex: idx];
}
- (void)getCharacters: (of_unichar_t *)buffer
inRange: (of_range_t)range
{
[self finishInitialization];
|