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) 
|
Go to the documentation of this file. 1026 return temp->
copyData(o - 1, (
char *)r, l);
1352 return ((
RexxArray *)a)->getDimension();
1634 return context.
ret(((
RexxStem *)s)->getElement(n));
1671 return context.
ret(((
RexxStem *)s)->getElement((
size_t)i));
1684 ((
RexxStem *)s)->dropElement((
size_t)i);
1709 return context.
ret(((
RexxStem *)s)->getStemValue());
RexxObjectPtr RexxEntry SendMessage1(RexxThreadContext *c, RexxObjectPtr o, CSTRING m, RexxObjectPtr a1)
static bool objectToInt64(RexxObject *o, int64_t &result)
RexxObjectPtr RexxEntry SendMessageArray(RexxThreadContext *c, RexxObjectPtr o, CSTRING m, RexxArrayObject a)
#define Error_Interpretation
static bool objectToStringSize(RexxObject *o, stringsize_t &result, stringsize_t max)
static LibraryPackage * loadLibrary(RexxString *name)
size_t RexxEntry ArrayDimension(RexxThreadContext *c, RexxArrayObject a)
RexxArray * new_array(size_t s)
RexxStringObject RexxEntry StringLower(RexxThreadContext *c, RexxStringObject s)
struct _RexxDirectoryObject * RexxDirectoryObject
const typedef char * CSTRING
logical_t RexxEntry IsStem(RexxThreadContext *c, RexxObjectPtr o)
bool isInstanceOf(RexxClass *)
POINTER RexxEntry ObjectToCSelfScoped(RexxThreadContext *c, RexxObjectPtr o, RexxObjectPtr s)
void RexxEntry RaiseCondition(RexxThreadContext *c, CSTRING n, RexxStringObject desc, RexxObjectPtr add, RexxObjectPtr result)
CSTRING RexxEntry StringData(RexxThreadContext *c, RexxStringObject s)
RexxDirectory * getLocal()
RexxObjectPtr RexxEntry SupplierItem(RexxThreadContext *c, RexxSupplierObject o)
RexxDirectoryObject RexxEntry GetPackagePublicRoutines(RexxThreadContext *c, RexxPackageObject m)
struct _RexxArrayObject * RexxArrayObject
RexxObjectPtr RexxEntry CallProgram(RexxThreadContext *c, const char *p, RexxArrayObject a)
void RexxEntry RaiseException2(RexxThreadContext *c, size_t n, RexxObjectPtr o1, RexxObjectPtr o2)
void finish(stringsize_t l)
RexxDirectoryObject RexxEntry GetLocalEnvironment(RexxThreadContext *c)
RexxArrayObject RexxEntry NewArray(RexxThreadContext *c, size_t s)
RexxObjectPtr RexxEntry CallRoutine(RexxThreadContext *c, RexxRoutineObject r, RexxArrayObject a)
size_t RexxEntry StringLength(RexxThreadContext *c, RexxStringObject s)
void RexxEntry SetStemArrayElement(RexxThreadContext *c, RexxStemObject s, size_t i, RexxObjectPtr v)
size_t RexxEntry MutableBufferLength(RexxThreadContext *c, RexxMutableBufferObject b)
bool isArray(RexxObject *o)
void removeGlobalReference(RexxObject *o)
static void decodeConditionData(RexxDirectory *conditionObj, RexxCondition *condData)
RexxObjectPtr RexxEntry IntptrToObject(RexxThreadContext *c, intptr_t n)
logical_t RexxEntry ObjectToIntptr(RexxThreadContext *c, RexxObjectPtr o, intptr_t *n)
void RexxEntry ClearCondition(RexxThreadContext *c)
size_t RexxEntry ArrayAppendString(RexxThreadContext *c, RexxArrayObject a, CSTRING s, size_t l)
RexxObjectPtr RexxEntry ValueToObject(RexxThreadContext *c, ValueDescriptor *d)
RexxStringObject RexxEntry FinishBufferString(RexxThreadContext *c, RexxBufferStringObject s, size_t l)
RexxDirectoryObject RexxEntry GetConditionInfo(RexxThreadContext *c)
RexxObjectPtr RexxEntry RequestGlobalReference(RexxThreadContext *c, RexxObjectPtr o)
RexxObjectPtr RexxEntry WholeNumberToObject(RexxThreadContext *c, wholenumber_t n)
static bool objectToSignedInteger(RexxObject *o, ssize_t &result, ssize_t max, ssize_t min)
RexxStringObject RexxEntry NewString(RexxThreadContext *c, CSTRING s, size_t l)
void RexxEntry SetStemElement(RexxThreadContext *c, RexxStemObject s, CSTRING n, RexxObjectPtr v)
RexxObject * valueToObject(ValueDescriptor *value)
RexxSupplier * new_supplier(RexxArray *c, RexxArray *f)
struct _RexxBufferObject * RexxBufferObject
POINTER RexxEntry BufferStringData(RexxThreadContext *c, RexxBufferStringObject s)
RexxNativeActivation * context
RexxPackageObject RexxEntry GetMethodPackage(RexxThreadContext *c, RexxMethodObject o)
RexxArrayObject RexxEntry ValuesToObject(RexxThreadContext *c, ValueDescriptor *d, size_t count)
RexxRoutineObject RexxEntry NewRoutine(RexxThreadContext *c, CSTRING n, CSTRING source, stringsize_t length)
RexxDirectoryObject RexxEntry GetGlobalEnvironment(RexxThreadContext *c)
RexxObjectPtr RexxEntry SupplierIndex(RexxThreadContext *c, RexxSupplierObject o)
logical_t RexxEntry IsArray(RexxThreadContext *c, RexxObjectPtr o)
size_t RexxEntry SetMutableBufferLength(RexxThreadContext *c, RexxMutableBufferObject b, size_t length)
POINTER RexxEntry ObjectToCSelf(RexxThreadContext *c, RexxObjectPtr o)
RexxObjectPtr RexxEntry GetStemElement(RexxThreadContext *c, RexxStemObject s, CSTRING n)
static RexxObject * int64ToObject(int64_t v)
void RexxEntry HaltThread(RexxThreadContext *c)
void reportException(wholenumber_t error)
RexxObjectPtr RexxEntry DoubleToObject(RexxThreadContext *c, double n)
static RexxObject * wholenumberToObject(wholenumber_t v)
static const wholenumber_t MAX_WHOLENUMBER
RexxBufferObject RexxEntry NewBuffer(RexxThreadContext *c, size_t l)
void removeLocalReference(RexxObject *objr)
static bool objectToUnsignedInteger(RexxObject *o, size_t &result, size_t max)
RexxObjectPtr RexxEntry DirectoryRemove(RexxThreadContext *c, RexxDirectoryObject t, CSTRING i)
RexxObjectPtr ret(RexxObject *o)
RexxDirectoryObject RexxEntry GetPackageClasses(RexxThreadContext *c, RexxPackageObject m)
const char * getStringData()
static bool registerPackage(RexxString *name, RexxPackageEntry *p)
RexxObjectPtr RexxEntry Int32ToObject(RexxThreadContext *c, int32_t n)
struct _RexxClassObject * RexxClassObject
logical_t RexxEntry IsDirectory(RexxThreadContext *c, RexxObjectPtr o)
static RexxObject * uintptrToObject(uintptr_t v)
struct _RexxBufferStringObject * RexxBufferStringObject
RexxObjectPtr RexxEntry DirectoryAt(RexxThreadContext *c, RexxDirectoryObject t, CSTRING i)
RexxArrayObject RexxEntry ArrayOfThree(RexxThreadContext *c, RexxObjectPtr o1, RexxObjectPtr o2, RexxObjectPtr o3)
struct _RexxMethodObject * RexxMethodObject
RexxPackageObject RexxEntry LoadPackage(RexxThreadContext *c, CSTRING n)
RexxMutableBufferObject RexxEntry NewMutableBuffer(RexxThreadContext *c, size_t l)
static bool objectToUintptr(RexxObject *source, uintptr_t &result)
logical_t RexxEntry HasMethod(RexxThreadContext *c, RexxObjectPtr o, CSTRING n)
size_t RexxEntry ArrayItems(RexxThreadContext *c, RexxArrayObject a)
RexxStemObject RexxEntry NewStem(RexxThreadContext *c, CSTRING n)
static RexxObject * uint64ToObject(uint64_t v)
wholenumber_t displayCondition(RexxDirectory *conditionObject)
void RexxEntry APIRaiseException(RexxThreadContext *c, size_t n, RexxArrayObject a)
RexxObjectPtr RexxEntry GetStemValue(RexxThreadContext *c, RexxStemObject s)
POINTER RexxEntry SetMutableBufferCapacity(RexxThreadContext *c, RexxMutableBufferObject b, size_t length)
void enableConditionTrap()
RexxString * raw_string(stringsize_t l)
void RexxEntry RaiseException1(RexxThreadContext *c, size_t n, RexxObjectPtr o1)
struct _RexxPackageObject * RexxPackageObject
void RexxEntry RaiseException0(RexxThreadContext *c, size_t n)
logical_t RexxEntry ObjectToInt32(RexxThreadContext *c, RexxObjectPtr o, int32_t *n)
struct _RexxPointerObject * RexxPointerObject
void setConditionInfo(RexxDirectory *info)
logical_t RexxEntry ObjectToUnsignedInt32(RexxThreadContext *c, RexxObjectPtr o, uint32_t *n)
static bool objectToWholeNumber(RexxObject *o, wholenumber_t &result, wholenumber_t max, wholenumber_t min)
RexxPointerObject RexxEntry NewPointer(RexxThreadContext *c, POINTER p)
RexxString * new_string(const char *s, stringsize_t l)
CSTRING RexxEntry ObjectToStringValue(RexxThreadContext *c, RexxObjectPtr o)
RexxDirectoryObject RexxEntry NewDirectory(RexxThreadContext *c)
size_t RexxEntry BufferLength(RexxThreadContext *c, RexxBufferObject b)
PackageClass * loadRequires(RexxActivity *activity, RexxString *shortName, const char *data, size_t length)
logical_t RexxEntry ObjectToStringSize(RexxThreadContext *c, RexxObjectPtr o, stringsize_t *n)
size_t RexxEntry BufferStringLength(RexxThreadContext *c, RexxBufferStringObject s)
logical_t RexxEntry IsMethod(RexxThreadContext *c, RexxObjectPtr o)
bool raiseCondition(RexxString *, RexxObject *, RexxString *, RexxObject *, RexxObject *)
RexxObjectPtr RexxEntry SendMessage2(RexxThreadContext *c, RexxObjectPtr o, CSTRING m, RexxObjectPtr a1, RexxObjectPtr a2)
RexxStringObject RexxEntry NewStringFromAsciiz(RexxThreadContext *c, CSTRING s)
size_t RexxEntry ArraySize(RexxThreadContext *c, RexxArrayObject a)
void RexxEntry ArrayPut(RexxThreadContext *c, RexxArrayObject a, RexxObjectPtr o, size_t i)
RexxDirectory * getConditionInfo()
RexxClassObject RexxEntry FindClass(RexxThreadContext *c, CSTRING n)
logical_t RexxEntry IsInstanceOf(RexxThreadContext *c, RexxObjectPtr o, RexxClassObject cl)
void RexxEntry ReleaseLocalReference(RexxThreadContext *c, RexxObjectPtr o)
#define Error_Incorrect_method_positive
POINTER RexxEntry MutableBufferData(RexxThreadContext *c, RexxMutableBufferObject b)
void RexxEntry SupplierNext(RexxThreadContext *c, RexxSupplierObject o)
static RexxObject * stringsizeToObject(stringsize_t v)
RexxString * resolveProgramName(RexxString *name, RexxString *dir, RexxString *ext)
struct _RexxMutableBufferObject * RexxMutableBufferObject
wholenumber_t RexxEntry DisplayCondition(RexxThreadContext *c)
RexxStringObject RexxEntry StringUpper(RexxThreadContext *c, RexxStringObject s)
size_t RexxEntry StringGet(RexxThreadContext *c, RexxStringObject s, size_t o, POINTER r, size_t l)
size_t RexxEntry MutableBufferCapacity(RexxThreadContext *c, RexxMutableBufferObject b)
void RexxEntry DropStemElement(RexxThreadContext *c, RexxStemObject s, CSTRING n)
logical_t RexxEntry ObjectToUnsignedInt64(RexxThreadContext *c, RexxObjectPtr o, uint64_t *n)
RexxDirectoryObject RexxEntry GetPackageMethods(RexxThreadContext *c, RexxPackageObject m)
logical_t RexxEntry ObjectToValue(RexxThreadContext *c, RexxObjectPtr o, ValueDescriptor *d)
logical_t RexxEntry IsRoutine(RexxThreadContext *c, RexxObjectPtr o)
void RexxEntry DropStemArrayElement(RexxThreadContext *c, RexxStemObject s, size_t i)
logical_t RexxEntry RegisterLibrary(RexxThreadContext *c, CSTRING n, RexxPackageEntry *e)
logical_t RexxEntry ObjectToLogical(RexxThreadContext *c, RexxObjectPtr o, logical_t *n)
static RexxObject * intptrToObject(intptr_t v)
logical_t RexxEntry LoadLibraryPackage(RexxThreadContext *c, CSTRING n)
RexxArrayObject RexxEntry ArrayOfFour(RexxThreadContext *c, RexxObjectPtr o1, RexxObjectPtr o2, RexxObjectPtr o3, RexxObjectPtr o4)
logical_t RexxEntry ObjectToUintptr(RexxThreadContext *c, RexxObjectPtr o, uintptr_t *n)
RexxSupplierObject RexxEntry NewSupplier(RexxThreadContext *c, RexxArrayObject values, RexxArrayObject names)
RexxNumberString * new_numberstringFromDouble(double n)
RexxString * REQUEST_STRING(RexxObject *object)
RexxObjectPtr RexxEntry DoubleToObjectWithPrecision(RexxThreadContext *c, double n, size_t precision)
logical_t RexxEntry IsPointer(RexxThreadContext *c, RexxObjectPtr o)
RexxClass * findClass(RexxString *className)
logical_t RexxEntry ObjectToWholeNumber(RexxThreadContext *c, RexxObjectPtr o, wholenumber_t *n)
#define THREAD_INTERFACE_VERSION
RexxDirectory * new_directory()
logical_t RexxEntry SupplierAvailable(RexxThreadContext *c, RexxSupplierObject o)
struct _RexxRoutineObject * RexxRoutineObject
RexxObjectPtr RexxEntry LogicalToObject(RexxThreadContext *c, logical_t n)
RexxBuffer * new_buffer(size_t s)
RexxObjectPtr RexxEntry UintptrToObject(RexxThreadContext *c, uintptr_t n)
void RexxEntry SetThreadTrace(RexxThreadContext *c, logical_t setting)
logical_t RexxEntry ObjectToInt64(RexxThreadContext *c, RexxObjectPtr o, int64_t *n)
RexxDirectoryObject RexxEntry GetPackageRoutines(RexxThreadContext *c, RexxPackageObject m)
size_t RexxEntry ArrayAppend(RexxThreadContext *c, RexxArrayObject a, RexxObjectPtr o)
logical_t RexxEntry CheckCondition(RexxThreadContext *c)
POINTER RexxEntry BufferData(RexxThreadContext *c, RexxBufferObject b)
void RexxEntry DirectoryPut(RexxThreadContext *c, RexxDirectoryObject t, RexxObjectPtr o, CSTRING i)
POINTER RexxEntry PointerValue(RexxThreadContext *c, RexxPointerObject o)
bool isString(RexxObject *o)
RexxArrayObject RexxEntry ArrayOfOne(RexxThreadContext *c, RexxObjectPtr o)
static bool objectToUnsignedInt64(RexxObject *o, uint64_t &result)
logical_t RexxEntry ObjectToDouble(RexxThreadContext *c, RexxObjectPtr o, double *n)
void RexxEntry DecodeConditionInfo(RexxThreadContext *c, RexxDirectoryObject d, RexxCondition *cd)
RexxObjectPtr RexxEntry UnsignedInt64ToObject(RexxThreadContext *c, uint64_t n)
RexxPointer * new_pointer(void *p)
struct _RexxSupplierObject * RexxSupplierObject
logical_t RexxEntry IsOfType(RexxThreadContext *c, RexxObjectPtr o, CSTRING cn)
bool objectToValue(RexxObject *o, ValueDescriptor *value)
size_t copyData(size_t, char *, size_t)
RexxObjectPtr RexxEntry StringSizeToObject(RexxThreadContext *c, stringsize_t n)
RexxObjectPtr RexxEntry GetStemArrayElement(RexxThreadContext *c, RexxStemObject s, size_t i)
void RexxEntry DetachThread(RexxThreadContext *c)
struct _RexxStemObject * RexxStemObject
RexxObjectPtr RexxEntry SendMessage0(RexxThreadContext *c, RexxObjectPtr o, CSTRING m)
logical_t RexxEntry IsBuffer(RexxThreadContext *c, RexxObjectPtr o)
void addGlobalReference(RexxObject *o)
RexxBufferStringObject RexxEntry NewBufferString(RexxThreadContext *c, size_t l)
logical_t RexxEntry IsMutableBuffer(RexxThreadContext *c, RexxObjectPtr o)
static const wholenumber_t MIN_WHOLENUMBER
RexxArrayObject RexxEntry ArrayOfTwo(RexxThreadContext *c, RexxObjectPtr o1, RexxObjectPtr o2)
RexxDirectoryObject RexxEntry GetPackagePublicClasses(RexxThreadContext *c, RexxPackageObject m)
RexxObjectPtr RexxEntry ArrayAt(RexxThreadContext *c, RexxArrayObject a, size_t i)
logical_t RexxEntry IsString(RexxThreadContext *c, RexxObjectPtr o)
RexxString * new_upper_string(const char *s, stringsize_t l)
RexxMethodObject RexxEntry NewMethod(RexxThreadContext *c, CSTRING n, CSTRING source, stringsize_t length)
RexxPackageObject RexxEntry LoadPackageFromData(RexxThreadContext *c, CSTRING n, CSTRING d, size_t l)
struct _RexxStringObject * RexxStringObject
void RexxEntry ReleaseGlobalReference(RexxThreadContext *c, RexxObjectPtr o)
static bool objectToIntptr(RexxObject *source, intptr_t &result)
RexxPackageObject RexxEntry GetRoutinePackage(RexxThreadContext *c, RexxRoutineObject o)
RexxStringObject RexxEntry ObjectToString(RexxThreadContext *c, RexxObjectPtr o)
RexxObjectPtr RexxEntry Int64ToObject(RexxThreadContext *c, int64_t n)
RexxDirectoryObject RexxEntry GetAllStemElements(RexxThreadContext *c, RexxStemObject s)
RexxArray * valuesToObject(ValueDescriptor *value, size_t count)
struct _RexxObjectPtr * RexxObjectPtr
InterpreterInstance * getInstance()
RexxObjectPtr RexxEntry UnsignedInt32ToObject(RexxThreadContext *c, uint32_t n)
RexxClassObject RexxEntry FindClassFromPackage(RexxThreadContext *c, RexxPackageObject m, CSTRING n)