Differences From Artifact [903db74406]:
- File
src/OFDictionary.m
— part of check-in
[cba771824e]
at
2013-06-19 19:14:11
on branch trunk
— Implement the new MessagePack specification.
No support for extensions yet.
This obsoletes BinaryPack. (user: js, size: 14161) [annotate] [blame] [check-ins using]
To Artifact [65bfd85485]:
- File
src/OFDictionary.m
— part of check-in
[3d16a30f41]
at
2013-06-22 12:12:36
on branch trunk
— Rework exceptions.
This mostly removes the argument for the class in which the exception
occurred. As backtraces were recently added for all platforms, the
passed class does not give any extra information on where the exception
occurred anymore.This also removes a few other arguments which were not too helpful. In
the past, the idea was to pass as many arguments as possible so that it
is easier to find the origin of the exception. However, as backtraces
are a much better way to find the origin, those are not useful anymore
and just make the exception more cumbersome to use. The rule is now to
only pass arguments that might help in recovering from the exception or
provide information that is otherwise not easily accessible. (user: js, size: 14079) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
214 215 216 217 218 219 220 | abort(); } - initWithObject: (id)object forKey: (id)key { if (key == nil || object == nil) | | < | < | 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 | abort(); } - initWithObject: (id)object forKey: (id)key { if (key == nil || object == nil) @throw [OFInvalidArgumentException exception]; return [self initWithKeysAndObjects: key, object, nil]; } - initWithObjects: (OFArray*)objects_ forKeys: (OFArray*)keys_ { id *objects, *keys; size_t count; @try { count = [objects_ count]; if (count != [keys_ count]) @throw [OFInvalidArgumentException exception]; objects = [objects_ objects]; keys = [keys_ objects]; } @catch (id e) { [self release]; @throw e; } |
︙ | ︙ | |||
671 672 673 674 675 676 677 | uint8_t type = 0xDF; uint32_t tmp = OF_BSWAP32_IF_LE((uint32_t)count); [data addItem: &type]; [data addItems: &tmp count: sizeof(tmp)]; } else | | | 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 | uint8_t type = 0xDF; uint32_t tmp = OF_BSWAP32_IF_LE((uint32_t)count); [data addItem: &type]; [data addItems: &tmp count: sizeof(tmp)]; } else @throw [OFOutOfRangeException exception]; pool = objc_autoreleasePoolPush(); i = 0; keyEnumerator = [self keyEnumerator]; objectEnumerator = [self objectEnumerator]; while ((key = [keyEnumerator nextObject]) != nil && |
︙ | ︙ |