15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#include "config.h"
#import "OFTaggedPointerNumber.h"
#import "OFInvalidFormatException.h"
#ifdef OF_OBJFW_RUNTIME
enum Tag {
tagChar,
tagShort,
tagInt,
tagLong,
tagLongLong,
tagUnsignedChar,
|
<
|
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#include "config.h"
#import "OFTaggedPointerNumber.h"
#import "OFInvalidFormatException.h"
enum Tag {
tagChar,
tagShort,
tagInt,
tagLong,
tagLongLong,
tagUnsignedChar,
|
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
case tagUnsignedLongLong:
return @encode(unsigned long long);
default:
@throw [OFInvalidFormatException exception];
}
}
# define RETURN_VALUE \
uintptr_t value = object_getTaggedPointerValue(self); \
\
switch (value & tagMask) { \
case tagChar: \
return (signed char)(unsigned char) \
(value >> OFTaggedPointerNumberTagBits); \
case tagShort: \
|
|
|
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
|
case tagUnsignedLongLong:
return @encode(unsigned long long);
default:
@throw [OFInvalidFormatException exception];
}
}
#define RETURN_VALUE \
uintptr_t value = object_getTaggedPointerValue(self); \
\
switch (value & tagMask) { \
case tagChar: \
return (signed char)(unsigned char) \
(value >> OFTaggedPointerNumberTagBits); \
case tagShort: \
|
189
190
191
192
193
194
195
196
197
198
199
200
|
RETURN_VALUE
}
- (double)doubleValue
{
RETURN_VALUE
}
# undef RETURN_VALUE
OF_SINGLETON_METHODS
@end
#endif
|
|
<
|
188
189
190
191
192
193
194
195
196
197
198
|
RETURN_VALUE
}
- (double)doubleValue
{
RETURN_VALUE
}
#undef RETURN_VALUE
OF_SINGLETON_METHODS
@end
|