\section{KJS::Internal\-Function\-Imp Class Reference}
\label{classKJS_1_1InternalFunctionImp}\index{KJS::InternalFunctionImp@{KJS::InternalFunctionImp}}
Base class for all function objects.  


{\tt \#include $<$function.h$>$}

Inheritance diagram for KJS::Internal\-Function\-Imp:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=143pt]{classKJS_1_1InternalFunctionImp__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for KJS::Internal\-Function\-Imp:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=152pt]{classKJS_1_1InternalFunctionImp__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\bf Internal\-Function\-Imp} ({\bf Function\-Prototype\-Imp} $\ast$func\-Proto)
\item 
{\bf Internal\-Function\-Imp} ({\bf Exec\-State} $\ast$exec)\label{classKJS_1_1InternalFunctionImp_a1}

\item 
bool {\bf implements\-Has\-Instance} () const \label{classKJS_1_1InternalFunctionImp_a2}

\item 
{\bf Boolean} {\bf has\-Instance} ({\bf Exec\-State} $\ast$exec, const {\bf Value} \&value)\label{classKJS_1_1InternalFunctionImp_a3}

\item 
virtual const {\bf Class\-Info} $\ast$ {\bf class\-Info} () const \label{classKJS_1_1InternalFunctionImp_a4}

\item 
{\bf Identifier} {\bf name} () const \label{classKJS_1_1InternalFunctionImp_a5}

\item 
void {\bf set\-Name} ({\bf Identifier} \_\-ident)
\end{CompactItemize}
\subsection*{Static Public Attributes}
\begin{CompactItemize}
\item 
static const {\bf Class\-Info} {\bf info} = \{\char`\"{}Function\char`\"{}, 0, 0, 0\}\label{classKJS_1_1InternalFunctionImp_s0}

\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item 
{\bf Identifier} {\bf ident}\label{classKJS_1_1InternalFunctionImp_p0}

\end{CompactItemize}


\subsection{Detailed Description}
Base class for all function objects. 

It implements the has\-Instance method (for instanceof, which only applies to function objects) and allows to give the function a name, used in to\-String().

Constructors and prototypes of internal objects (implemented in C++) directly inherit from this. {\bf Function\-Imp}{\rm (p.\,\pageref{classKJS_1_1FunctionImp})} also does, for functions implemented in JS. 



Definition at line 41 of file function.h.

\subsection{Constructor \& Destructor Documentation}
\index{KJS::InternalFunctionImp@{KJS::Internal\-Function\-Imp}!InternalFunctionImp@{InternalFunctionImp}}
\index{InternalFunctionImp@{InternalFunctionImp}!KJS::InternalFunctionImp@{KJS::Internal\-Function\-Imp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Internal\-Function\-Imp::Internal\-Function\-Imp ({\bf Function\-Prototype\-Imp} $\ast$ {\em func\-Proto})}\label{classKJS_1_1InternalFunctionImp_a0}


Constructor. 

For C++-implemented functions, {\tt func\-Proto} is usually static\_\-cast$<$Function\-Prototype\-Imp$\ast$$>$(exec-$>$interpreter()-$>$builtin\-Function\-Prototype().imp()) 

Definition at line 967 of file internal.cpp.

\subsection{Member Function Documentation}
\index{KJS::InternalFunctionImp@{KJS::Internal\-Function\-Imp}!setName@{setName}}
\index{setName@{setName}!KJS::InternalFunctionImp@{KJS::Internal\-Function\-Imp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void KJS::Internal\-Function\-Imp::set\-Name ({\bf Identifier} {\em \_\-ident})\hspace{0.3cm}{\tt  [inline]}}\label{classKJS_1_1InternalFunctionImp_a6}


You might want to use the helper function Object\-Imp::set\-Function\-Name for this. 



Definition at line 57 of file function.h.

The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
function.h\item 
internal.cpp\end{CompactItemize}
