InterpreterInstance Class Reference

#include <InterpreterInstance.hpp>

Inheritance diagram for InterpreterInstance:
[legend]

Public Member Functions

 InterpreterInstance (RESTORETYPE restoreType)
 
 InterpreterInstance ()
 
void * operator new (size_t, void *ptr)
 
void operator delete (void *, void *)
 
void * operator new (size_t)
 
void operator delete (void *)
 
void live (size_t)
 
void liveGeneral (int)
 
RexxStringgetDefaultEnvironment ()
 
RexxActivitygetRootActivity ()
 
 InterpreterInstance (ExitHandler *handlers)
 
void addActivity (RexxActivity *)
 
void removeActivity (RexxActivity *)
 
void initialize (RexxActivity *activity, RexxOption *options)
 
bool terminate ()
 
void waitForCompletion ()
 
void attachToProcess ()
 
RexxActivityenterOnCurrentThread ()
 
RexxActivityattachThread ()
 
int attachThread (RexxThreadContext *&attachedContext)
 
bool detachThread ()
 
bool detachThread (RexxActivity *activity)
 
RexxActivityspawnActivity (RexxActivity *parent)
 
void exitCurrentThread ()
 
RexxActivityfindActivity (thread_id_t threadId)
 
RexxActivityfindActivity ()
 
void copyExits (ExitHandler *target)
 
void activityDeactivated (RexxActivity *activity)
 
void addGlobalReference (RexxObject *o)
 
void removeGlobalReference (RexxObject *o)
 
bool poolActivity (RexxActivity *activity)
 
ExitHandlergetExitHandler (int exitNum)
 
void setExitHandler (int exitNum, REXXPFN e)
 
void setExitHandler (int exitNum, const char *e)
 
void setExitHandler (RXSYSEXIT &e)
 
void setExitHandler (RexxContextExit &e)
 
void removeInactiveActivities ()
 
bool haltAllActivities (RexxString *)
 
void traceAllActivities (bool on)
 
RexxStringresolveProgramName (RexxString *name, RexxString *dir, RexxString *ext)
 
SecurityManagergetSecurityManager ()
 
void setSecurityManager (RexxObject *m)
 
RexxInstancegetInstanceContext ()
 
RexxThreadContextgetRootThreadContext ()
 
RexxObjectgetLocalEnvironment (RexxString *)
 
RexxDirectorygetLocal ()
 
void addCommandHandler (const char *name, const char *registeredName)
 
void addCommandHandler (const char *name, REXXPFN entryPoint)
 
CommandHandlerresolveCommandHandler (RexxString *name)
 
PackageClassgetRequiresFile (RexxActivity *activity, RexxString *name)
 
PackageClassloadRequires (RexxActivity *activity, RexxString *shortName, const char *data, size_t length)
 
PackageClassloadRequires (RexxActivity *activity, RexxString *shortName, RexxArray *source)
 
PackageClassloadRequires (RexxActivity *activity, RexxString *shortName, RexxString *fullName)
 
void runRequires (RexxActivity *activity, RexxString *name, RoutineClass *code)
 
void addRequiresFile (RexxString *shortName, RexxString *fullName, PackageClass *package)
 
void setupProgram (RexxActivation *activation)
 
- Public Member Functions inherited from RexxInternalObject
void * operator new (size_t, RexxClass *)
 
void * operator new (size_t, RexxClass *, RexxObject **, size_t, size_t)
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *)
 
void operator delete (void *p, void *ptr)
 
 RexxInternalObject ()
 
 RexxInternalObject (RESTORETYPE restoreType)
 
virtual ~RexxInternalObject ()
 
 operator RexxObject * ()
 
size_t getObjectSize ()
 
void setObjectSize (size_t s)
 
size_t getObjectDataSize ()
 
void * getObjectDataSpace ()
 
void clearObject ()
 
void clearObject (size_t l)
 
void setVirtualFunctions (void *t)
 
void setInitHeader (size_t s, size_t markword)
 
void setInitHeader (size_t markword)
 
void setObjectLive (size_t markword)
 
