RexxExpressionFunction Class Reference

#include <ExpressionFunction.hpp>

Inheritance diagram for RexxExpressionFunction:
[legend]

Public Member Functions

void * operator new (size_t, size_t)
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *)
 
void operator delete (void *, size_t)
 
void operator delete (void *, void *)
 
 RexxExpressionFunction (RexxString *, size_t, RexxQueue *, size_t, RexxQueue *, size_t, bool)
 
 RexxExpressionFunction (RESTORETYPE restoreType)
 
void resolve (RexxDirectory *)
 
void live (size_t)
 
void liveGeneral (int reason)
 
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

RexxStringfunctionName
 
RexxInstructiontarget
 
int16_t builtin_index
 
uint8_t flags
 
uint8_t argument_count
 
uint8_t named_argument_count
 
RexxObjectarguments [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

Definition at line 54 of file ExpressionFunction.hpp.

Constructor & Destructor Documentation

◆ RexxExpressionFunction() [1/2]

RexxExpressionFunction::RexxExpressionFunction ( RexxString function_name,
size_t  argCount,
RexxQueue arglist,
size_t  namedArgCount,
RexxQueue namedArglist,
size_t  builtinIndex,
bool  string 
)

◆ RexxExpressionFunction() [2/2]

RexxExpressionFunction::RexxExpressionFunction ( RESTORETYPE  restoreType)
inline

Definition at line 63 of file ExpressionFunction.hpp.

Member Function Documentation

◆ evaluate()

◆ flatten()

void RexxExpressionFunction::flatten ( RexxEnvelope envelope)
virtual

◆ live()

void RexxExpressionFunction::live ( size_t  liveMark)
virtual

Reimplemented from RexxVirtualBase.

Definition at line 135 of file ExpressionFunction.cpp.

References argument_count, arguments, functionName, memory_mark, named_argument_count, and target.

◆ liveGeneral()

void RexxExpressionFunction::liveGeneral ( int  reason)
virtual

◆ operator delete() [1/3]

void RexxExpressionFunction::operator delete ( void *  )
inline

Definition at line 58 of file ExpressionFunction.hpp.

◆ operator delete() [2/3]

void RexxExpressionFunction::operator delete ( void *  ,
size_t   
)
inline

Definition at line 59 of file ExpressionFunction.hpp.

◆ operator delete() [3/3]

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

Definition at line 60 of file ExpressionFunction.hpp.

◆ operator new() [1/2]

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

Definition at line 57 of file ExpressionFunction.hpp.

◆ operator new() [2/2]

void * RexxExpressionFunction::operator new ( size_t  size,
size_t  argCount 
)

Definition at line 296 of file ExpressionFunction.cpp.

References new_object(), and T_FunctionCallTerm.

◆ resolve()

void RexxExpressionFunction::resolve ( RexxDirectory labels)

Member Data Documentation

◆ argument_count

uint8_t RexxExpressionFunction::argument_count
protected

Definition at line 76 of file ExpressionFunction.hpp.

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

◆ arguments

RexxObject* RexxExpressionFunction::arguments[1]
protected

Definition at line 81 of file ExpressionFunction.hpp.

Referenced by evaluate(), live(), liveGeneral(), and RexxExpressionFunction().

◆ builtin_index

int16_t RexxExpressionFunction::builtin_index
protected

Definition at line 74 of file ExpressionFunction.hpp.

Referenced by evaluate(), resolve(), and RexxExpressionFunction().

◆ flags

uint8_t RexxExpressionFunction::flags
protected

Definition at line 75 of file ExpressionFunction.hpp.

Referenced by evaluate(), resolve(), and RexxExpressionFunction().

◆ functionName

RexxString* RexxExpressionFunction::functionName
protected

Definition at line 72 of file ExpressionFunction.hpp.

Referenced by evaluate(), live(), liveGeneral(), and RexxExpressionFunction().

◆ named_argument_count

uint8_t RexxExpressionFunction::named_argument_count
protected

Definition at line 77 of file ExpressionFunction.hpp.

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

◆ target

RexxInstruction* RexxExpressionFunction::target
protected

Definition at line 73 of file ExpressionFunction.hpp.

Referenced by evaluate(), live(), liveGeneral(), and resolve().


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