\begin{describe*}
{\dhead{gf}{sod-class-name @<class> @> @<string>}
+ \dhead{meth}{sod-class}{file-location (@<class> sod-class) @> @<floc>}
\dhead{gf}{sod-class-nickname @<class> @> @<string>}
\dhead{gf}{sod-class-direct-superclasses @<class> @> @<list>}
\dhead{gf}{sod-class-chain-link @<class> @> @<class-or-nil>}
\begin{describe*}
{\dhead{gf}{sod-slot-name @<slot> @> @<string>}
+ \dhead{meth}{sod-slot}{file-location (@<slot> sod-slot) @> @<floc>}
\dhead{gf}{sod-slot-class @<slot> @> @<class>}
\dhead{gf}{sod-slot-type @<slot> @> @<c-type>}}
\end{describe*}
\begin{describe*}
{\dhead{gf}{sod-initializer-slot @<init> @> @<slot>}
- \dhead{gf}{sod-initializer-value @<init> @> @<fragment>}}
+ \dhead{meth}{sod-initializer}
+ {file-location (@<init> sod-initializer) @> @<floc>}
+ \dhead{gf}{sod-initializer-value @<init> @> @<fragment>}
+ \dhead{gf}{sod-initializer-class @<init> @> @<class>}}
\end{describe*}
\begin{describe*}
{\dhead{gf}
{make-sod-instance-initializer
\=@<class> @<nick> @<name> @<value> @<pset> \\
- \>\&key :inhibit-initargs :location
+ \>\&key :inhibit-initargs :location :add-to-class
\nlret @<init>}
\dhead{gf}
{make-sod-class-initializer
- \=@<class> @<nick> @<name> @<value> @<pset> \&key :location
+ \=@<class> @<nick> @<name> @<value> @<pset> \\
+ \>\&key :location :add-to-class
\nlret @<init>}}
\end{describe*}
\dhead{gf}{sod-initarg-slot @<initarg> @> @<slot>}}
\end{describe*}
+\begin{describe}{gf}{sod-initarg-argument @<initarg> @> @<argument>}
+\end{describe}
+
\begin{describe}{gf}
{make-sod-user-initarg @<class> @<name> @<type> @<pset>
\&key :default :location
\&key :location}}
\end{describe*}
-\begin{describe}{cls}{sod-message () \&key :name :location :class :type}
+\begin{describe}{cls}
+ {sod-message () \&key :name :location :readonly :class :type}
\end{describe}
\begin{describe*}
{\dhead{gf}{sod-message-name @<message> @> @<string>}
+ \dhead{meth}{sod-message}
+ {file-location (@<message> sod-message) @> @<floc>}
+ \dhead{gf}{sod-message-readonly-p @<message> @> @<generalized-boolean>}
\dhead{gf}{sod-message-class @<message> @> @<class>}
\dhead{gf}{sod-message-type @<message> @> @<c-type>}}
\end{describe*}
\begin{describe*}
{\dhead{gf}{sod-method-message @<method> @> @<message>}
+ \dhead{meth}{sod-method}
+ {file-location (@<method> sod-method) @> @<floc>}
\dhead{gf}{sod-method-class @<method> @> @<class>}
\dhead{gf}{sod-method-type @<method> @> @<c-type>}
\dhead{gf}{sod-method-body @<method> @> @<fragment-or-nil>}}
{check-method-argument-lists @<method-type> @<message-type>}
\end{describe}
+\begin{describe}{cls}
+ {static-instance ()
+ \&key :name :location :externp :constp :class :initializers}
+\end{describe}
+
+\begin{describe*}
+ {\dhead{gf}{static-instance-name @<static-instance> @> @<string>}
+ \dhead{gf}{static-instance-extern-p @<static-instance>
+ @> @<generalized-boolean>}
+ \dhead{gf}{static-instance-const-p @<static-instance>
+ @> @<generalized-boolean>}
+ \dhead{gf}{static-instance-class @<static-instance> @> @<class>}
+ \dhead{gf}{static-instance-initializers @<static-instance> @> @<list>}
+ \dhead{gf}
+ {setf (static-instance-initializers @<static-instance>) @<list>}}
+\end{describe*}
+
+\begin{describe}{gf}
+ {make-static-instance @<class> @<name> @<initializers>
+ @<pset> @<location> \&key
+ \nlret @<static-instance>}
+\end{describe}
+
%%%--------------------------------------------------------------------------
\section{Class finalization protocol} \label{sec:meta.finalization}