Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

CScope Class Reference

The CScope class keeps track of the state of a single rebi call. More...

Collaboration diagram for CScope:

Collaboration graph
[legend]
List of all members.

Public Member Functions

void Construct (CScope *c, CProcessData *owner)
 The Construct function sets up the internal data associated with the CScope.
void Destruct ()
 The Destruct function cleans up the internal structure of the CScope.

Public Attributes

long references
 The number of pointers to this CScope object.
LongArray mynames
 names of variables declared with my, as indices into the string table
CThingArray myrefs
 pointers to rebi that are "my" type variables
CThingStackparams
 the parameters specified when the rebi was called
CThingStackusings
 the usings specified when the rebi was called
CThingStack localstack
 the local stack being built
CThingStack usingsstack
 the local usings being built
CThingcurrentthing
 the rebi called
unsigned long codeposition
 the current byte code
CScopecaller
 the calling scope
CProcessDataprocessdata
 The process which the scope belongs to.
unsigned long scopedata [3]
 Extra data used to expand the functiononality of the scope object.
HANDLE mutex
 A unique mutex for the scope.

Detailed Description

The CScope class keeps track of the state of a single rebi call.

Each scope has two interal stacks that are used to keep track of functions to be called, parameters to be passed to them and their returns.

See also:
CThing


Member Function Documentation

void CScope::Construct CScope c,
CProcessData owner
 

The Construct function sets up the internal data associated with the CScope.

Initially parameters, usings, and the rebi that this scope is associated with are NULL. scopedata[0] is set to 0, scopedata[1] to 0xFFFFFFFF, and scopedata[2] to 0.

Parameters:
c the scope that called this one.
owner the process that the scope belongs to.

void CScope::Destruct  ) 
 

The Destruct function cleans up the internal structure of the CScope.

Any my type variables still associated with the scope are relases through calls to ReleaseCThing().

See also:
ReleaseCThing()


Member Data Documentation

unsigned long CScope::scopedata[3]
 

Extra data used to expand the functiononality of the scope object.

scopedata[0] holds flags, only the lower 2 bits are in use for if-else flags. scopedata[1] holds the label of the scope. scopedata[2] is unused.


The documentation for this class was generated from the following files:
Generated on Sat Apr 16 16:31:09 2005 for Centum API by  doxygen 1.4.2