src/method-{proto,impl}.lisp: Abstract out the receiver type.
[sod] / doc / layout.tex
index ca31a9c..458ceef 100644 (file)
 \begin{describe}{gf}{compute-islots @<class> @<subclass> @> @<islots>}
 \end{describe}
 
-\begin{describe}{gf}{vtable-pointer () \&key :class :chain-head :chain-tail}
+\begin{describe}{cls}{vtable-pointer () \&key :class :chain-head :chain-tail}
 \end{describe}
 
 \begin{describe*}
      \dhead{gf}{vtable-pointer-chain-tail @<vtable-pointer> @> @<class>}}
 \end{describe*}
 
-\begin{describe}{gf}{ichain () \&key :class :chain-head :chain-tail :body}
+\begin{describe}{cls}{ichain () \&key :class :chain-head :chain-tail :body}
 \end{describe}
 
 \begin{describe*}
     {\dhead{gf}{ichain-class @<ichain> @> @<class>}
-     \dhead{gf}{ichain-chain-head @<ichain> @> @<class>}
-     \dhead{gf}{ichain-chain-tail @<ichain> @> @<class>}
+     \dhead{gf}{ichain-head @<ichain> @> @<class>}
+     \dhead{gf}{ichain-tail @<ichain> @> @<class>}
      \dhead{gf}{ichain-body @<ichain> @> @<list>}}
 \end{describe*}
 
 \begin{describe}{gf}{compute-ichain @<class> @<chain> @> @<ichain>}
 \end{describe}
 
-\begin{describe}{gf}{ilayout () \&key :class :ichains}
+\begin{describe}{cls}{ilayout () \&key :class :ichains}
 \end{describe}
 
 \begin{describe*}
      \dhead{gf}{ilayout-ichains @<ilayout> @> @<list>}}
 \end{describe*}
 
-\begin{describe}{gf}{sod-class-ilayout <class> @> @<ilayout>}
+\begin{describe}{gf}{sod-class-ilayout @<class> @> @<ilayout>}
 \end{describe}
 
 \begin{describe}{gf}{compute-ilayout @<class> @> @<ilayout>}
      \dhead{gf}{vtmsgs-entries @<vtmsgs> @> @<list>}}
 \end{describe*}
 
+\begin{describe}{gf}
+    {compute-vtmsgs @<class> @<subclass> @<chain-head> @<chain-tail>
+      @> @<vtmsgs>}
+\end{describe}
+
 \begin{describe}{cls}
     {class-pointer () \&key :class :chain-head :metaclass :meta-chain-head}
 \end{describe}
       @> @<chain-offset>}
 \end{describe}
 
-\begin{describe}{gf}{vtable () \&key :class :chain-head :chain-tail :body}
+\begin{describe}{cls}{vtable () \&key :class :chain-head :chain-tail :body}
 \end{describe}
 
 \begin{describe*}
 \end{describe*}
 
 \begin{describe}{gf}
+    {sod-message-receiver-type @<message> @<class> @> @<c-type>}
+\end{describe}
+
+\begin{describe}{gf}
     {sod-message-applicable-methods @<message> @<class> @> list}
 \end{describe}
 
 \end{describe}
 
 \begin{describe}{gf}
+    {sod-message-check-methods @<message> @<class> @<direct-methods>}
+\end{describe}
+
+\begin{describe}{gf}
     {sod-message-effective-method-class @<message> @> @<class>}
 \end{describe}
 
     {\dhead{cls}{convert-to-ilayout-inst (inst)}
      \dhead{fun}
        {make-convert-to-ilayout-inst @<class> @<chain-head> @<expr>}}
+  \def\makelabels#1#2{%
+    #1{gf}{inst-class}[#2]#1{gf}{inst-chain-head}[#2]%
+    \descindex{gf}{inst-expr}[#2]%
+  }
+  \makelabels{\desclabel}{|(}
+
   \begin{prog}
     SOD_ILAYOUT(@<class>, @<chain-head-nick>, @<expr>)
   \end{prog}
+
+  \makelabels{\descindex}{|)}
 \end{describe*}
 
 
       \&key :name :location :class :type :combination}
 \end{describe}
 
+\begin{describe*}
+    {\dhead{gf}{sod-message-combination @<message> @> @<keyword>}
+     \dhead{gf}{sod-message-kernel-function @<message> @> @<function>}}
+\end{describe*}
+
 \begin{describe}{gf}
     {aggregating-message-properties @<message> @<combination> @> @<plist>}
 \end{describe}