From: Warren Hunt Date: Thu, 24 Oct 2013 00:59:24 +0000 (+0000) Subject: Undoing accidental change to docs/LanguageExtensions.rst in my previous X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4a589c705d3b67a006fadfb140c4fa4d3b6df98d;p=clang Undoing accidental change to docs/LanguageExtensions.rst in my previous patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@193293 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/docs/LanguageExtensions.rst b/docs/LanguageExtensions.rst index 0e365b4072..ca1b7ea364 100644 --- a/docs/LanguageExtensions.rst +++ b/docs/LanguageExtensions.rst @@ -1181,19 +1181,23 @@ Objective-C requiring a call to ``super`` in an override -------------------------------------------------------- Some Objective-C classes allow a subclass to override a particular method in a -parent class but expect that the override chains to calling the same method in -the parent class. In such cases it is useful to be able to mark a method as -requiring this chaining behavior. For these cases, we provide an attribute to -designate that a method requires a "call to ``super``" in the overriden method -in the subclass. +parent class but expect that the overriding method also calls the overridden +method in the parent class. For these cases, we provide an attribute to +designate that a method requires a "call to ``super``" in the overriding +method in the subclass. -**Usage**: ``__attribute__((objc_requires_super))``. This attribute can only be placed at the end of a method declaration: +**Usage**: ``__attribute__((objc_requires_super))``. This attribute can only +be placed at the end of a method declaration: .. code-block:: objc - (void)foo __attribute__((objc_requires_super)); -This attribute can only be applied the method declarations within a class, and not a protocol. +This attribute can only be applied the method declarations within a class, and +not a protocol. Currently this attribute does not enforce any placement of +where the call occurs in the overriding method (such as in the case of +``-dealloc`` where the call must appear at the end). It checks only that it +exists. Note that on both OS X and iOS that the Foundation framework provides a convenience macro ``NS_REQUIRES_SUPER`` that provides syntactic sugar for this