X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/blobdiff_plain/7f2917d28642cfbdf590ff26f0cdd91a79b1c489..675b48242d0f5c6f2f2563003a1d2fd87e06522c:/doc/layout.tex diff --git a/doc/layout.tex b/doc/layout.tex index 688d693..80c264e 100644 --- a/doc/layout.tex +++ b/doc/layout.tex @@ -7,7 +7,7 @@ %%%----- Licensing notice --------------------------------------------------- %%% -%%% This file is part of the Sensble Object Design, an object system for C. +%%% This file is part of the Sensible Object Design, an object system for C. %%% %%% SOD is free software; you can redistribute it and/or modify %%% it under the terms of the GNU General Public License as published by @@ -68,6 +68,9 @@ {find-slot-initializer @ @ @> @} \end{describe} +\begin{describe}{gf}{find-slot-initargs @ @ @> @} +\end{describe} + \begin{describe}{gf} {compute-effective-slot @ @ @> @} \end{describe} @@ -124,6 +127,9 @@ \dhead{gf}{ilayout-ichains @ @> @}} \end{describe*} +\begin{describe}{gf}{sod-class-ilayout @> @} +\end{describe} + \begin{describe}{gf}{compute-ilayout @ @> @} \end{describe} @@ -201,18 +207,22 @@ \begin{describe}{gf}{compute-vtable @ @ @> @} \end{describe} +\begin{describe}{gf}{sod-class-vtables @ @> @} +\end{describe} + \begin{describe}{gf}{compute-vtables @ @> @} \end{describe} %%%-------------------------------------------------------------------------- \section{Method combination} \label{sec:layout.methods} -\begin{describe}{cls}{effective-method () \&key :message :class} +\begin{describe}{cls}{effective-method () \&key :message :class :keywords} \end{describe} \begin{describe*} {\dhead{gf}{effective-method-message @ @> @} - \dhead{gf}{effective-method-class @ @> @}} + \dhead{gf}{effective-method-class @ @> @} + \dhead{gf}{effective-method-keywords @ @> @}} \end{describe*} \begin{describe}{gf} @@ -222,10 +232,17 @@ \begin{describe}{gf}{primary-method-class @ @> @} \end{describe} +\begin{describe}{gf} + {method-keyword-argument-lists @ @ @> @} +\end{describe} + \begin{describe}{gf} {compute-sod-effective-method @ @ @> @} \end{describe} +\begin{describe}{gf}{sod-class-effective-methods @ @> @} +\end{describe} + \begin{describe}{gf}{compute-effective-methods @ @> @} \end{describe} @@ -249,21 +266,24 @@ \begin{describe}{gf}{sod-message-argument-tail @ @> @} \end{describe} -\begin{describe}{gf}{sod-message-no-varargs-tail @ @> @} -\end{describe} - \begin{describe}{gf}{sod-method-function-type @ @> @} \end{describe} \begin{describe}{gf}{sod-method-next-method-type @ @> @} \end{describe} +\begin{describe}{gf}{sod-method-description @ @> @} +\end{describe} + \begin{describe}{gf}{sod-method-function-name @ @> @} \end{describe} \begin{describe}{fun}{varargs-message-p @ @> @} \end{describe} +\begin{describe}{fun}{keyword-message-p @ @> @} +\end{describe} + \begin{describe}{gf}{method-entry-function-type @ @> @} \end{describe} @@ -278,10 +298,13 @@ {effective-method-basic-argument-names @ @> @} \end{describe} +\begin{describe}{gf} + {effective-method-live-p @ @> @} +\end{describe} \begin{describe}{cls} - {method-codegen (codegen) \\ \ind + {method-codegen (codegen) \\ \ind \&key :vars :insts :temp-index :message :class :method :target} \end{describe} @@ -352,17 +375,17 @@ \end{describe} \begin{describe}{cls} - {daemon-direct-method (basic-direct-method) \\ \ind + {daemon-direct-method (basic-direct-method) \\ \ind \&key :message :location :class :type :body :role} \end{describe} \begin{describe}{cls} - {delegating-direct-method (basic-direct-method) \\ \ind + {delegating-direct-method (basic-direct-method) \\ \ind \&key :message :location :class :type :body :role} \end{describe} \begin{describe}{cls} - {basic-effective-method (effective-method) \\ \ind + {basic-effective-method (effective-method) \\ \ind \&key :message :class :around-methods :before-methods :after-methods} \end{describe} @@ -377,7 +400,7 @@ \end{describe*} \begin{describe}{cls} - {simple-effective-method (basic-effective-method) \\ \ind + {simple-effective-method (basic-effective-method) \\ \ind \&key :message :class :around-methods :before-methods :after-methods :primary-methods} \end{describe} @@ -391,7 +414,7 @@ \end{describe} \begin{describe}{cls} - {standard-effective-method (simple-effective-method) \\ \ind + {standard-effective-method (simple-effective-method) \\ \ind \&key :message :class :around-methods :before-methods :after-methods :primary-methods} \end{describe} @@ -407,7 +430,7 @@ \begin{describe}{gf} {compute-aggregating-message-kernel - \=@ @ @ \+ \\ + \=@ @ @ \+\\ @ @ \&key} \end{describe} @@ -416,21 +439,21 @@ \end{describe} \begin{describe}{cls} - {aggregating-effective-method (simple-effective-method) \\ \ind + {aggregating-effective-method (simple-effective-method) \\ \ind \&key :message :class :around-methods :before-methods :after-methods :primary-methods} \end{describe} \begin{describe}{mac} - {define-aggregating-method-combination @ \\ \ind\ind + {define-aggregating-method-combination @ \\ \ind\ind ((@^*) @[[ :codegen @ @! - :methods @ @]]) \- \\ + :methods @ @]]) \-\\ @[[ \=:properties (@{ (@{ @ @! (@[@@] @) @} @ @[@ - @[@@]@]) @}^*) @! \+ \\ - :return-type @ @! \\ + @[@@]@]) @}^*) @! \+\\ + :return-type @ @! \\ :around @ @! :first-method @ @! :method @ @]]}