RexxExpressionList Class Reference

#include <ExpressionList.hpp>

Inheritance diagram for RexxExpressionList:
[legend]

Public Member Functions

void * operator new (size_t, size_t)
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *)
 
 RexxExpressionList (size_t, RexxQueue *)
 
 RexxExpressionList (RESTORETYPE restoreType)
 
virtual void live (size_t)
 
virtual void liveGeneral (int reason)
 
virtual void flatten (RexxEnvelope *)
 
RexxObjectevaluate (RexxActivation *, RexxExpressionStack *)
 
- 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 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 *)
 

Protected Attributes

size_t expressionCount
 
RexxInternalObjectexpressions [1]
 

Additional Inherited Members

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

Detailed Description

A class to implement Array object creation from a list of expressions.

Definition at line 53 of file ExpressionList.hpp.

Constructor & Destructor Documentation

◆ RexxExpressionList() [1/2]

RexxExpressionList::RexxExpressionList ( size_t  count,
RexxQueue list 
)

Constructor for a RexxExpressionList object.

Parameters
countThe number of expressions in the list.
listThe accumulated list of expressions.

Definition at line 73 of file ExpressionList.cpp.

References expressionCount, expressions, and initializeObjectArray.

◆ RexxExpressionList() [2/2]

RexxExpressionList::RexxExpressionList ( RESTORETYPE  restoreType)
inline

Definition at line 61 of file ExpressionList.hpp.

Member Function Documentation

◆ evaluate()

RexxObject * RexxExpressionList::evaluate ( RexxActivation context,
RexxExpressionStack stack 
)
virtual

Evaluate an expression list.

Parameters
contextThe execution context.
stackThe evaluation stack.
Returns
An array

Reimplemented from RexxInternalObject.

Definition at line 124 of file ExpressionList.cpp.

References RexxInternalObject::evaluate(), expressionCount, expressions, RexxExpressionStack::location(), new_array(), OREF_NULL, RexxExpressionStack::push(), RexxArray::put(), RexxExpressionStack::setTop(), TRACE_PREFIX_ARGUMENT, RexxActivation::traceIntermediate(), and RexxActivation::traceResult().

◆ flatten()

void RexxExpressionList::flatten ( RexxEnvelope envelope)
virtual

The flattening routine, used for serializing object trees.

Parameters
envelopeThe envelope were's flattening into.

Reimplemented from RexxVirtualBase.

Definition at line 107 of file ExpressionList.cpp.

References cleanUpFlatten, expressionCount, expressions, flattenArrayRefs, and setUpFlatten.

◆ live()

void RexxExpressionList::live ( size_t  liveMark)
virtual

The runtime, non-debug live marking routine.

Reimplemented from RexxVirtualBase.

Definition at line 86 of file ExpressionList.cpp.

References expressionCount, expressions, and memory_mark_array.

◆ liveGeneral()

void RexxExpressionList::liveGeneral ( int  reason)
virtual

The generalized live marking routine used for non-performance critical marking operations.

Reimplemented from RexxVirtualBase.

Definition at line 96 of file ExpressionList.cpp.

References expressionCount, expressions, and memory_mark_general_array.

◆ operator delete()

void RexxExpressionList::operator delete ( void *  )
inline

Definition at line 58 of file ExpressionList.hpp.

◆ operator new() [1/2]

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

Definition at line 57 of file ExpressionList.hpp.

◆ operator new() [2/2]

void * RexxExpressionList::operator new ( size_t  size,
size_t  count 
)

Create a new expression list object.

Parameters
sizeThe size of the class object.
countThe count of logical expressions. Used to adjust the allocated size to the requirements.
Returns
A new RexxExpressionLogical object.

Definition at line 61 of file ExpressionList.cpp.

References new_object(), and T_ListTerm.

Member Data Documentation

◆ expressionCount

size_t RexxExpressionList::expressionCount
protected

Definition at line 71 of file ExpressionList.hpp.

Referenced by evaluate(), flatten(), live(), liveGeneral(), and RexxExpressionList().

◆ expressions

RexxInternalObject* RexxExpressionList::expressions[1]
protected

Definition at line 72 of file ExpressionList.hpp.

Referenced by evaluate(), flatten(), live(), liveGeneral(), and RexxExpressionList().


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