void setHasReferences ()
 
void setHasNoReferences ()
 
bool hasReferences ()
 
bool hasNoReferences ()
 
void setPrimitive ()
 
void setNonPrimitive ()
 
bool isPrimitive ()
 
bool isNonPrimitive ()
 
void setInRexxPackage ()
 
bool isInRexxPackage ()
 
bool isObjectMarked (size_t markword)
 
void setObjectMark (size_t markword)
 
void clearObjectMark ()
 
bool isObjectLive (size_t mark)
 
bool isObjectDead (size_t mark)
 
bool isOldSpace ()
 
bool isNewSpace ()
 
void setNewSpace ()
 
void setOldSpace ()
 
void makeProxiedObject ()
 
bool isProxyObject ()
 
bool isSubClassOrEnhanced ()
 
bool isBaseClass ()
 
size_t getObjectTypeNumber ()
 
RexxBehaviourgetObjectType ()
 
bool isObjectType (RexxBehaviour *b)
 
bool isObjectType (size_t t)
 
bool isSameType (RexxInternalObject *o)
 
void setBehaviour (RexxBehaviour *b)
 
virtual RexxObjectmakeProxy (RexxEnvelope *)
 
virtual RexxObjectcopy ()
 
virtual RexxObjectevaluate (RexxActivation *, RexxExpressionStack *)
 
virtual RexxObjectgetValue (RexxActivation *)
 
virtual RexxObjectgetValue (RexxVariableDictionary *)
 
virtual RexxObjectgetRealValue (RexxActivation *)
 
virtual RexxObjectgetRealValue (RexxVariableDictionary *)
 
virtual void uninit ()
 
virtual HashCode hash ()
 
virtual HashCode getHashValue ()
 
HashCode identityHash ()
 
virtual bool truthValue (int)
 
virtual bool logicalValue (logical_t &)
 
virtual RexxStringmakeString ()
 
virtual RexxTextmakeText ()
 
virtual void copyIntoTail (RexxCompoundTail *buffer)
 
virtual RexxStringprimitiveMakeString ()
 
virtual RexxTextprimitiveMakeText ()
 
virtual RexxArraymakeArray ()
 
virtual RexxStringstringValue ()
 
virtual RexxTexttextValue ()
 
virtual RexxIntegerintegerValue (size_t)
 
virtual bool numberValue (wholenumber_t &result, size_t precision)
 
virtual bool numberValue (wholenumber_t &result)
 
virtual bool unsignedNumberValue (stringsize_t &result, size_t precision)
 
virtual bool unsignedNumberValue (stringsize_t &result)
 
virtual bool doubleValue (double &result)
 
virtual RexxNumberStringnumberString ()
 
virtual bool isEqual (RexxObject *)
 
virtual bool isInstanceOf (RexxClass *)
 
virtual RexxMethodinstanceMethod (RexxString *)
 
virtual RexxSupplierinstanceMethods (RexxClass *)
 
virtual RexxObjectdynamicTarget (RexxObject **arguments, size_t count, size_t named_count)
 
void hasUninit ()
 
void removedUninit ()
 
void printObject ()
 
RexxObjectclone ()
 
- Public Member Functions inherited from RexxVirtualBase
virtual void flatten (RexxEnvelope *)
 
virtual RexxObjectunflatten (RexxEnvelope *)
 

Protected Member Functions

bool processOptions (RexxOption *options)
 
- Protected Member Functions inherited from RexxVirtualBase
virtual ~RexxVirtualBase ()
 
virtual void baseVirtual ()
 

Protected Attributes

InstanceContext context
 
SysInterpreterInstance sysInstance
 
RexxActivityrootActivity
 
SecurityManagersecurityManager
 
RexxListallActivities
 
RexxIdentityTableglobalReferences
 
RexxStringdefaultEnvironment
 
RexxStringsearchPath
 
RexxListsearchExtensions
 
void * applicationData
 
RexxDirectorylocalEnvironment
 
RexxDirectorycommandHandlers
 
RexxDirectoryrequiresFiles
 
bool terminating
 
