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.
![]() ![]() |
#include <CPPCode.hpp>
Static Public Member Functions | |
static CPPCode * | resolveExportedMethod (const char *, PCPPM targetMethod, size_t argcount) |
![]() | |
static size_t | getObjectHeaderSize () |
Static Public Attributes | |
static PCPPM | exportedMethods [] |
Protected Attributes | |
uint16_t | methodIndex |
uint16_t | argumentCount |
PCPPM | cppEntry |
Additional Inherited Members | |
![]() | |
ObjectHeader | header |
RexxBehaviour * | behaviour |
![]() | |
virtual | ~RexxVirtualBase () |
virtual void | baseVirtual () |
Class for a method-wrappered CPP internal method.
Definition at line 48 of file CPPCode.hpp.
CPPCode::CPPCode | ( | size_t | index, |
PCPPM | entry, | ||
size_t | argcount | ||
) |
Constructor for a CPPCode object.
index | The index of the method used to restore unflattened internal method. |
entry | The entry point address. |
argcount | The number of arguments this method expects. |
Definition at line 69 of file CPPCode.cpp.
References argumentCount, cppEntry, and methodIndex.
Referenced by resolveExportedMethod().
|
inline |
Definition at line 56 of file CPPCode.hpp.
|
virtual |
Reimplemented from RexxVirtualBase.
Definition at line 77 of file CPPCode.cpp.
References cppEntry, exportedMethods, methodIndex, and RESTORINGIMAGE.
|
inline |
Definition at line 53 of file CPPCode.hpp.
|
inline |
Definition at line 54 of file CPPCode.hpp.
|
inline |
Definition at line 52 of file CPPCode.hpp.
void * CPPCode::operator new | ( | size_t | size | ) |
Allocate a new CPP code object.
size | the allocation size. |
Definition at line 55 of file CPPCode.cpp.
References new_object(), and T_CPPCode.
|
static |
Resolve the entry point of a CPP method into a CPPCode wrapper for that method.
name | The name of the method (used for error reporting) |
targetMethod | The method to wrapper |
argumentCount | The argument descriptor. |
Definition at line 1031 of file CPPCode.cpp.
References argumentCount, CPPCode(), exportedMethods, and Interpreter::logicError().
Referenced by RexxMemory::createImage(), and RexxBehaviour::define().
|
virtual |
Run (or call) a CPPMethod.
activity | The activity we're running under. |
method | The method to run. |
receiver | The receiver object. |
messageName | The name used to invoke the message. |
argPtr | The actual arguments. |
count | The argument count. |
result | The returned result. |
Reimplemented from BaseCode.
Definition at line 111 of file CPPCode.cpp.
References A_COUNT, argumentCount, cppEntry, Error_Incorrect_method_maxarg, and reportException().
|
virtual |
Reimplemented from RexxVirtualBase.
Definition at line 89 of file CPPCode.cpp.
References cppEntry, exportedMethods, and methodIndex.
|
protected |
Definition at line 68 of file CPPCode.hpp.
Referenced by CPPCode(), resolveExportedMethod(), and run().
|
protected |
Definition at line 69 of file CPPCode.hpp.
Referenced by CPPCode(), liveGeneral(), run(), and unflatten().
|
static |
Definition at line 64 of file CPPCode.hpp.
Referenced by liveGeneral(), resolveExportedMethod(), and unflatten().
|
protected |
Definition at line 67 of file CPPCode.hpp.
Referenced by CPPCode(), liveGeneral(), and unflatten().