\Header{methodUtilities}{Utility Functions for Methods and S-Plus Compatibility}
\alias{allNames}{methodUtilities}
\alias{el}{methodUtilities}
\alias{el<\Rdash}{methodUtilities}
\alias{elNamed}{methodUtilities}
\alias{elNamed<\Rdash}{methodUtilities}
\alias{existsFunction}{methodUtilities}
\alias{formalArgs}{methodUtilities}
\alias{functionBody}{methodUtilities}
\alias{functionBody<\Rdash}{methodUtilities}
\alias{getFunction}{methodUtilities}
\alias{initMethodDispatch}{methodUtilities}
\alias{message}{methodUtilities}
\alias{Quote}{methodUtilities}
\alias{showDefault}{methodUtilities}
\keyword{internal}{methodUtilities}
\begin{Description}\relax
These are utilities, currently in the \pkg{methods} package, that
either provide some functionality needed by the package (e.g., element
matching by name), or add compatibility with S-Plus, or both.
\end{Description}
\begin{Usage}
\begin{verbatim}
functionBody(fun=sys.function(sys.parent()))

allNames(x)

getFunction(name, generic=TRUE, mustFind=TRUE, where)

el(object, where)

elNamed(x, name, mustFind=FALSE)

formalArgs(def)

Quote()

message(...)

showDefault(object, oldMethods = TRUE)

initMethodDispatch()
\end{verbatim}
\end{Usage}
\begin{Section}{Summary of Functions}
\describe{
\item[\code{allNames}:] the character vector of names (unlike \code{names()}, never
returns \code{NULL}).

\item[\code{getFunction}:] find the object as a function.


\item[\code{elNamed}:] get the element of the vector corresponding to name.  Unlike the
\code{[}, \code{[[}, and \code{\$} operators, this function 
requires \code{name} to match the element name exactly (no partial
matching).

\item[\code{formalArgs}:] Returns the names of the formal arguments of this function.


\item[\code{existsFunction}:] Is there a function of this name?  If \code{generic} is
\code{FALSE}, generic functions are not counted. 


\item[\code{findFunction}:] return all the indices of the search list on which a function
definition for \code{name} exists.  

If \code{generic} is \code{FALSE}, ignore generic functions.

\item[\code{message}:] Output all the arguments, pasted together with no intervening
spaces.

\item[\code{showDefault}:] Utility, used to enable \code{show} methods to be called by the
automatic printing (via \code{print.default}).

{ Argument \code{oldMethods} controls whether old-style print
methods are used for this
object.  It is  \code{TRUE} by default if called directly, but \code{FALSE}
when called from the \pkg{methods} package for automatic printing (to
avoid potential recursion).
}
\item[\code{initMethodDispatch}:] Turn on the internal method dispatch code.  Called on
attaching the package.  Also, if dispatch has been turned off
(by calling \code{.isMethodsDispatchOn(FALSE)}---a very gutsy
thing to do), calling this function should turn dispatch back
on again.


}
\end{Section}

