ooRexx  4.2.0-source
About: ooRexx (Open Object Rexx) is a free implementation of Object Rexx. Object Rexx is an enhancement of the classic Rexx interpreter; a full-featured programming language with a human-oriented syntax.
  Fossies Dox: ooRexx-4.2.0-source.tar.gz  ("inofficial" and yet experimental doxygen-generated source code documentation)  

RexxRoutine Class Referenceabstract

#include <RexxNativeCode.hpp>

Inheritance diagram for RexxRoutine:
[legend]
Collaboration diagram for RexxRoutine:
[legend]

Public Member Functions

 RexxRoutine ()
 
 RexxRoutine (RexxString *p, RexxString *n)
 
virtual void call (RexxActivity *, RoutineClass *, RexxString *, RexxObject **, size_t, ProtectedObject &)=0
 
- Public Member Functions inherited from RexxNativeCode
 RexxNativeCode ()
 
 RexxNativeCode (RexxString *p, RexxString *n)
 
void live (size_t)
 
void liveGeneral (int reason)
 
void flatten (RexxEnvelope *envelope)
 
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, ProtectedObject &)
 
virtual void call (RexxActivity *, RoutineClass *, RexxString *, RexxObject **, 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)
 
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 *)
 

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 ()
 
- Protected Attributes inherited from RexxNativeCode
RexxStringpackage
 
RexxStringname
 
RexxSourcesource
 

Detailed Description

Definition at line 96 of file RexxNativeCode.hpp.

Constructor & Destructor Documentation

◆ RexxRoutine() [1/2]

RexxRoutine::RexxRoutine ( )
inline

Definition at line 100 of file RexxNativeCode.hpp.

◆ RexxRoutine() [2/2]

RexxRoutine::RexxRoutine ( RexxString p,
RexxString n 
)
inline

Definition at line 101 of file RexxNativeCode.hpp.

Member Function Documentation

◆ call()

virtual void RexxRoutine::call ( RexxActivity activity,
RoutineClass routine,
RexxString msgname,
RexxObject **  arguments,
size_t  argcount,
ProtectedObject result 
)
pure virtual

Simplified call form used for calling from Rexx code to native code.

Parameters
activityThe current activity.
msgnameThe name of the call.
argumentsthe call arguments.
argcountThe count of arguments.
resultThe returned result.

Reimplemented from BaseCode.

Implemented in RegisteredRoutine, and RexxNativeRoutine.


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