Commit bf5b295c by David Ayers Committed by David Ayers

re PR libobjc/14382 ([libobjc] Calling +initialize on a per category basis)

2005-12-15  David Ayers  <d.ayers@inode.at>

	PR libobjc/14382
	* README (+load,+initialize): Fix documentation to reflect
	intended and implemented semantics for +load and +initialize.

From-SVN: r108584
parent e6add59b
2005-12-15 David Ayers <d.ayers@inode.at>
PR libobjc/14382
* README (+load,+initialize): Fix documentation to reflect
intended and implemented semantics for +load and +initialize.
2005-12-12 Andrew Pinski <pinskia@physics.uc.edu>
* encoding.c (TYPE_FIELDS): Fix to skip over just _C_STRUCT_B and
......
......@@ -39,19 +39,26 @@ adopts it -- it is not enough to inherit them. The flag
`-Wprotocols' is the default which requires them defined.
+load
===========
This method, if defined, is called for each class and category
implementation when the class is loaded into the runtime. This method
is not inherited, and is thus not called for a subclass that doesn't
define it itself. Thus, each +load method is called exactly once by
the runtime. The runtime invocation of this method is thread safe.
+initialize
===========
This method, if defined, is called before any other instance or class
methods of that particular class. This method is not inherited, and
is thus not called as initializer for a subclass that doesn't define
it itself. Thus, each +initialize method is called exactly once (or
never if no methods of that particular class is never called).
Besides this, it is allowed to have several +initialize methods, one
for each category. The order in which these (multiple methods) are
called is not well defined. I am not completely certain what the
semantics of this method is for other implementations, but this is
how it works for GNU Objective C.
methods of that particular class. For the GNU runtime, this method is
not inherited, and is thus not called as initializer for a subclass that
doesn't define it itself. Thus, each +initialize method is called exactly
once by the runtime (or never if no methods of that particular class is
never called). It is wise to guard against multiple invocations anyway
to remain portable with the NeXT runtime. The runtime invocation of
this method is thread safe.
Passivation/Activation/Typedstreams
......
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