bool terminated
 
SysSemaphore terminationSem
 
ExitHandler exits [RXNOOFEXITS+1]
 

Static Protected Attributes

static RexxInstanceInterface interfaceVector
 

Friends

class SysInterpreterInstance
 

Additional Inherited Members

- Static Public Member Functions inherited from RexxInternalObject
static size_t getObjectHeaderSize ()
 
- Public Attributes inherited from RexxInternalObject
ObjectHeader header
 
RexxBehaviourbehaviour
 

Detailed Description

Definition at line 55 of file InterpreterInstance.hpp.

Constructor & Destructor Documentation

◆ InterpreterInstance() [1/3]

InterpreterInstance::InterpreterInstance ( RESTORETYPE  restoreType)
inline

Definition at line 63 of file InterpreterInstance.hpp.

◆ InterpreterInstance() [2/3]

◆ InterpreterInstance() [3/3]

InterpreterInstance::InterpreterInstance ( ExitHandler handlers)

Member Function Documentation

◆ activityDeactivated()

void InterpreterInstance::activityDeactivated ( RexxActivity activity)

◆ addActivity()

void InterpreterInstance::addActivity ( RexxActivity )

◆ addCommandHandler() [1/2]

void InterpreterInstance::addCommandHandler ( const char *  name,
const char *  registeredName 
)

Add a handler for a registered subcom handler to the address handler list.

Parameters
nameThe environment name of the handler.
registeredNameThe name of the registered subcom handler.

Definition at line 779 of file InterpreterInstance.cpp.

References commandHandlers, CommandHandler::isResolved(), new_upper_string(), and RexxDirectory::put().

Referenced by processOptions(), and SysInterpreterInstance::registerCommandHandlers().

◆ addCommandHandler() [2/2]

void InterpreterInstance::addCommandHandler ( const char *  name,
REXXPFN  entryPoint 
)

Add a handler to the environment list.

Parameters
nameThe name of the address environment this services.
entryPointThe entry point address of the handler.

Definition at line 765 of file InterpreterInstance.cpp.

References commandHandlers, new_upper_string(), and RexxDirectory::put().

◆ addGlobalReference()

void InterpreterInstance::addGlobalReference ( RexxObject o)

Add an object to the global references table.

Parameters
oThe added object.

Definition at line 516 of file InterpreterInstance.cpp.

References globalReferences, OREF_NULL, and RexxIdentityTable::put().

Referenced by RequestGlobalReference().

◆ addRequiresFile()

void InterpreterInstance::addRequiresFile ( RexxString shortName,
RexxString fullName,
PackageClass package 
)

Add a package to our cache, using weak references.

Parameters
shortNameThe shortName (always provided).
fullNameA second, fully resolved alias name.
packageThe package to add

Definition at line 853 of file InterpreterInstance.cpp.

References OREF_NULL, RexxDirectory::put(), and requiresFiles.

Referenced by loadRequires().

◆ attachThread() [1/2]

RexxActivity * InterpreterInstance::attachThread ( )

Attach a thread to an interpreter instance.

Returns
The attached activity.

Definition at line 195 of file InterpreterInstance.cpp.

References allActivities, RexxList::append(), ActivityManager::attachThread(), findActivity(), RexxActivity::nestAttach(), OREF_NULL, and RexxActivity::setupAttachedActivity().

Referenced by AttachThread(), attachThread(), and enterOnCurrentThread().

◆ attachThread() [2/2]

int InterpreterInstance::attachThread ( RexxThreadContext *&  attachedContext)

Attach a thread to an interpreter instance, returning the activity thread context.

Parameters
attachedContextThe pointer for returning the thread context.
Returns
0 indicates success.

Definition at line 179 of file InterpreterInstance.cpp.

References attachThread(), RexxActivity::getThreadContext(), and RexxActivity::releaseAccess().

◆ attachToProcess()

void InterpreterInstance::attachToProcess ( )

◆ copyExits()

void InterpreterInstance::copyExits ( ExitHandler target)

◆ detachThread() [1/2]

