Document the @compatibility_alias compiler directive (description from
authorOvidiu Predescu <ovidiu@gcc.gnu.org>
Wed, 28 Feb 2001 17:16:17 +0000 (17:16 +0000)
committerOvidiu Predescu <ovidiu@gcc.gnu.org>
Wed, 28 Feb 2001 17:16:17 +0000 (17:16 +0000)
Nicola Pero <n.pero@mi.flashnet.it>).

From-SVN: r40125

libobjc/objc-features.texi

index 9575e55b906a49b4922a0012d935c82f70b6b6d2..425f872ad33397dbeacf5e5fbc0600bde30ca072 100644 (file)
@@ -21,6 +21,7 @@ comments about this document to Ovidiu Predescu
 * Type encoding::               
 * Garbage Collection::          
 * Constant string objects::     
+* compatibility_alias::
 @end menu
 
 @node Executing code before main, Type encoding, Top, Top
@@ -386,7 +387,7 @@ specifier to the string type description of the instance variable named
 as argument.
 
 @c =========================================================================
-@node Constant string objects,  , Garbage Collection, Top
+@node Constant string objects, compatibility_alias , Garbage Collection, Top
 @comment  node-name,  next,  previous,  up
 @section Constant string objects
 
@@ -430,5 +431,34 @@ as argument to this option. It is possible to have multiple compilation
 units referring to different constant string classes, neither the
 compiler nor the linker impose any restrictions in doing this.
 
-@bye
+@c =========================================================================
+@node compatibility_alias,  , Constant string objects, Top
+@comment  node-name,  next,  previous,  up
+@section compatibility_alias
+
+This is a feature of the Objective-C compiler rather than of the
+runtime, anyway since it is documented nowhere and its existence was
+forgotten, we are documenting it here.
+
+The keyword @code{@@compatibility_alias} allows you to define a class name 
+as equivalent to another class name.  For example: 
+
+@example
+@@compatibility_alias WOApplication GSWApplication;
+@end example
 
+tells the compiler that each time it encounters @code{WOApplication} as 
+a class name, it should replace it with @code{GSWApplication} (that is, 
+@code{WOApplication} is just an alias for @code{GSWApplication}).
+
+There are some constraints on how this can be used - 
+
+@itemize @bullet 
+
+@item @code{WOApplication} (the alias) must not be an existing class;
+
+@item @code{GSWApplication} (the real class) must be an existing class.
+
+@end itemize
+
+@bye