X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/a888e3acc123993fa6fca9338f291b306aa131e2..17c7c784e0632dff2f93a69a837585fd6f31f4a1:/doc/meta.tex diff --git a/doc/meta.tex b/doc/meta.tex index a09ae21..25bed34 100644 --- a/doc/meta.tex +++ b/doc/meta.tex @@ -29,10 +29,11 @@ \section{Base metaobject classes} \label{sec:meta.classes} \begin{describe}{cls} - {sod-class () \\ \ind - \&key \=:name :nick :location :pset \+ \\ - :superclasses :link :metaclass \\ + {sod-class () \\ \ind + \&key \=:name :nick :location :pset \+\\ + :superclasses :link :metaclass \\ :slots :instance-initializers :class-initializers \\ + :initargs :initfrags :tearfrags \\ :messages :methods} \end{describe} @@ -48,6 +49,12 @@ \dhead{gf}{setf (sod-class-instance-initializers @) @} \dhead{gf}{sod-class-class-initializers @ @> @} \dhead{gf}{setf (sod-class-class-initializers @) @} + \dhead{gf}{sod-class-initargs @ @> @} + \dhead{gf}{setf (sod-class-initargs @) @} + \dhead{gf}{sod-class-initfrags @ @> @} + \dhead{gf}{setf (sod-class-initfrags @) @} + \dhead{gf}{sod-class-tearfrags @ @> @} + \dhead{gf}{setf (sod-class-tearfrags @) @} \dhead{gf}{sod-class-messages @ @> @} \dhead{gf}{setf (sod-class-messages @) @} \dhead{gf}{sod-class-methods @ @> @} @@ -76,6 +83,15 @@ {find-superclass-by-nick @ @ @> @} \end{describe} +\begin{describe}{ty}{inheritance-path-reporter-state} +\end{describe} + +\begin{describe}{fun}{make-inheritance-path-reporter-state @> @} +\end{describe} + +\begin{describe}{fun}{report-inheritance-path @ @} +\end{describe} + \begin{describe}{fun} {sod-subclass-p @ @ @> @} \end{describe} @@ -118,7 +134,7 @@ \end{describe} \begin{describe}{cls} - {sod-class-slot (sod-slot) \\ \ind + {sod-class-slot (sod-slot) \\ \ind \&key :name :location :pset :class :type :initializer-function :prepare-function} \end{describe} @@ -159,6 +175,58 @@ \nlret @} \end{describe} +\begin{describe}{cls}{sod-initarg () \&key :class :location :name :type} +\end{describe} + +\begin{describe*} + {\dhead{gf}{sod-initarg-class @ @> @} + \dhead{gf}{sod-initarg-name @ @> @} + \dhead{gf}{sod-initarg-type @ @> @}} +\end{describe*} + +\begin{describe}{cls} + {sod-user-initarg (sod-initarg) + \&key :class :location :name :type :default} +\end{describe} + +\begin{describe}{gf} + {make-sod-user-initarg @ @ @ @ + \&optional @ @} +\end{describe} + +\begin{describe}{gf}{sod-initarg-default @ @> @} +\end{describe} + +\begin{describe}{cls} + {sod-slot-initarg (sod-initarg) + \&key :class :location :name :type :slot} +\end{describe} + +\begin{describe}{gf}{sod-initarg-slot @ @> @} +\end{describe} + +\begin{describe}{gf} + {make-sod-slot-initarg @ @ @ @ @ + \&optional @} +\end{describe} + +\begin{describe}{gf} + {make-sod-slot-initarg @ @ @ @ @ + \&optional @} +\end{describe} + +\begin{describe}{gf} + {make-sod-slot-initarg-using-slot @ @ @ @ + \&optional @} +\end{describe} + +\begin{describe*} + {\dhead{gf}{make-sod-class-initfrag @ @ @ + \&optional @} + \dhead{gf}{make-sod-class-tearfrag @ @ @ + \&optional @}} +\end{describe*} + \begin{describe}{cls}{sod-message () \&key :name :location :class :type} \end{describe} @@ -193,15 +261,17 @@ \end{describe*} \begin{describe}{gf} - {make-sod-method \=@ @ @ @ @ \+ \\ - @ \&optional @ \- + {make-sod-method + \=@ @ @ @ @ \+\\ + @ \&optional @ \- \nlret @} \end{describe} \begin{describe}{gf} - {make-sod-method-using-message \=@ @ - @ @ \+ \\ - @ \&optional @ \- + {make-sod-method-using-message + \=@ @ + @ @ \+\\ + @ \&optional @ \- \nlret @} \end{describe} @@ -232,7 +302,7 @@ \section{Class finalization protocol} \label{sec:meta.finalization} \begin{describe*} - {\dhead{gf}{sod-class-precedence-list @> @} + {\dhead{gf}{sod-class-precedence-list @ @> @} \dhead{gf}{sod-class-type @ @> @} \dhead{gf}{sod-class-chain-head @ @> @} \dhead{gf}{sod-class-chain @ @> @} @@ -243,6 +313,9 @@ \begin{describe}{gf}{compute-cpl @ @> @} \end{describe} +\begin{describe}{fun}{merge-class-lists @ @ @> @} +\end{describe} + \begin{describe}{gf}{compute-chains @ @> @} \end{describe}