bool InterpreterInstance::detachThread ( )

Detach a thread from this interpreter instance.

Returns
true if this worked ok.

Definition at line 273 of file InterpreterInstance.cpp.

References findActivity().

Referenced by RexxActivity::detachThread().

◆ detachThread() [2/2]

bool InterpreterInstance::detachThread ( RexxActivity activity)

◆ enterOnCurrentThread()

RexxActivity * InterpreterInstance::enterOnCurrentThread ( )

Enter on the current thread context, making sure the interpreter lock is obtained.

Returns
The activity object associated with this thread/instance combination.

Definition at line 386 of file InterpreterInstance.cpp.

References RexxActivity::activate(), attachThread(), and RexxActivity::requestAccess().

Referenced by terminate().

◆ exitCurrentThread()

void InterpreterInstance::exitCurrentThread ( )

We're leaving the current thread. So we need to deactivate this.

Definition at line 408 of file InterpreterInstance.cpp.

References RexxActivity::exitCurrentThread(), and findActivity().

Referenced by terminate().

◆ findActivity() [1/2]

RexxActivity * InterpreterInstance::findActivity ( )

Find an activity for the current thread that's associated with this activity.

Returns
The target activity.

Definition at line 373 of file InterpreterInstance.cpp.

References SysActivity::queryThreadID().

Referenced by attachThread(), detachThread(), exitCurrentThread(), and terminate().

◆ findActivity() [2/2]

RexxActivity * InterpreterInstance::findActivity ( thread_id_t  threadId)

Locate an activity for a specific thread ID that's attached to this instance.

Parameters
threadIdThe target thread id.
Returns
The associated activity, or OREF_NULL if the current thread is not attached.

Definition at line 345 of file InterpreterInstance.cpp.

References allActivities, RexxList::getValue(), RexxActivity::isSuspended(), RexxActivity::isThread(), RexxList::lastIndex(), LIST_END, OREF_NULL, and RexxList::previousIndex().

◆ getDefaultEnvironment()

RexxString* InterpreterInstance::getDefaultEnvironment ( )
inline

◆ getExitHandler()

ExitHandler& InterpreterInstance::getExitHandler ( int  exitNum)
inline

Definition at line 97 of file InterpreterInstance.hpp.

References exits.

Referenced by setExitHandler(), and RexxActivity::setupExits().

◆ getInstanceContext()

RexxInstance* InterpreterInstance::getInstanceContext ( )
inline

◆ getLocal()

RexxDirectory* InterpreterInstance::getLocal ( )
inline

Definition at line 111 of file InterpreterInstance.hpp.

References localEnvironment.

Referenced by RexxActivity::getLocal().

◆ getLocalEnvironment()

RexxObject * InterpreterInstance::getLocalEnvironment ( RexxString name)

Retrieve a value from the instance local environment.

Parameters
nameThe name of the .local object.
Returns
The object stored at the given name.

Definition at line 750 of file InterpreterInstance.cpp.

References RexxDirectory::at(), localEnvironment, OREF_NULL, and TheNilObject.

Referenced by RexxActivity::getLocalEnvironment().

◆ getRequiresFile()

PackageClass * InterpreterInstance::getRequiresFile ( RexxActivity activity,
RexxString name 
)

Retrieve a requires file that might be loaded for this instance.

Parameters
nameThe name used for the requires file.
Returns
The loaded requires file, or OREF_NULL if this instance has not used the file yet.

Definition at line 826 of file InterpreterInstance.cpp.

References WeakReference::get(), RexxHashTableCollection::get(), OREF_NULL, RexxDirectory::remove(), requiresFiles, and ThePackageClass.

◆ getRootActivity()

RexxActivity* InterpreterInstance::getRootActivity ( )
inline

◆ getRootThreadContext()

RexxThreadContext * InterpreterInstance::getRootThreadContext ( )

Get the thread context vector for the root activity of the instance.

Returns
The root RexxThreadContext environment;

Definition at line 737 of file InterpreterInstance.cpp.

References RexxActivity::getThreadContext(), and rootActivity.

Referenced by Interpreter::createInstance().

◆ getSecurityManager()

SecurityManager* InterpreterInstance::getSecurityManager ( )
inline

◆ haltAllActivities()

bool InterpreterInstance::haltAllActivities ( RexxString name)

Raise a halt condition on all running activities.

Definition at line 541 of file InterpreterInstance.cpp.

References allActivities, RexxList::firstIndex(), RexxList::getValue(), RexxActivity::halt(), RexxActivity::isActive(), LIST_END, RexxList::nextIndex(), and OREF_NULL.

Referenced by Halt(), and Interpreter::haltAllActivities().

◆ initialize()

void InterpreterInstance::initialize ( RexxActivity activity,
RexxOption options 
)

Initialize an interpreter instance.

Parameters
activityThe root activity for the interpreter instance.
handlersThe exit handlers used by all threads running under this instance.
defaultEnvironmentThe default address environment for this interpreter instance. Each active interpreter instance can define its own default environment.

Definition at line 126 of file InterpreterInstance.cpp.

References allActivities, RexxList::append(), commandHandlers, defaultEnvironment, SystemInterpreter::getDefaultAddressName(), globalReferences, SysInterpreterInstance::initialize(), Interpreter::initLocal(), localEnvironment, new_directory(), new_identity_table(), new_list(), OREF_NULL, processOptions(), SysInterpreterInstance::registerCommandHandlers(), requiresFiles, rootActivity, searchExtensions, securityManager, RexxActivity::setupAttachedActivity(), RexxActivity::setupExits(), and sysInstance.

Referenced by Interpreter::createInterpreterInstance().

◆ live()

void InterpreterInstance::live ( size_t  liveMark)
virtual

◆ liveGeneral()

void InterpreterInstance::liveGeneral ( int  reason)
virtual

◆ loadRequires() [1/3]

PackageClass * InterpreterInstance::loadRequires ( RexxActivity activity,
RexxString shortName,
const char *  data,
size_t  length 
)

Load a ::requires file into this interpreter instance.

Parameters
activityThe current activity we're loading on.,
shortNameThe original short name of this package.
dataThe source file data.
lengthThe length of the source data.
Returns
The loaded package class, if located.

Definition at line 995 of file InterpreterInstance.cpp.

References addRequiresFile(), Error_Routine_not_found_requires, PackageManager::loadRequires(), OREF_NULL, reportException(), runRequires(), and ThePackageClass.

Referenced by LoadPackage(), LoadPackageFromData(), and RexxSource::loadRequires().

◆ loadRequires() [2/3]

PackageClass * InterpreterInstance::loadRequires ( RexxActivity activity,
RexxString shortName,
RexxArray source 
)

Load a ::requires file into this interpreter instance.

Parameters
activityThe current activity we're loading on.,
shortNameThe original short name of this package.
fullNameAn expanded fully resolved file name.
Returns
The loaded package class, if located.

Definition at line 952 of file InterpreterInstance.cpp.

References addRequiresFile(), Error_Routine_not_found_requires, PackageManager::loadRequires(), OREF_NULL, reportException(), runRequires(), and ThePackageClass.

◆ loadRequires() [3/3]

PackageClass * InterpreterInstance::loadRequires ( RexxActivity activity,
RexxString shortName,
RexxString fullName 
)

Load a ::requires file into this interpreter instance.

Parameters
activityThe current activity we're loading on.,
shortNameThe original short name of this package.
fullNameAn expanded fully resolved file name.
Returns
The loaded package class, if located.

Definition at line 892 of file InterpreterInstance.cpp.

References addRequiresFile(), Error_Routine_not_found_requires, PackageManager::loadRequires(), new_string(), OREF_NULL, reportException(), runRequires(), BaseExecutable::setName(), and ThePackageClass.

◆ operator delete() [1/2]

void InterpreterInstance::operator delete ( void *  )
inline

Definition at line 69 of file InterpreterInstance.hpp.

◆ operator delete() [2/2]

void InterpreterInstance::operator delete ( void *  ,
void *   
)
inline

