325 code->
run(activity,
this, receiver, msgname, argPtr, count, named_count, result);
338 OrefSet(
this, this->scope, _scope);
368 OrefSet(
this, this->scope, _scope);
376 this->setUnguarded();
403 this->setProtected();
475 envelope->
pack(
this);
479 void *RexxMethod::operator
new (
size_t size)
522 newSourceArray =
new_array(sourceString);
534 for (
size_t counter = 1; counter <= newSourceArray->
size(); counter++)
549 newSourceArray ->
put(sourceString, counter);
553 p_newSourceArray = newSourceArray;
583 size_t named_argCount)
593 size_t initCount = 0;
610 sourceContext = ((
RexxMethod *)option)->getSourceObject();
614 sourceContext = ((
RoutineClass *)option)->getSourceObject();
618 sourceContext = ((
PackageClass *)option)->getSourceObject();
632 if (!((
RexxString *)option)->strCaselessCompare(
"PROGRAMSCOPE"))
641 bool isBlock =
false;
654 if (((
RexxClass *)
this)->hasUninitDefined())
659 newMethod->
sendMessage(OREF_INIT, init_args, initCount, named_argCount);
678 if (((
RexxClass *)
this)->hasUninitDefined())
701 envelope->
puff(buffer, startPointer, length);
748 call(activity, routine, msgname, arguments, argcount, named_argcount, result);
856 return source->getPackage();
875 descriptor =
stringArgument(descriptor, OREF_positional,
"descriptor");
881 if (((
RexxString *)(_words->
get(1)))->strCompare(CHAR_LIBRARY))
888 if (_words->
size() == 3)
893 else if (_words->
size() == 2)
void reportException(wholenumber_t error)
RexxArray * new_array(size_t s)
RexxString * stringArgument(RexxObject *object, RexxString *kind, size_t position)
void requiredArgument(RexxObject *object, RexxString *kind, size_t position)
#define Error_Logical_value_method
#define Error_Translation_bad_external
#define Error_Incorrect_method_no_method
#define Error_Interpretation
#define Error_Incorrect_method_nostring_inarray
#define Error_Incorrect_method_argType
#define Error_Incorrect_call_list
#define Error_Incorrect_method_noarray
#define memory_mark(oref)
RexxObject * new_object(size_t s)
#define flatten_reference(oref, envel)
#define CLASS_CREATE(name, id, className)
#define memory_mark_general(oref)
#define setUpFlatten(type)
RexxString * new_string(const char *s, stringsizeB_t bl, sizeC_t cl=-1)
static RexxActivity *volatile currentActivity
virtual BaseCode * setSourceObject(RexxSource *s)
virtual RexxArray * getSource()
virtual void run(RexxActivity *, RexxMethod *, RexxObject *, RexxString *, RexxObject **, size_t, size_t, ProtectedObject &)
virtual RexxSource * getSourceObject()
virtual PackageClass * getPackage()
virtual RexxObject * setSecurityManager(RexxObject *manager)
virtual RexxClass * findClass(RexxString *className)
virtual void call(RexxActivity *, RoutineClass *, RexxString *, RexxObject **, size_t, size_t, RexxString *, RexxString *, int, ProtectedObject &)
PackageClass * getPackage()
RexxString * executableName
RexxClass * findClass(RexxString *className)
RexxSource * getSourceObject()
BaseExecutable * setSourceObject(RexxSource *s)
static RexxClass * findClass(RexxString *className)
static RexxNativeMethod * loadMethod(RexxString *packageName, RexxString *methodName)
RexxSource * getSourceObject()
RexxActivation * getCurrentRexxFrame()
void put(RexxObject *eref, size_t pos)
RexxString * makeString(RexxString *, RexxString *)
RexxObject * get(size_t pos)
static void processNewArgs(RexxObject **, size_t, RexxObject ***, size_t *, size_t, RexxObject **, RexxObject **)
RexxBuffer * pack(RexxObject *)
void puff(RexxBuffer *, char *, size_t length)
RexxSmartBuffer * getBuffer()
RexxObject * getReceiver()
void setBehaviour(RexxBehaviour *b)
RexxMethod * newRexx(RexxObject **, size_t, size_t)
static void createInstance()
void liveGeneral(int reason)
RexxSmartBuffer * saveMethod()
RexxObject * isPrivateRexx()
RexxObject * setPrivateRexx()
static RexxMethod * restore(RexxBuffer *, char *, size_t length)
RexxObject * setUnguardedRexx()
RexxObject * setProtectedRexx()
RexxObject * setSecurityManager(RexxObject *)
void setAttributes(bool _private, bool _protected, bool _guarded)
RexxObject * isProtectedRexx()
void run(RexxActivity *, RexxObject *, RexxString *, RexxObject **, size_t, size_t, ProtectedObject &)
RexxMethod * newFileRexx(RexxString *)
void flatten(RexxEnvelope *)
RexxObject * isGuardedRexx()
RexxMethod * loadExternalMethod(RexxString *name, RexxString *descriptor)
static RexxClass * classInstance
void setScope(RexxClass *)
static RexxMethod * newMethodObject(RexxString *, RexxObject *, RexxObject *, RexxSource *a, bool isBlock=false)
RexxObject * setGuardedRexx()
RexxMethod * newScope(RexxClass *)
RexxMethod(RexxString *name, BaseCode *_code)
RexxString * makeString()
RexxArray * requestArray()
void sendMessage(RexxString *, RexxArray *, RexxDirectory *, ProtectedObject &)
RexxString * requestString()
RexxCode * generateCode(bool isMethod)
void inheritSourceContext(RexxSource *source)
const char * getStringData()
static RexxArray * words(const char *data, sizeB_t length)