RegisteredRoutine Class Reference

#include <RexxNativeCode.hpp>

Inheritance diagram for RegisteredRoutine:
[legend]

Public Member Functions

void * operator new (size_t size, void *ptr)
 
void * operator new (size_t size)
 
void operator delete (void *)
 
void operator delete (void *, void *)
 
void liveGeneral (int reason)
 
void flatten (RexxEnvelope *envelope)
 
 RegisteredRoutine (RESTORETYPE restoreType)
 
 RegisteredRoutine (RexxString *n, RexxRoutineHandler *e)
 
 RegisteredRoutine (RexxString *p, RexxString *n, RexxRoutineHandler *e)
 
virtual void call (RexxActivity *, RoutineClass *, RexxString *, RexxObject **, size_t, size_t, ProtectedObject &)
 
RexxRoutineHandlergetEntry ()
 
- Public Member Functions inherited from RexxRoutine
 RexxRoutine ()
 
 RexxRoutine (RexxString *p, RexxString *n)
 
- Public Member Functions inherited from RexxNativeCode
 RexxNativeCode ()
 
 RexxNativeCode (RexxString *p, RexxString *n)
 
void live (size_t)
 
virtual RexxSourcegetSourceObject ()
 
virtual RexxClassfindClass (RexxString *className)
 
virtual BaseCodesetSourceObject (RexxSource *s)
 
SecurityManagergetSecurityManager ()
 
- Public Member Functions inherited from BaseCode
virtual void run (RexxActivity *, RexxMethod *, RexxObject *, RexxString *, RexxObject **, size_t, size_t, ProtectedObject &)
 
virtual void call (RexxActivity *, RoutineClass *, RexxString *, RexxObject **, size_t, size_t, RexxString *, RexxString *, int, ProtectedObject &)
 
virtual RexxArraygetSource ()
 
virtual RexxObjectsetSecurityManager (RexxObject *manager)
 
virtual PackageClassgetPackage ()
 
- 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 ()
 
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 RexxObjectunflatten (RexxEnvelope *)
 

Protected Attributes

RexxRoutineHandlerentry
 
- Protected Attributes inherited from RexxNativeCode
RexxStringpackage
 
RexxStringname
 
RexxSourcesource
 

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 130 of file RexxNativeCode.hpp.

Constructor & Destructor Documentation

◆ RegisteredRoutine() [1/3]

RegisteredRoutine::RegisteredRoutine ( RESTORETYPE  restoreType)
inline

Definition at line 141 of file RexxNativeCode.hpp.

◆ RegisteredRoutine() [2/3]

RegisteredRoutine::RegisteredRoutine ( RexxString n,
RexxRoutineHandler e 
)
inline

Definition at line 142 of file RexxNativeCode.hpp.

◆ RegisteredRoutine() [3/3]

RegisteredRoutine::RegisteredRoutine ( RexxString p,
RexxString n,
RexxRoutineHandler e 
)
inline

Definition at line 143 of file RexxNativeCode.hpp.

Member Function Documentation

◆ call()

void RegisteredRoutine::call ( RexxActivity activity,
RoutineClass routine,
RexxString functionName,
RexxObject **  argPtr,
size_t  count,
size_t  named_count,
ProtectedObject result 
)
virtual

Run a method call (vs a straight program call).

Parameters
activityThe current activity.
functionNameThe name of the message used to invoke the method.
argPtrThe pointer to the arguments.
countThe count of positional arguments.
named_countThe count of named arguments.
resultThe protected object used to return the result.

Implements RexxRoutine.

Definition at line 342 of file RexxNativeCode.cpp.

References RexxNativeActivation::callRegisteredRoutine(), entry, RexxNativeCode::name, ActivityManager::newNativeActivation(), RexxNativeCode::package, RexxActivity::pushStackFrame(), and PackageManager::resolveRegisteredRoutineEntry().

◆ flatten()

void RegisteredRoutine::flatten ( RexxEnvelope envelope)
virtual

Reimplemented from RexxNativeCode.

Definition at line 240 of file RexxNativeCode.cpp.

References cleanUpFlatten, RexxNativeCode::flatten(), and setUpFlatten.

◆ getEntry()

RexxRoutineHandler* RegisteredRoutine::getEntry ( )
inline

Definition at line 147 of file RexxNativeCode.hpp.

References entry.

Referenced by RexxNativeActivation::callRegisteredRoutine().

◆ liveGeneral()

void RegisteredRoutine::liveGeneral ( int  reason)
virtual

Reimplemented from RexxNativeCode.

Definition at line 226 of file RexxNativeCode.cpp.

References entry, RexxNativeCode::liveGeneral(), and SAVINGIMAGE.

◆ operator delete() [1/2]

void RegisteredRoutine::operator delete ( void *  )
inline

Definition at line 135 of file RexxNativeCode.hpp.

◆ operator delete() [2/2]

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

Definition at line 136 of file RexxNativeCode.hpp.

◆ operator new() [1/2]

void * RegisteredRoutine::operator new ( size_t  size)

Definition at line 359 of file RexxNativeCode.cpp.

References new_object(), and T_RegisteredRoutine.

◆ operator new() [2/2]

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

Definition at line 133 of file RexxNativeCode.hpp.

Member Data Documentation

◆ entry

RexxRoutineHandler* RegisteredRoutine::entry
protected

Definition at line 150 of file RexxNativeCode.hpp.

Referenced by call(), getEntry(), and liveGeneral().


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