Definition at line 67 of file InterpreterInstance.hpp.

◆ operator new() [1/2]

void * InterpreterInstance::operator new ( size_t  size)

Create a new Package object instance.

Parameters
sizeSize of the object.
Returns
Pointer to new object storage.

Definition at line 61 of file InterpreterInstance.cpp.

References new_object(), and T_InterpreterInstance.

◆ operator new() [2/2]

void* InterpreterInstance::operator new ( size_t  ,
void *  ptr 
)
inline

Definition at line 66 of file InterpreterInstance.hpp.

◆ poolActivity()

bool InterpreterInstance::poolActivity ( RexxActivity activity)

Return a spawned activity back to the activity pool. This will disassociate the activity from the interpreter instance and place the thread back into the global thread pool.

Parameters
activityThe activity to return.
Returns
true if the activity was added to the pool, false if the activity should continue with termination.

Definition at line 312 of file InterpreterInstance.cpp.

References allActivities, RexxActivity::detachInstance(), RexxList::items(), ActivityManager::poolActivity(), SysSemaphore::post(), RexxList::removeItem(), terminating, and terminationSem.

Referenced by RexxActivity::runThread().

◆ processOptions()

◆ removeActivity()

void InterpreterInstance::removeActivity ( RexxActivity )

◆ removeGlobalReference()

void InterpreterInstance::removeGlobalReference ( RexxObject o)

Remove the global reference protection from an object.

Parameters
oThe protected object.

Definition at line 529 of file InterpreterInstance.cpp.

References globalReferences, OREF_NULL, and RexxIdentityTable::remove().

Referenced by ReleaseGlobalReference().

◆ removeInactiveActivities()

void InterpreterInstance::removeInactiveActivities ( )

◆ resolveCommandHandler()

CommandHandler * InterpreterInstance::resolveCommandHandler ( RexxString name)

Resolve a command handler for invoking a command.

Parameters
nameThe name of the target address environment.
Returns
The resolved handler, or OREF_NULL if this is not known.

Definition at line 798 of file InterpreterInstance.cpp.

References RexxDirectory::at(), commandHandlers, RexxString::getStringData(), CommandHandler::isResolved(), OREF_NULL, RexxDirectory::put(), and RexxString::upper().

Referenced by RexxActivity::resolveCommandHandler().

◆ resolveProgramName()

RexxString* InterpreterInstance::resolveProgramName ( RexxString name,
RexxString dir,
RexxString ext 
)
inline

◆ runRequires()

void InterpreterInstance::runRequires ( RexxActivity activity,
RexxString name,
RoutineClass code 
)

Do the initial run of a ::REQUIRES file.

Parameters
activityThe current activity.
nameThe name of the requires file.
codeThe routine instance to run.

Definition at line 871 of file InterpreterInstance.cpp.

References RexxActivity::addRunningRequires(), RoutineClass::call(), and RexxActivity::removeRunningRequires().

Referenced by loadRequires().

◆ setExitHandler() [1/4]

void InterpreterInstance::setExitHandler ( int  exitNum,
const char *  e 
)
inline

Definition at line 99 of file InterpreterInstance.hpp.

References getExitHandler(), and ExitHandler::resolve().

◆ setExitHandler() [2/4]

void InterpreterInstance::setExitHandler ( int  exitNum,
REXXPFN  e 
)
inline

Definition at line 98 of file InterpreterInstance.hpp.

References getExitHandler(), and ExitHandler::setEntryPoint().

Referenced by processOptions().

◆ setExitHandler() [3/4]

void InterpreterInstance::setExitHandler ( RexxContextExit e)
inline

◆ setExitHandler() [4/4]

void InterpreterInstance::setExitHandler ( RXSYSEXIT e)
inline

◆ setSecurityManager()

void InterpreterInstance::setSecurityManager ( RexxObject m)

Set a new security manager object for this instance.

Parameters
mThe security manager to set.

Definition at line 164 of file InterpreterInstance.cpp.

References securityManager.

◆ setupProgram()

void InterpreterInstance::setupProgram ( RexxActivation activation)
inline

