45 #include "SystemInterpreter.hpp"
61 void *InterpreterInstance::operator
new(
size_t size)
67 : terminationSem(
"InterpreterInstance::terminationSem")
426 for (
size_t i = 0; i < count; i++)
625 const char *extEnd = extStart + strlen(extStart);
627 while (extStart < extEnd)
629 const char *delim = strchr(extStart,
',');
639 extStart = delim + 1;
647 if (handlers != NULL)
662 if (handlers != NULL)
677 if (handlers != NULL)
692 if (handlers != NULL)
695 for (
int i= 0; handlers[i].
handler != NULL; i++)
713 RexxLibraryPackage *
package = (RexxLibraryPackage *)options->option.value.value_POINTER;
877 code->
call(activity, name, NULL, 0, 0, dummy);
896 PackageClass *
package = getRequiresFile(activity, shortName);
906 package = getRequiresFile(activity, fullName);
930 package = requiresFile->getPackage();
955 PackageClass *
package = getRequiresFile(activity, shortName);
971 package = requiresFile->getPackage();
998 PackageClass *
package = getRequiresFile(activity, shortName);
1014 package = requiresFile->getPackage();
void reportException(wholenumber_t error)
RexxDirectory * new_directory()
RexxIdentityTable * new_identity_table()
#define Error_Routine_not_found_requires
#define memory_mark(oref)
RexxObject * new_object(size_t s)
#define memory_mark_general(oref)
RexxString * new_string(const char *s, stringsize_t l)
RexxString * new_upper_string(const char *s, stringsize_t l)
static RexxActivity * createNewActivity()
static bool poolActivity(RexxActivity *activity)
static void returnActivity(RexxActivity *)
static RexxActivity * attachThread()
static void returnRootActivity(RexxActivity *activity)
void setName(RexxString *name)
static bool lastInstance()
static bool terminateInterpreterInstance(InterpreterInstance *instance)
SecurityManager * securityManager
bool poolActivity(RexxActivity *activity)
RexxObject * getLocalEnvironment(RexxString *)
void setSecurityManager(RexxObject *m)
void addGlobalReference(RexxObject *o)
RexxActivity * enterOnCurrentThread()
RexxActivity * findActivity()
SysInterpreterInstance sysInstance
RexxActivity * attachThread()
RexxDirectory * localEnvironment
RexxIdentityTable * globalReferences
void addRequiresFile(RexxString *shortName, RexxString *fullName, PackageClass *package)
bool haltAllActivities(RexxString *)
static RexxInstanceInterface interfaceVector
void removeGlobalReference(RexxObject *o)
PackageClass * getRequiresFile(RexxActivity *activity, RexxString *name)
PackageClass * loadRequires(RexxActivity *activity, RexxString *shortName, const char *data, size_t length)
void addCommandHandler(const char *name, const char *registeredName)
RexxList * searchExtensions
void traceAllActivities(bool on)
void setExitHandler(int exitNum, REXXPFN e)
void runRequires(RexxActivity *activity, RexxString *name, RoutineClass *code)
RexxActivity * rootActivity
SysSemaphore terminationSem
void removeInactiveActivities()
void initialize(RexxActivity *activity, RexxOption *options)
RexxActivity * spawnActivity(RexxActivity *parent)
RexxString * defaultEnvironment
RexxThreadContext * getRootThreadContext()
RexxDirectory * requiresFiles
bool processOptions(RexxOption *options)
CommandHandler * resolveCommandHandler(RexxString *name)
RexxDirectory * commandHandlers
static RoutineClass * loadRequires(RexxActivity *activity, RexxString *shortName, RexxString *resolvedName, ProtectedObject &result)
static bool registerPackage(RexxString *name, RexxPackageEntry *p)
static LibraryPackage * getLibrary(RexxString *name)
void addRunningRequires(RexxString *program)
void setupAttachedActivity(InterpreterInstance *interpreter)
bool isThread(thread_id_t id)
void terminatePoolActivity()
void removeRunningRequires(RexxObject *program)
void addToInstance(InterpreterInstance *interpreter)
RexxThreadContext * getThreadContext()
RexxObject * at(RexxString *)
RexxObject * put(RexxObject *, RexxString *)
RexxObject * remove(RexxString *)
virtual RexxObject * get(RexxObject *key)
virtual RexxObject * put(RexxObject *, RexxObject *)
virtual RexxObject * remove(RexxObject *key)
size_t previousIndex(size_t i)
RexxObject * append(RexxObject *)
size_t nextIndex(size_t i)
RexxObject * removeItem(RexxObject *)
RexxObject * getValue(size_t i)
RexxObject * removeFirstItem()
void collectAndUninit(bool clearStack)
void verboseMessage(const char *message)
const char * getStringData()
void call(RexxActivity *, RexxString *, RexxObject **, size_t, size_t, RexxString *, RexxString *, int, ProtectedObject &)
static thread_id_t queryThreadID()
void registerCommandHandlers(InterpreterInstance *i)
void initialize(InterpreterInstance *i, RexxOption *options)
void wait(const char *ds, int di)
static RexxString * getDefaultAddressName()
#define LOAD_REQUIRED_LIBRARY
#define INITIAL_ADDRESS_ENVIRONMENT
#define REGISTERED_ENVIRONMENTS
#define EXTERNAL_CALL_EXTENSIONS
#define DIRECT_ENVIRONMENTS
#define EXTERNAL_CALL_PATH
union _ValueDescriptor::@26 value
InterpreterInstance * instance
RexxInstance instanceContext
RexxContextCommandHandler * handler
RexxInstanceInterface * functions
const char * registeredName