src/{class-,}utilities.lisp: Add machinery for showing inheritance paths.
[sod] / doc / meta.tex
index 6707c42..25bed34 100644 (file)
 \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 \\
+              :initargs :initfrags :tearfrags                   \\
               :messages :methods}
 \end{describe}
 
     {find-superclass-by-nick @<class> @<nick> @> @<superclass>}
 \end{describe}
 
+\begin{describe}{ty}{inheritance-path-reporter-state}
+\end{describe}
+
+\begin{describe}{fun}{make-inheritance-path-reporter-state @> @<state>}
+\end{describe}
+
+\begin{describe}{fun}{report-inheritance-path @<state> @<super>}
+\end{describe}
+
 \begin{describe}{fun}
     {sod-subclass-p @<class-a> @<class-b> @> @<generalized-boolean>}
 \end{describe}
 \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}
 \end{describe*}
 
 \begin{describe}{gf}
-    {make-sod-method \=@<class> @<nick> @<name> @<type> @<body> \+ \\
-                       @<pset> \&optional @<floc> \-
+    {make-sod-method
+        \=@<class> @<nick> @<name> @<type> @<body>            \+\\
+          @<pset> \&optional @<floc>                          \-
       \nlret @<method>}
 \end{describe}
 
 \begin{describe}{gf}
-    {make-sod-method-using-message \=@<message> @<class>
-                                     @<type> @<body> \+ \\
-                                     @<pset> \&optional @<floc> \-
+    {make-sod-method-using-message
+        \=@<message> @<class>
+          @<type> @<body>                                     \+\\
+          @<pset> \&optional @<floc>                          \-
       \nlret @<method>}
 \end{describe}
 
 \section{Class finalization protocol} \label{sec:meta.finalization}
 
 \begin{describe*}
-    {\dhead{gf}{sod-class-precedence-list <class> @> @<list>}
+    {\dhead{gf}{sod-class-precedence-list @<class> @> @<list>}
      \dhead{gf}{sod-class-type @<class> @> @<c-type>}
      \dhead{gf}{sod-class-chain-head @<class> @> @<class>}
      \dhead{gf}{sod-class-chain @<class> @> @<list>}
 \begin{describe}{gf}{compute-cpl @<class> @> @<list>}
 \end{describe}
 
+\begin{describe}{fun}{merge-class-lists @<lists> @<pick> @> @<list>}
+\end{describe}
+
 \begin{describe}{gf}{compute-chains @<class> @> @<list>}
 \end{describe}