Definition at line 121 of file InterpreterInstance.hpp.

References SysInterpreterInstance::setupProgram(), and sysInstance.

Referenced by RexxActivation::run().

◆ spawnActivity()

RexxActivity * InterpreterInstance::spawnActivity ( RexxActivity parent)

Spawn off a new thread from an existing thread.

Parameters
parentThe parent thread.
Returns
The attached activity.

Definition at line 288 of file InterpreterInstance.cpp.

References RexxActivity::addToInstance(), allActivities, RexxList::append(), and ActivityManager::createNewActivity().

Referenced by RexxActivity::spawnReply().

◆ terminate()

◆ traceAllActivities()

void InterpreterInstance::traceAllActivities ( bool  on)

Raise a trace condition on all running activities.

Definition at line 567 of file InterpreterInstance.cpp.

References allActivities, RexxList::firstIndex(), RexxList::getValue(), RexxActivity::isActive(), LIST_END, RexxList::nextIndex(), and RexxActivity::setTrace().

Referenced by SetTrace().

◆ waitForCompletion()

void InterpreterInstance::waitForCompletion ( )

Friends And Related Function Documentation

◆ SysInterpreterInstance

friend class SysInterpreterInstance
friend

Definition at line 59 of file InterpreterInstance.hpp.

Member Data Documentation

◆ allActivities

◆ applicationData

void* InterpreterInstance::applicationData
protected

Definition at line 141 of file InterpreterInstance.hpp.

◆ commandHandlers

RexxDirectory* InterpreterInstance::commandHandlers
protected

◆ context

InstanceContext InterpreterInstance::context
protected

◆ defaultEnvironment

RexxString* InterpreterInstance::defaultEnvironment
protected

◆ exits

ExitHandler InterpreterInstance::exits[RXNOOFEXITS+1]
protected

Definition at line 151 of file InterpreterInstance.hpp.

Referenced by getExitHandler().

◆ globalReferences

RexxIdentityTable* InterpreterInstance::globalReferences
protected

◆ interfaceVector

RexxInstanceInterface InterpreterInstance::interfaceVector
staticprotected
Initial value:
=
{
}
logical_t RexxEntry AttachThread(RexxInstance *c, RexxThreadContext **tc)
void RexxEntry SetTrace(RexxInstance *c, logical_t setting)
size_t RexxEntry LanguageLevel(RexxInstance *)
void RexxEntry Halt(RexxInstance *c)
void RexxEntry Terminate(RexxInstance *c)
size_t RexxEntry InterpreterVersion(RexxInstance *)
#define INSTANCE_INTERFACE_VERSION
Definition: oorexxapi.h:435

Definition at line 153 of file InterpreterInstance.hpp.

Referenced by InterpreterInstance().

◆ localEnvironment

RexxDirectory* InterpreterInstance::localEnvironment
protected

Definition at line 142 of file InterpreterInstance.hpp.

Referenced by getLocal(), getLocalEnvironment(), initialize(), live(), and liveGeneral().

◆ requiresFiles

RexxDirectory* InterpreterInstance::requiresFiles
protected

◆ rootActivity

RexxActivity* InterpreterInstance::rootActivity
protected

◆ searchExtensions

◆ searchPath

RexxString* InterpreterInstance::searchPath
protected

◆ securityManager

SecurityManager* InterpreterInstance::securityManager
protected

◆ sysInstance

SysInterpreterInstance InterpreterInstance::sysInstance
protected

Definition at line 132 of file InterpreterInstance.hpp.

Referenced by initialize(), resolveProgramName(), setupProgram(), and terminate().

◆ terminated

bool InterpreterInstance::terminated
protected

Definition at line 147 of file InterpreterInstance.hpp.

Referenced by terminate().

◆ terminating

bool InterpreterInstance::terminating
protected

Definition at line 146 of file InterpreterInstance.hpp.

Referenced by detachThread(), poolActivity(), and terminate().

◆ terminationSem

SysSemaphore InterpreterInstance::terminationSem
protected

The documentation for this class was generated from the following files: