Commit 2e226581 by Ovidiu Predescu

Document the @compatibility_alias compiler directive (description from

Nicola Pero <n.pero@mi.flashnet.it>).

From-SVN: r40125
parent 25ad894f
......@@ -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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment