ooRexx  4.2.0-source
About: ooRexx (Open Object Rexx) is a free implementation of Object Rexx. Object Rexx is an enhancement of the classic Rexx interpreter; a full-featured programming language with a human-oriented syntax.
  Fossies Dox: ooRexx-4.2.0-source.tar.gz  ("inofficial" and yet experimental doxygen-generated source code documentation)  

RexxEnvelope Class Reference

#include <RexxEnvelope.hpp>

Inheritance diagram for RexxEnvelope:
Collaboration diagram for RexxEnvelope:

Public Member Functions

void * operator new (size_t)
void * operator new (size_t size, void *ptr)
 RexxEnvelope ()
 RexxEnvelope (RESTORETYPE restoreType)
void live (size_t)
void liveGeneral (int reason)
void flattenReference (void *, size_t, void *)
RexxBufferpack (RexxObject *)
void puff (RexxBuffer *, char *, size_t length)
size_t queryObj (RexxObject *)
size_t copyBuffer (RexxObject *)
void rehash ()
char * bufferStart ()
void associateObject (RexxObject *, size_t)
void addTable (RexxObject *obj)
RexxSmartBuffergetBuffer ()
RexxObjectgetReceiver ()
size_t getCurrentOffset ()
RexxIdentityTablegetDuptable ()
RexxIdentityTablegetRehashtable ()
- Public Member Functions inherited from RexxInternalObject
void * operator new (size_t, RexxClass *)
void * operator new (size_t, RexxClass *, RexxObject **, size_t)
void * operator new (size_t size, void *ptr)
void operator delete (void *)
void operator delete (void *p, void *ptr)
 RexxInternalObject ()
 RexxInternalObject (RESTORETYPE restoreType)
virtual ~RexxInternalObject ()
 operator RexxObject * ()
size_t getObjectSize ()
void setObjectSize (size_t s)
size_t getObjectDataSize ()
void * getObjectDataSpace ()
void clearObject ()
void clearObject (size_t l)
void setVirtualFunctions (void *t)
void setInitHeader (size_t s, size_t markword)
void setInitHeader (size_t markword)
void setObjectLive (size_t markword)
void setHasReferences ()
void setHasNoReferences ()
bool hasReferences ()
bool hasNoReferences ()
void setPrimitive ()
void setNonPrimitive ()
bool isPrimitive ()
bool isNonPrimitive ()
bool isObjectMarked (size_t markword)
void setObjectMark (size_t markword)
void clearObjectMark ()
bool isObjectLive (size_t mark)
bool isObjectDead (size_t mark)
bool isOldSpace ()
bool isNewSpace ()
void setNewSpace ()
void setOldSpace ()
void makeProxiedObject ()
bool isProxyObject ()
bool isSubClassOrEnhanced ()
bool isBaseClass ()
size_t getObjectTypeNumber ()
RexxBehaviourgetObjectType ()
bool isObjectType (RexxBehaviour *b)
bool isObjectType (size_t t)
bool isSameType (RexxInternalObject *o)
void setBehaviour (RexxBehaviour *b)
virtual RexxObjectmakeProxy (RexxEnvelope *)
virtual RexxObjectcopy ()
virtual RexxObjectevaluate (RexxActivation *, RexxExpressionStack *)
virtual RexxObjectgetValue (RexxActivation *)
virtual RexxObjectgetValue (RexxVariableDictionary *)
virtual RexxObjectgetRealValue (RexxActivation *)
virtual RexxObjectgetRealValue (RexxVariableDictionary *)
virtual void uninit ()
virtual HashCode hash ()
virtual HashCode getHashValue ()
HashCode identityHash ()
virtual bool truthValue (int)
virtual bool logicalValue (logical_t &)
virtual RexxStringmakeString ()
virtual void copyIntoTail (RexxCompoundTail *buffer)
virtual RexxStringprimitiveMakeString ()
virtual RexxArraymakeArray ()
virtual RexxStringstringValue ()
virtual RexxIntegerintegerValue (size_t)
virtual bool numberValue (wholenumber_t &result, size_t precision)
virtual bool numberValue (wholenumber_t &result)
virtual bool unsignedNumberValue (stringsize_t &result, size_t precision)
virtual bool unsignedNumberValue (stringsize_t &result)
virtual bool doubleValue (double &result)
virtual RexxNumberStringnumberString ()
virtual bool isEqual (RexxObject *)
virtual bool isInstanceOf (RexxClass *)
virtual RexxMethodinstanceMethod (RexxString *)
virtual RexxSupplierinstanceMethods (RexxClass *)
void hasUninit ()
void removedUninit ()
void printObject ()
RexxObjectclone ()
- Public Member Functions inherited from RexxVirtualBase
virtual void flatten (RexxEnvelope *)
virtual RexxObjectunflatten (RexxEnvelope *)

Public Attributes

size_t currentOffset
- Public Attributes inherited from RexxInternalObject
ObjectHeader header

Protected Attributes


Additional Inherited Members

- Static Public Member Functions inherited from RexxInternalObject
static size_t getObjectHeaderSize ()
- Protected Member Functions inherited from RexxVirtualBase
virtual ~RexxVirtualBase ()
virtual void baseVirtual ()

Detailed Description

Definition at line 53 of file RexxEnvelope.hpp.

Constructor & Destructor Documentation

◆ RexxEnvelope() [1/2]

RexxEnvelope::RexxEnvelope ( )

Definition at line 56 of file RexxEnvelope.cpp.

◆ RexxEnvelope() [2/2]

RexxEnvelope::RexxEnvelope ( RESTORETYPE  restoreType)

Definition at line 59 of file RexxEnvelope.hpp.

Member Function Documentation

◆ addTable()

void RexxEnvelope::addTable ( RexxObject obj)

◆ associateObject()

void RexxEnvelope::associateObject ( RexxObject o,
size_t  flattenOffset 

Definition at line 421 of file RexxEnvelope.cpp.

References RexxTable::addOffset(), and duptable.

Referenced by flattenReference(), and pack().

◆ bufferStart()

char * RexxEnvelope::bufferStart ( )

Definition at line 413 of file RexxEnvelope.cpp.

References buffer, RexxSmartBuffer::getBuffer(), and RexxBuffer::getData().

Referenced by flattenReference(), and pack().

◆ copyBuffer()

◆ flattenReference()

◆ getBuffer()

RexxSmartBuffer* RexxEnvelope::getBuffer ( )

Definition at line 73 of file RexxEnvelope.hpp.

References buffer.

Referenced by RexxMethod::saveMethod().

◆ getCurrentOffset()

size_t RexxEnvelope::getCurrentOffset ( )

Definition at line 75 of file RexxEnvelope.hpp.

References currentOffset.

◆ getDuptable()

RexxIdentityTable* RexxEnvelope::getDuptable ( )

Definition at line 76 of file RexxEnvelope.hpp.

References duptable.

◆ getReceiver()

RexxObject* RexxEnvelope::getReceiver ( )

Definition at line 74 of file RexxEnvelope.hpp.

References receiver.

Referenced by RoutineClass::restore(), and RexxMethod::restore().

◆ getRehashtable()

RexxIdentityTable* RexxEnvelope::getRehashtable ( )

Definition at line 77 of file RexxEnvelope.hpp.

References rehashtable.

◆ live()

void RexxEnvelope::live ( size_t  liveMark)

Reimplemented from RexxVirtualBase.

Definition at line 63 of file RexxEnvelope.cpp.

References buffer, duptable, home, memory_mark, receiver, rehashtable, and savetable.

◆ liveGeneral()

void RexxEnvelope::liveGeneral ( int  reason)

Reimplemented from RexxVirtualBase.

Definition at line 79 of file RexxEnvelope.cpp.

References buffer, duptable, home, memory_mark_general, receiver, rehashtable, and savetable.

◆ operator new() [1/2]

void* RexxEnvelope::operator new ( size_t  size,
void *  ptr 

Definition at line 57 of file RexxEnvelope.hpp.

◆ operator new() [2/2]

void * RexxEnvelope::operator new ( size_t  size)

Definition at line 460 of file RexxEnvelope.cpp.

References new_object(), and T_Envelope.

◆ pack()

◆ puff()

void RexxEnvelope::puff ( RexxBuffer sourceBuffer,
char *  startPointer,
size_t  dataLength 

◆ queryObj()

size_t RexxEnvelope::queryObj ( RexxObject obj)

Definition at line 345 of file RexxEnvelope.cpp.

References duptable, and RexxIdentityTable::get().

Referenced by flattenReference().

◆ rehash()

Member Data Documentation

◆ buffer

RexxSmartBuffer* RexxEnvelope::buffer

Definition at line 86 of file RexxEnvelope.hpp.

Referenced by bufferStart(), copyBuffer(), getBuffer(), live(), liveGeneral(), and pack().

◆ currentOffset

size_t RexxEnvelope::currentOffset

Definition at line 79 of file RexxEnvelope.hpp.

Referenced by getCurrentOffset(), and pack().

◆ duptable

RexxIdentityTable* RexxEnvelope::duptable

Definition at line 84 of file RexxEnvelope.hpp.

Referenced by associateObject(), getDuptable(), live(), liveGeneral(), pack(), and queryObj().

◆ flattenStack

RexxStack* RexxEnvelope::flattenStack

Definition at line 88 of file RexxEnvelope.hpp.

Referenced by flattenReference(), and pack().

◆ home

RexxObject* RexxEnvelope::home

Definition at line 82 of file RexxEnvelope.hpp.

Referenced by live(), and liveGeneral().

◆ receiver

RexxObject* RexxEnvelope::receiver

Definition at line 83 of file RexxEnvelope.hpp.

Referenced by getReceiver(), live(), liveGeneral(), pack(), and puff().

◆ rehashtable

RexxIdentityTable* RexxEnvelope::rehashtable

Definition at line 87 of file RexxEnvelope.hpp.

Referenced by addTable(), getRehashtable(), live(), liveGeneral(), and rehash().

◆ savetable

RexxIdentityTable* RexxEnvelope::savetable

Definition at line 85 of file RexxEnvelope.hpp.

Referenced by flattenReference(), live(), liveGeneral(), and pack().

The documentation for this class was generated from the following files: