chiark / gitweb /
src/module-parse.lisp: Improve error recovery for core class items.
[sod] / doc / meta.tex
index 6707c42a0544b686cba21e13b862c46c9b21ee14..726e28bd6a988f5d67bd0c758f7d807cb45d6dff 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}
+    {select-minimal-class-property
+        \=@<supers> @<key> @<order> @<default> @<what> \\
+        \>\&key :present :allow-empty
+      \nlret @<object>}
+\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}{mac}
+    {finalization-error (@<token> @<arg>^*) \\ \ind
+      @<declaration>^* \\
+      @<form>^* \-
+     \nlret @<value>^*}
+\end{describe}
+
+\begin{describe}{fun}{finalization-failed}
+\end{describe}
+
 \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}
 
 \begin{describe}{gf}{check-sod-class @<class>}
 \end{describe}
 
-\begin{describe}{gf}{finalize-sod-class @<class>}
+\begin{describe}{gf}{finalize-sod-class @<class> @> @<generalized-boolean>}
+  \begin{describe}{meth}{finalize-sod-class (@<class> sod-class)}
+  \end{describe}
+  \begin{describe}{ar-meth}{finalize-sod-class (@<class> sod-class)
+                              @> @<generalized-boolean>}
+  \end{describe}
 \end{describe}
 
 \begin{describe}{fun}{clos-cpl @<class> @> @<list>}