42
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
|
#import "OFTruncatedDataException.h"
#import "OFUnsupportedProtocolException.h"
static struct {
Class isa;
} placeholder;
@interface OFDataPlaceholder: OFString
@end
/* References for static linking */
void
_references_to_categories_of_OFData(void)
{
_OFData_CryptographicHashing_reference = 1;
_OFData_MessagePackParsing_reference = 1;
}
@implementation OFDataPlaceholder
- (instancetype)init
{
return (id)[[OFConcreteData alloc] init];
}
- (instancetype)initWithItemSize: (size_t)itemSize
{
|
|
|
|
42
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
|
#import "OFTruncatedDataException.h"
#import "OFUnsupportedProtocolException.h"
static struct {
Class isa;
} placeholder;
@interface OFPlaceholderData: OFString
@end
/* References for static linking */
void
_references_to_categories_of_OFData(void)
{
_OFData_CryptographicHashing_reference = 1;
_OFData_MessagePackParsing_reference = 1;
}
@implementation OFPlaceholderData
- (instancetype)init
{
return (id)[[OFConcreteData alloc] init];
}
- (instancetype)initWithItemSize: (size_t)itemSize
{
|
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
OF_SINGLETON_METHODS
@end
@implementation OFData
+ (void)initialize
{
if (self == [OFData class])
object_setClass((id)&placeholder, [OFDataPlaceholder class]);
}
+ (instancetype)alloc
{
if (self == [OFData class])
return (id)&placeholder;
|
|
|
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
OF_SINGLETON_METHODS
@end
@implementation OFData
+ (void)initialize
{
if (self == [OFData class])
object_setClass((id)&placeholder, [OFPlaceholderData class]);
}
+ (instancetype)alloc
{
if (self == [OFData class])
return (id)&placeholder;
|