<digit-char> ::= "0" | <nonzero-digit-char>
-<nonzero-digit-char> ::= "1" | "2" $| \cdots |$ "9"
+<nonzero-digit-char> ::= "1" | "2" $| \ldots |$ "9"
\end{grammar}
The precise definition of @<alpha-char> is left to the function
<octal-integer> ::= "0" @["o"|"O"@] @<octal-digit-char>^+
-<octal-digit-char> ::= "0" | "1" $| \cdots |$ "7"
+<octal-digit-char> ::= "0" | "1" $| \ldots |$ "7"
<hex-integer> ::= "0" @("x"|"X"@) @<hex-digit-char>^+
<abstract-declarator> ::= <declarator>$[\epsilon, \mbox{@<argument-list>}]$
-<argument-declarator> ::= <declarator>$[\mbox{@<identifier> @! $\epsilon$}]$
-
<argument-declarator> ::=
<declarator>$[\mbox{@<identifier> @! $\epsilon$}, \mbox{@<argument-list>}]$
\item[@"initarg"] An identifier naming an initialization argument which can
be used to provide a value for the slot. See
\xref{sec:concepts.lifecycle.birth} for the details.
+\item[@"initarg_class"] A symbol naming the Lisp class to use to represent
+ the initarg. Only permitted if @"initarg" is also set.
\end{description}
An @<initializer>, if present, is treated as if a separate
<slot-initializer> ::= <dotted-name> @["=" <initializer>@]
-<initializer> :: <c-fragment>
+<initializer> ::= <c-fragment>
\end{grammar}
An @<initializer-item> provides an initial value for one or more slots. If
in the effective method. The default is @|sod__val|. Only permitted if
the method return type (see @"methty" below) is not @|void|.
\item[@"methty"] A C type, which is the return type for direct methods of
- this message.
+ this message. The default is the return type of the message.
\item[@"decls"] A code fragment containing declarations to be inserted at the
head of the effective method body. The default is to insert nothing.
\item[@"before"] A code fragment containing initialization to be performed at
the beginning of the effective method body. The default is to insert
nothing.
+\item[@"empty"] A code fragment executed if there are no primary methods;
+ it should usually store a suitable (identity) value in @<retvar>. The
+ default is not to emit an effective method at all if there are no primary
+ methods.
\item[@"first"] A code fragment to set the return value after calling the
first applicable direct method. The default is to use the @"each"
fragment.