\section{KJS::Reference Class Reference}
\label{classKJS_1_1Reference}\index{KJS::Reference@{KJS::Reference}}
Defines a Javascript reference.  


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

Inheritance diagram for KJS::Reference:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=61pt]{classKJS_1_1Reference__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for KJS::Reference:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=123pt]{classKJS_1_1Reference__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\bf Reference} (const {\bf Object} \&b, const {\bf Identifier} \&p)\label{classKJS_1_1Reference_a0}

\item 
{\bf Reference} (const {\bf Object} \&b, unsigned p)\label{classKJS_1_1Reference_a1}

\item 
{\bf Reference} (Object\-Imp $\ast$b, const {\bf Identifier} \&p)\label{classKJS_1_1Reference_a2}

\item 
{\bf Reference} (Object\-Imp $\ast$b, unsigned p)\label{classKJS_1_1Reference_a3}

\item 
{\bf Reference} (const {\bf Null} \&b, const {\bf Identifier} \&p)\label{classKJS_1_1Reference_a4}

\item 
{\bf Reference} (const {\bf Null} \&b, unsigned p)\label{classKJS_1_1Reference_a5}

\item 
{\bf Value} {\bf get\-Base} ({\bf Exec\-State} $\ast$exec) const 
\item 
{\bf Identifier} {\bf get\-Property\-Name} ({\bf Exec\-State} $\ast$exec) const 
\item 
{\bf Value} {\bf get\-Value} ({\bf Exec\-State} $\ast$exec) const 
\item 
void {\bf put\-Value} ({\bf Exec\-State} $\ast$exec, const {\bf Value} \&w)
\item 
bool {\bf delete\-Value} ({\bf Exec\-State} $\ast$exec)\label{classKJS_1_1Reference_a10}

\item 
bool {\bf is\-Mutable} ()\label{classKJS_1_1Reference_a11}

\end{CompactItemize}
\subsection*{Static Public Member Functions}
\begin{CompactItemize}
\item 
static {\bf Reference} {\bf make\-Value\-Reference} (const {\bf Value} \&v)\label{classKJS_1_1Reference_e0}

\end{CompactItemize}
\subsection*{Friends}
\begin{CompactItemize}
\item 
class {\bf Reference\-List}\label{classKJS_1_1Reference_n0}

\item 
class {\bf Reference\-List\-Iterator}\label{classKJS_1_1Reference_n1}

\end{CompactItemize}


\subsection{Detailed Description}
Defines a Javascript reference. 



Definition at line 35 of file reference.h.

\subsection{Member Function Documentation}
\index{KJS::Reference@{KJS::Reference}!getBase@{getBase}}
\index{getBase@{getBase}!KJS::Reference@{KJS::Reference}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Value} Reference::get\-Base ({\bf Exec\-State} $\ast$ {\em exec}) const}\label{classKJS_1_1Reference_a6}


Performs the Get\-Base type conversion operation on this value (ECMA 8.7). 

Since references are supposed to have an {\bf Object}{\rm (p.\,\pageref{classKJS_1_1Object})} or null as their base, this method is guaranteed to return either Null() or an {\bf Object}{\rm (p.\,\pageref{classKJS_1_1Object})} value. 

Definition at line 93 of file reference.cpp.

References KJS::Error::create().

Referenced by get\-Value(), and put\-Value().\index{KJS::Reference@{KJS::Reference}!getPropertyName@{getPropertyName}}
\index{getPropertyName@{getPropertyName}!KJS::Reference@{KJS::Reference}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Identifier} Reference::get\-Property\-Name ({\bf Exec\-State} $\ast$ {\em exec}) const}\label{classKJS_1_1Reference_a7}


Performs the Get\-Property\-Name type conversion operation on this value (ECMA 8.7). 



Definition at line 104 of file reference.cpp.

References KJS::Identifier::is\-Null().

Referenced by get\-Value(), and put\-Value().\index{KJS::Reference@{KJS::Reference}!getValue@{getValue}}
\index{getValue@{getValue}!KJS::Reference@{KJS::Reference}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Value} Reference::get\-Value ({\bf Exec\-State} $\ast$ {\em exec}) const}\label{classKJS_1_1Reference_a8}


Performs the Get\-Value type conversion operation on this value (ECMA 8.7.1). 



Definition at line 118 of file reference.cpp.

References KJS::UString::ascii(), KJS::Error::create(), KJS::Object::get(), get\-Base(), get\-Property\-Name(), KJS::Value::imp(), KJS::Value::is\-Null(), KJS::Value::type(), and KJS::Identifier::ustring().\index{KJS::Reference@{KJS::Reference}!putValue@{putValue}}
\index{putValue@{putValue}!KJS::Reference@{KJS::Reference}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Reference::put\-Value ({\bf Exec\-State} $\ast$ {\em exec}, const {\bf Value} \& {\em w})}\label{classKJS_1_1Reference_a9}


Performs the Put\-Value type conversion operation on this value (ECMA 8.7.1). 



Definition at line 146 of file reference.cpp.

References KJS::Error::create(), get\-Base(), get\-Property\-Name(), KJS::Value::imp(), and KJS::Value::type().

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