RexxEnvelope Class Reference

#include <RexxEnvelope.hpp>

Inheritance diagram for RexxEnvelope:
[legend]

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 *)
 
RexxBuffer * pack (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)
 
RexxSmartBuffer * getBuffer ()
 
RexxObject * getReceiver ()
 
size_t getCurrentOffset ()
 
RexxIdentityTable * getDuptable ()
 
RexxIdentityTable * getRehashtable ()
 
- Public Member Functions inherited from RexxInternalObject
void * operator new (size_t, RexxClass *)
 
void * operator new (size_t, RexxClass *, RexxObject **, size_t, 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 ()
 
void setInRexxPackage ()
 
bool isInRexxPackage ()
 
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 ()
 
RexxBehaviour * getObjectType ()
 
bool isObjectType (RexxBehaviour *b)
 
bool isObjectType (size_t t)
 
bool isSameType (RexxInternalObject *o)
 
void setBehaviour (RexxBehaviour *b)
 
virtual RexxObject * makeProxy (RexxEnvelope *)
 
virtual RexxObject * copy ()
 
virtual RexxObject * evaluate (RexxActivation *, RexxExpressionStack *)
 
virtual RexxObject * getValue (RexxActivation *)
 
virtual RexxObject * getValue (RexxVariableDictionary *)
 
virtual RexxObject * getRealValue (RexxActivation *)
 
virtual RexxObject * getRealValue (RexxVariableDictionary *)
 
virtual void uninit ()
 
virtual HashCode hash ()
 
virtual HashCode getHashValue ()
 
HashCode identityHash ()
 
virtual bool truthValue (int)
 
virtual bool logicalValue (logical_t &)
 
virtual RexxString * makeString ()
 
virtual RexxText * makeText ()
 
virtual void copyIntoTail (RexxCompoundTail *buffer)
 
virtual RexxString * primitiveMakeString ()
 
virtual RexxText * primitiveMakeText ()
 
virtual RexxArray * makeArray ()
 
virtual RexxString * stringValue ()
 
virtual RexxText * textValue ()
 
virtual RexxInteger * integerValue (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 RexxNumberString * numberString ()
 
virtual bool isEqual (RexxObject *)
 
virtual bool isInstanceOf (RexxClass *)
 
virtual RexxMethod * instanceMethod (RexxString *)
 
virtual RexxSupplier * instanceMethods (RexxClass *)
 
virtual RexxObject * dynamicTarget (RexxObject **arguments, size_t count, size_t named_count)
 
void hasUninit ()
 
void removedUninit ()
 
void printObject ()
 
RexxObject * clone ()
 
- Public Member Functions inherited from RexxVirtualBase
virtual void flatten (RexxEnvelope *)
 
virtual RexxObject * unflatten (RexxEnvelope *)
 

Public Attributes

size_t currentOffset
 
- Public Attributes inherited from RexxInternalObject
ObjectHeader header
 
RexxBehaviour * behaviour
 

Protected Attributes

RexxObject * home
 
RexxObject * receiver
 
RexxIdentityTable * duptable
 
RexxIdentityTable * savetable
 
RexxSmartBuffer * buffer
 
RexxIdentityTable * rehashtable
 
RexxStack * flattenStack
 

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)
inline

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 ( )
inline

Definition at line 73 of file RexxEnvelope.hpp.

References buffer.

Referenced by RexxMethod::saveMethod().

◆ getCurrentOffset()

size_t RexxEnvelope::getCurrentOffset ( )
inline

Definition at line 75 of file RexxEnvelope.hpp.

References currentOffset.

◆ getDuptable()

RexxIdentityTable* RexxEnvelope::getDuptable ( )
inline

Definition at line 76 of file RexxEnvelope.hpp.

References duptable.

◆ getReceiver()

RexxObject* RexxEnvelope::getReceiver ( )
inline

Definition at line 74 of file RexxEnvelope.hpp.

References receiver.

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

◆ getRehashtable()

RexxIdentityTable* RexxEnvelope::getRehashtable ( )
inline

Definition at line 77 of file RexxEnvelope.hpp.

References rehashtable.

◆ live()

void RexxEnvelope::live ( size_t  liveMark)
virtual

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)
virtual

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 
)
inline

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()

void RexxEnvelope::rehash ( )

Member Data Documentation

◆ buffer

RexxSmartBuffer* RexxEnvelope::buffer
protected

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
protected

Definition at line 84 of file RexxEnvelope.hpp.

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

◆ flattenStack

RexxStack* RexxEnvelope::flattenStack
protected

Definition at line 88 of file RexxEnvelope.hpp.

Referenced by flattenReference(), and pack().

◆ home

RexxObject* RexxEnvelope::home
protected

Definition at line 82 of file RexxEnvelope.hpp.

Referenced by live(), and liveGeneral().

◆ receiver

RexxObject* RexxEnvelope::receiver
protected

Definition at line 83 of file RexxEnvelope.hpp.

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

◆ rehashtable

RexxIdentityTable* RexxEnvelope::rehashtable
protected

Definition at line 87 of file RexxEnvelope.hpp.

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

◆ savetable

RexxIdentityTable* RexxEnvelope::savetable
protected

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: