329 code->
run(activity,
this, receiver, msgname, argPtr, count, named_count, result);
342 OrefSet(
this, this->scope, _scope);
372 OrefSet(
this, this->scope, _scope);
380 this->setUnguarded();
407 this->setProtected();
564 envelope->
pack(
this);
568 void *RexxMethod::operator
new (
size_t size)
611 newSourceArray =
new_array(sourceString);
623 for (
size_t counter = 1; counter <= newSourceArray->
size(); counter++)
638 newSourceArray ->
put(sourceString, counter);
642 p_newSourceArray = newSourceArray;
672 size_t named_argCount)
689 size_t initCount = 0;
706 sourceContext = ((
RexxMethod *)option)->getSourceObject();
710 sourceContext = ((
RoutineClass *)option)->getSourceObject();
714 sourceContext = ((
PackageClass *)option)->getSourceObject();
728 if (!((
RexxString *)option)->strCaselessCompare(
"PROGRAMSCOPE"))
737 bool isBlock =
false;
755 newMethod->
sendMessage(OREF_INIT, init_args, initCount, named_argCount);
804 envelope->
puff(buffer, startPointer, length);
851 call(activity, routine, msgname, arguments, argcount, named_argcount, result);
959 return source->getPackage();
978 descriptor =
stringArgument(descriptor, OREF_positional,
"descriptor");
984 if (((
RexxString *)(_words->
get(1)))->strCompare(CHAR_LIBRARY))
991 if (_words->
size() == 3)
996 else if (_words->
size() == 2)
void reportException(wholenumber_t error)
RexxArray * new_array(size_t s)
RexxObject * resultOrNil(RexxInternalObject *o)
RexxObject * booleanObject(bool v)
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, stringsize_t l)
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 **)
RexxBehaviour * getInstanceBehaviour()
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()
RexxObject * isAttributeRexx()
static RexxMethod * restore(RexxBuffer *, char *, size_t length)
RexxObject * setUnguardedRexx()
RexxObject * setProtectedRexx()
RexxObject * setSecurityManager(RexxObject *)
RexxObject * isProtectedRexx()
RexxObject * isAbstractRexx()
void run(RexxActivity *, RexxObject *, RexxString *, RexxObject **, size_t, size_t, ProtectedObject &)
RexxMethod * newFileRexx(RexxString *)
RexxObject * getScopeRexx()
void flatten(RexxEnvelope *)
RexxObject * isGuardedRexx()
RexxMethod * loadExternalMethod(RexxString *name, RexxString *descriptor)
static RexxClass * classInstance
void setScope(RexxClass *)
RexxObject * isPackageRexx()
static RexxMethod * newMethodObject(RexxString *, RexxObject *, RexxObject *, RexxSource *a, bool isBlock=false)
void setAttributes(AccessFlag access, ProtectedFlag _protected, GuardFlag _guarded)
RexxString * getScopeName()
RexxObject * isConstantRexx()
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, size_t length)