Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

skStackFrame.h

00001 /*
00002   Copyright 1996-2003
00003   Simon Whiteside
00004 
00005     This library is free software; you can redistribute it and/or
00006     modify it under the terms of the GNU Lesser General Public
00007     License as published by the Free Software Foundation; either
00008     version 2 of the License, or (at your option) any later version.
00009 
00010     This library is distributed in the hope that it will be useful,
00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013     Lesser General Public License for more details.
00014 
00015     You should have received a copy of the GNU Lesser General Public
00016     License along with this library; if not, write to the Free Software
00017     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00018 
00019 * $Id: skStackFrame_8h-source.html,v 1.14 2004/12/17 21:31:14 sdw Exp $
00020 */
00021 #ifndef skSTACKFRAME_H
00022 #define skSTACKFRAME_H
00023 
00024 #include "skString.h"
00025 
00026 class CLASSEXPORT skiExecutable;
00027 class CLASSEXPORT skRValueTable;
00028 class CLASSEXPORT skExecutableContext;
00035 class CLASSEXPORT skStackFrame 
00036 #ifdef __SYMBIAN32__
00037 : public CBase
00038 #endif
00039 {
00040 public:
00047   skStackFrame(const skString& location,
00048             skiExecutable * obj,
00049             skRValueTable& vars,
00050             skExecutableContext& context);
00051   ~skStackFrame();
00055   skString              getLocation() const;
00059   int                   getLineNum() const;
00063   void                  setLineNum(int line_num);
00067   skExecutableContext&  getContext() const;
00071   skiExecutable *       getObject() const;
00075   skRValueTable&        getVars() const;
00079   skStackFrame *        getParentFrame() const;
00083   void                  setParentFrame(skStackFrame * frame);
00084 private:
00088   skStackFrame(const skStackFrame& s)
00089     : m_Context(s.m_Context),m_Vars(s.m_Vars)
00090     {
00091   }
00095   skStackFrame& operator=(const skStackFrame&){
00096     return *this;
00097   }
00099   skString              m_Location; 
00101   int                   m_LineNum; 
00103   skExecutableContext&  m_Context;
00105   skiExecutable *       m_Object;
00107   skRValueTable&        m_Vars;
00109   skStackFrame *        m_ParentFrame;
00110 };
00111 
00112 //------------------------------------------
00113 inline skString skStackFrame::getLocation() const
00114 //------------------------------------------
00115 {
00116   return m_Location;
00117 }
00118 //------------------------------------------
00119 inline int skStackFrame::getLineNum() const
00120 //------------------------------------------
00121 {
00122   return m_LineNum;
00123 }
00124 //------------------------------------------
00125 inline void skStackFrame::setLineNum(int line_num) 
00126 //------------------------------------------
00127 {
00128   m_LineNum=line_num;
00129 }
00130 //------------------------------------------
00131 inline skExecutableContext& skStackFrame::getContext() const
00132 //------------------------------------------
00133 {
00134   return m_Context;
00135 }
00136 //------------------------------------------
00137 inline skiExecutable * skStackFrame::getObject() const
00138 //------------------------------------------
00139 {
00140   return m_Object;
00141 }
00142 //------------------------------------------
00143 inline skRValueTable& skStackFrame::getVars() const
00144 //------------------------------------------
00145 {
00146   return m_Vars;
00147 }
00148 //------------------------------------------
00149 inline skStackFrame * skStackFrame::getParentFrame() const
00150 //------------------------------------------
00151 {
00152   return m_ParentFrame;
00153 }
00154 //------------------------------------------
00155 inline void skStackFrame::setParentFrame(skStackFrame * frame)
00156 //------------------------------------------
00157 {
00158   m_ParentFrame=frame;
00159 }
00160 #endif
00161 

Generated on Fri Dec 17 20:27:34 2004 for Simkin by doxygen1.3