RexxInternalStack Class Reference

#include <RexxInternalStack.hpp>

Inheritance diagram for RexxInternalStack:
[legend]

Public Member Functions

void * operator new (size_t size, void *ptr)
 
void operator delete (void *)
 
void operator delete (void *, void *)
 
 RexxInternalStack ()
 
 RexxInternalStack (RESTORETYPE restoreType)
 
void live (size_t)
 
void liveGeneral (int reason)
 
void flatten (RexxEnvelope *)
 
void push (RexxObject *value)
 
RexxObjectpop ()
 
RexxObjectfastPop ()
 
void replace (size_t offset, RexxObject *value)
 
size_t getSize ()
 
RexxObjectgetTop ()
 
void popn (size_t c)
 
void clear ()
 
RexxObjectpeek (size_t v)
 
RexxObject ** pointer (size_t v)
 
size_t location ()
 
void setTop (size_t v)
 
void toss ()
 
bool isEmpty ()
 
bool isFull ()
 
- 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 ()
 
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 RexxTextmakeText ()
 
virtual void copyIntoTail (RexxCompoundTail *buffer)
 
virtual RexxStringprimitiveMakeString ()
 
virtual RexxTextprimitiveMakeText ()
 
virtual RexxArraymakeArray ()
 
virtual RexxStringstringValue ()
 
virtual RexxTexttextValue ()
 
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 *)
 
virtual RexxObjectdynamicTarget (RexxObject **arguments, size_t count, size_t named_count)
 
void hasUninit ()
 
void removedUninit ()
 
void printObject ()
 
RexxObjectclone ()
 
- Public Member Functions inherited from RexxVirtualBase
virtual RexxObjectunflatten (RexxEnvelope *)
 

Static Public Member Functions

static RexxInternalStacknewInstance (size_t s)
 
- Static Public Member Functions inherited from RexxInternalObject
static size_t getObjectHeaderSize ()
 

Protected Attributes

size_t size
 
RexxObject ** top
 
RexxObjectstack [1]
 

Additional Inherited Members

- Public Attributes inherited from RexxInternalObject
ObjectHeader header
 
RexxBehaviourbehaviour
 
- Protected Member Functions inherited from RexxVirtualBase
virtual ~RexxVirtualBase ()
 
virtual void baseVirtual ()
 

Detailed Description

Definition at line 48 of file RexxInternalStack.hpp.

Constructor & Destructor Documentation

◆ RexxInternalStack() [1/2]

RexxInternalStack::RexxInternalStack ( )
inline

Definition at line 54 of file RexxInternalStack.hpp.

◆ RexxInternalStack() [2/2]

RexxInternalStack::RexxInternalStack ( RESTORETYPE  restoreType)
inline

Definition at line 55 of file RexxInternalStack.hpp.

Member Function Documentation

◆ clear()

void RexxInternalStack::clear ( )
inline

Definition at line 67 of file RexxInternalStack.hpp.

References stack, and top.

◆ fastPop()

RexxObject* RexxInternalStack::fastPop ( )
inline

◆ flatten()

void RexxInternalStack::flatten ( RexxEnvelope envelope)
virtual

Reimplemented from RexxVirtualBase.

Definition at line 77 of file RexxInternalStack.cpp.

References cleanUpFlatten, flatten_reference, setUpFlatten, stack, and top.

◆ getSize()

size_t RexxInternalStack::getSize ( )
inline

Definition at line 64 of file RexxInternalStack.hpp.

References size.

◆ getTop()

RexxObject* RexxInternalStack::getTop ( )
inline

Definition at line 65 of file RexxInternalStack.hpp.

References top.

Referenced by RexxActivity::updateFrameMarkers().

◆ isEmpty()

bool RexxInternalStack::isEmpty ( )
inline

Definition at line 73 of file RexxInternalStack.hpp.

References stack, and top.

◆ isFull()

bool RexxInternalStack::isFull ( )
inline

Definition at line 74 of file RexxInternalStack.hpp.

References size, stack, and top.

◆ live()

void RexxInternalStack::live ( size_t  liveMark)
virtual

Reimplemented from RexxVirtualBase.

Definition at line 49 of file RexxInternalStack.cpp.

References memory_mark, stack, and top.

◆ liveGeneral()

void RexxInternalStack::liveGeneral ( int  reason)
virtual

Reimplemented from RexxVirtualBase.

Definition at line 63 of file RexxInternalStack.cpp.

References memory_mark_general, stack, and top.

◆ location()

size_t RexxInternalStack::location ( )
inline

Definition at line 70 of file RexxInternalStack.hpp.

References stack, and top.

◆ newInstance()

RexxInternalStack * RexxInternalStack::newInstance ( size_t  s)
static

Definition at line 96 of file RexxInternalStack.cpp.

References new_object(), OREF_NULL, size, stack, T_InternalStack, and top.

Referenced by new_internalstack().

◆ operator delete() [1/2]

void RexxInternalStack::operator delete ( void *  )
inline

Definition at line 51 of file RexxInternalStack.hpp.

◆ operator delete() [2/2]

void RexxInternalStack::operator delete ( void *  ,
void *   
)
inline

Definition at line 52 of file RexxInternalStack.hpp.

◆ operator new()

void* RexxInternalStack::operator new ( size_t  size,
void *  ptr 
)
inline

Definition at line 50 of file RexxInternalStack.hpp.

◆ peek()

RexxObject* RexxInternalStack::peek ( size_t  v)
inline

Definition at line 68 of file RexxInternalStack.hpp.

References top.

Referenced by RexxActivity::checkActivationStack().

◆ pointer()

RexxObject** RexxInternalStack::pointer ( size_t  v)
inline

Definition at line 69 of file RexxInternalStack.hpp.

References top.

◆ pop()

RexxObject* RexxInternalStack::pop ( )
inline

Definition at line 61 of file RexxInternalStack.hpp.

References top.

◆ popn()

void RexxInternalStack::popn ( size_t  c)
inline

Definition at line 66 of file RexxInternalStack.hpp.

References top.

◆ push()

◆ replace()

void RexxInternalStack::replace ( size_t  offset,
RexxObject value 
)
inline

Definition at line 63 of file RexxInternalStack.hpp.

References top.

◆ setTop()

void RexxInternalStack::setTop ( size_t  v)
inline

Definition at line 71 of file RexxInternalStack.hpp.

References stack, and top.

◆ toss()

void RexxInternalStack::toss ( )
inline

Definition at line 72 of file RexxInternalStack.hpp.

References top.

Member Data Documentation

◆ size

size_t RexxInternalStack::size
protected

Definition at line 80 of file RexxInternalStack.hpp.

Referenced by getSize(), isFull(), and newInstance().

◆ stack

RexxObject* RexxInternalStack::stack[1]
protected

◆ top

RexxObject** RexxInternalStack::top
protected

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