RexxNativeMethod Class Reference

#include <RexxNativeCode.hpp>

Inheritance diagram for RexxNativeMethod:
[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 *)
 
 RexxNativeMethod (RESTORETYPE restoreType)
 
 RexxNativeMethod (RexxString *p, RexxString *n, PNATIVEMETHOD e)
 
void liveGeneral (int reason)
 
void flatten (RexxEnvelope *envelope)
 
PNATIVEMETHOD getEntry ()
 
virtual void run (RexxActivity *activity, RexxMethod *method, RexxObject *receiver, RexxString *messageName, RexxObject **argPtr, size_t count, size_t named_count, ProtectedObject &result)
 
- 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 call (RexxActivity *, RoutineClass *, RexxString *, RexxObject **, size_t, size_t, RexxString *, RexxString *, int, ProtectedObject &)
 
virtual void call (RexxActivity *, RoutineClass *, RexxString *, RexxObject **, size_t, size_t, ProtectedObject &)
 
virtual RexxArraygetSource ()
 
virtual RexxObjectsetSecurityManager (RexxObject *manager)
 
virtual PackageClassgetPackage ()
 
bool isSamePackage (PackageClass *p)
 
- 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 *)
 

Protected Attributes

PNATIVEMETHOD entry
 
- 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 72 of file RexxNativeCode.hpp.

Constructor & Destructor Documentation

◆ RexxNativeMethod() [1/2]

RexxNativeMethod::RexxNativeMethod ( RESTORETYPE  restoreType)
inline

Definition at line 80 of file RexxNativeCode.hpp.

◆ RexxNativeMethod() [2/2]

RexxNativeMethod::RexxNativeMethod ( RexxString p,
RexxString n,
PNATIVEMETHOD  e 
)
inline

Definition at line 81 of file RexxNativeCode.hpp.

Member Function Documentation

◆ flatten()

void RexxNativeMethod::flatten ( RexxEnvelope envelope)
virtual

Reimplemented from RexxNativeCode.

Definition at line 194 of file RexxNativeCode.cpp.

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

◆ getEntry()

PNATIVEMETHOD RexxNativeMethod::getEntry ( )
inline

Definition at line 86 of file RexxNativeCode.hpp.

References entry.

Referenced by RexxNativeActivation::run().

◆ liveGeneral()

void RexxNativeMethod::liveGeneral ( int  reason)
virtual

Reimplemented from RexxNativeCode.

Definition at line 180 of file RexxNativeCode.cpp.

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

◆ operator delete() [1/2]

void RexxNativeMethod::operator delete ( void *  )
inline

Definition at line 77 of file RexxNativeCode.hpp.

◆ operator delete() [2/2]

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

Definition at line 78 of file RexxNativeCode.hpp.

◆ operator new() [1/2]

void * RexxNativeMethod::operator new ( size_t  size)

Definition at line 289 of file RexxNativeCode.cpp.

References new_object(), and T_NativeMethod.

◆ operator new() [2/2]

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

Definition at line 75 of file RexxNativeCode.hpp.

◆ run()

void RexxNativeMethod::run ( RexxActivity activity,
RexxMethod method,
RexxObject receiver,
RexxString messageName,
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.
methodThe method we're attached to.
receiverThe method receiver object (the "self" object).
messageNameThe 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.

Reimplemented from BaseCode.

Definition at line 271 of file RexxNativeCode.cpp.

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

Member Data Documentation

◆ entry

PNATIVEMETHOD RexxNativeMethod::entry
protected

Definition at line 92 of file RexxNativeCode.hpp.

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


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