Differences From Artifact [95294129a9]:
- File
src/OFObject.h
— part of check-in
[d526d938d7]
at
2015-11-21 18:35:39
on branch trunk
— Remove OF_NULLABLE / OF_NONNULL
Now that Clang switched to use _Nullable and _Nonnull instead of
__nullable / __nonnull, there is no longer a conflict with glibc, which
means we can just define _Nullable / _Nonnull to nothing if they are not
understood by the compiler (which did not work with __nullable /
__nonnull due to this conflict).This also defines _Null_unspecified to nothing if unavailable. (user: js, size: 27023) [annotate] [blame] [check-ins using]
To Artifact [70a2085b25]:
- File src/OFObject.h — part of check-in [650b4be224] at 2015-11-28 19:47:01 on branch trunk — Minor documentation improvements (user: js, size: 27082) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
401 402 403 404 405 406 407 | */ + (void)initialize; /*! * @brief Allocates memory for an instance of the class and sets up the memory * pool for the object. * | | | | 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 | */ + (void)initialize; /*! * @brief Allocates memory for an instance of the class and sets up the memory * pool for the object. * * This method will never return `nil`, instead, it will throw an * @ref OFAllocFailedException. * * @return The allocated object */ + alloc; /*! * @brief Allocates memory for a new instance and calls @ref init on it. |
︙ | ︙ | |||
467 468 469 470 471 472 473 | /*! * @brief Returns the implementation of the instance method for the specified * selector. * * @param selector The selector for which the method should be returned * @return The implementation of the instance method for the specified selector | | | 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 | /*! * @brief Returns the implementation of the instance method for the specified * selector. * * @param selector The selector for which the method should be returned * @return The implementation of the instance method for the specified selector * or `nil` if it isn't implemented */ + (nullable IMP)instanceMethodForSelector: (SEL)selector; /*! * @brief Returns the type encoding of the instance method for the specified * selector. * |
︙ | ︙ | |||
520 521 522 523 524 525 526 | * If the method already exists, it is replaced and the old implementation * returned. If the method does not exist, it is added with the specified type * encoding. * * @param selector The selector for the new method * @param implementation The implementation for the new method * @param typeEncoding The type encoding for the new method | | | | 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 | * If the method already exists, it is replaced and the old implementation * returned. If the method does not exist, it is added with the specified type * encoding. * * @param selector The selector for the new method * @param implementation The implementation for the new method * @param typeEncoding The type encoding for the new method * @return The old implementation or `nil` if the method was added */ + (nullable IMP)replaceClassMethod: (SEL)selector withImplementation: (IMP)implementation typeEncoding: (const char*)typeEncoding; /*! * @brief Replaces or adds an instance method. * * If the method already exists, it is replaced and the old implementation * returned. If the method does not exist, it is added with the specified type * encoding. * * @param selector The selector for the new method * @param implementation The implementation for the new method * @param typeEncoding The type encoding for the new method * @return The old implementation or `nil` if the method was added */ + (nullable IMP)replaceInstanceMethod: (SEL)selector withImplementation: (IMP)implementation typeEncoding: (const char*)typeEncoding; /*! * @brief Adds all methods from the specified class to the class that is the |
︙ | ︙ | |||
599 600 601 602 603 604 605 | /*! * @brief Initializes an already allocated object. * * Derived classes may override this, but need to do * @code * self = [super init] * @endcode | | | | | 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 | /*! * @brief Initializes an already allocated object. * * Derived classes may override this, but need to do * @code * self = [super init] * @endcode * before they do any initialization themselves. @ref init may never return * `nil`, instead an exception (for example @ref * OFInitializationFailedException) should be thrown. * * @return An initialized object */ - init; /*! * @brief Returns the name of the object's class. |
︙ | ︙ | |||
865 866 867 868 869 870 871 | #endif /*! * @brief This method is called when @ref resolveClassMethod: or * @ref resolveInstanceMethod: returned false. It should return a target * to which the message should be forwarded. * | | | > | 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 | #endif /*! * @brief This method is called when @ref resolveClassMethod: or * @ref resolveInstanceMethod: returned false. It should return a target * to which the message should be forwarded. * * @note When the message should not be forwarded, you should not return `nil`, * but instead return the result of `[super * forwardingTargetForSelector: selector]`. * * @return The target to forward the message to */ - (nullable id)forwardingTargetForSelector: (SEL)selector; /*! * @brief Handles messages which are not understood by the receiver. |
︙ | ︙ |