From 0ea5fc66924303d1bf73ba283a383e2aadee02f2 Mon Sep 17 00:00:00 2001 From: neodarz Date: Sat, 11 Aug 2018 20:21:34 +0200 Subject: Initial commit --- docs/doxygen/nel/a02923.html | 172 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 docs/doxygen/nel/a02923.html (limited to 'docs/doxygen/nel/a02923.html') diff --git a/docs/doxygen/nel/a02923.html b/docs/doxygen/nel/a02923.html new file mode 100644 index 00000000..12146cd4 --- /dev/null +++ b/docs/doxygen/nel/a02923.html @@ -0,0 +1,172 @@ + + +NeL: NLAISCRIPT::CMethodContext class Reference + + + +
+

NLAISCRIPT::CMethodContext Class Reference

#include <opcode_call_method.h> +

+

Inheritance diagram for NLAISCRIPT::CMethodContext: +

+ +NLAISCRIPT::IMethodContext + + + + + + + + + + +

Public Member Functions

const IMethodContextclone () const
virtual void loadContext (CCodeContext &context)
virtual void saveContext (CCodeContext &context)
+

Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
const IMethodContext * NLAISCRIPT::CMethodContext::clone  )  const [virtual]
+
+ + + + + +
+   + + +

+Server method need this, in particular on the copy constructor where it is easy to clone param to init attribut. +

+Implements NLAISCRIPT::IMethodContext. +

+Definition at line 36 of file opcode_call_method.cpp. +

+

00037         {
+00038                 return new CMethodContext();
+00039         }
+
+

+ + + + +
+ + + + + + + + + + +
void NLAISCRIPT::CMethodContext::loadContext CCodeContext context  )  [virtual]
+
+ + + + + +
+   + + +

+Allow to reload old context before the return of method. +

+Implements NLAISCRIPT::IMethodContext. +

+Definition at line 64 of file opcode_call_method.cpp. +

+References NLAISCRIPT::CCodeContext::Heap, NLAISCRIPT::CCodeContext::Param, NLAISCRIPT::CStackPointer::restoreShift(), and NLAISCRIPT::CStackPointer::restoreStack(). +

+

00065         {
+00066                 context.Heap.restoreShift();
+00067                 context.Heap.restoreStack();
+00068                 context.Param.back()->release();
+00069                 context.Param.pop_back();
+00070         }
+
+

+ + + + +
+ + + + + + + + + + +
void NLAISCRIPT::CMethodContext::saveContext CCodeContext context  )  [virtual]
+
+ + + + + +
+   + + +

+Allow to save the register, ip pointer .... before method call. +

+Implements NLAISCRIPT::IMethodContext. +

+Definition at line 41 of file opcode_call_method.cpp. +

+References NLAISCRIPT::CStackPointer::addStack(), NLAISCRIPT::CCodeContext::Heap, NLAIC::IPointerGestion::incRef(), NLAIAGENT::CConstIteratorContener::isInEnd(), NLAISCRIPT::CCodeContext::Param, param, NLAISCRIPT::CStackPointer::setShift(), NLAISCRIPT::CCodeContext::Stack, uint, and z. +

+

00042         {
+00043                 NLAIAGENT::IBaseGroupType *param = (NLAIAGENT::IBaseGroupType *)context.Stack[(int)context.Stack];
+00044                 NLAIAGENT::CIteratorContener It = param->getIterator();
+00045                 uint z = 0;
+00046                 while(!It.isInEnd())
+00047                 {                       
+00048                         NLAIAGENT::IObjectIA *o = (NLAIAGENT::IObjectIA *)It++;
+00049                         o->incRef();
+00050                         context.Heap[(int)context.Heap] = o;
+00051                         context.Heap ++;
+00052                         z ++;
+00053                 }                               
+00054                 int bp = (int)context.Heap;
+00055                 CVarPStackParam::_Shift += bp;
+00056                 context.Heap.addStack(z);
+00057                 context.Heap.setShift((int)context.Heap);
+00058                 context.Param.push_back(param);
+00059                 param->incRef();
+00060                 context.Stack --;
+00061                 
+00062         }
+
+


The documentation for this class was generated from the following files: +
Generated on Tue Mar 16 12:04:14 2004 for NeL by + +doxygen +1.3.6
+ + -- cgit v1.2.1