RexxDirectory Class Reference

#include <DirectoryClass.hpp>

Inheritance diagram for RexxDirectory:
[legend]

Public Member Functions

void * operator new (size_t size, void *objectPtr)
 
 RexxDirectory (RESTORETYPE restoreType)
 
void live (size_t)
 
void liveGeneral (int reason)
 
void flatten (RexxEnvelope *)
 
RexxObjectunflatten (RexxEnvelope *)
 
RexxObjectcopy ()
 
RexxArraymakeArray ()
 
RexxArrayrequestArray ()
 
RexxObjectmergeItem (RexxObject *, RexxObject *)
 
RexxObjectat (RexxString *)
 
RexxObjectfastAt (RexxString *name)
 
RexxObjectatRexx (RexxString *)
 
RexxObjectput (RexxObject *, RexxString *)
 
RexxObjectentry (RexxString *)
 
RexxObjectentryRexx (RexxString *)
 
RexxObjecthasEntry (RexxString *)
 
RexxObjecthasIndex (RexxString *)
 
size_t items ()
 
RexxObjectitemsRexx ()
 
RexxObjectremove (RexxString *)
 
RexxObjectremoveRexx (RexxString *)
 
RexxObjectsetEntry (RexxString *, RexxObject *)
 
RexxObjectsetMethod (RexxString *, RexxMethod *)
 
RexxObjectunknown (RexxString *, RexxArray *, RexxDirectory *)
 
RexxSuppliersupplier ()
 
RexxArrayallItems ()
 
RexxArrayallIndexes ()
 
void reset ()
 
RexxObjectempty ()
 
RexxObjectisEmpty ()
 
RexxObjectindexRexx (RexxObject *)
 
RexxObjecthasItem (RexxObject *)
 
RexxObjectremoveItem (RexxObject *)
 
RexxObjectnewRexx (RexxObject **init_args, size_t, size_t)
 
RexxArrayallIndexesItems (void)
 
size_t pushAllIndexesItemsTo (RexxExpressionStack *stack)
 
size_t appendAllIndexesItemsTo (RexxArray *array, size_t from)
 
- Public Member Functions inherited from RexxHashTableCollection
RexxObjectmakeProxy (RexxEnvelope *)
 
virtual RexxObjectremove (RexxObject *key)
 
virtual RexxObjectget (RexxObject *key)
 
virtual RexxObjectput (RexxObject *, RexxObject *)
 
virtual RexxObjectadd (RexxObject *, RexxObject *)
 
virtual RexxObjectgetIndex (RexxObject *value)
 
RexxObjectcopyValues (int depth)
 
RexxObjectremoveRexx (RexxObject *)
 
RexxObjectgetRexx (RexxObject *)
 
RexxObjectputRexx (RexxObject *, RexxObject *)
 
RexxObjectaddRexx (RexxObject *, RexxObject *)
 
RexxObjecthasIndexRexx (RexxObject *)
 
RexxObjecthasItemRexx (RexxObject *)
 
RexxObjectremoveItemRexx (RexxObject *value)
 
RexxObjectallAt (RexxObject *)
 
RexxObjectindexRexx (RexxObject *value)
 
RexxSuppliersupplier ()
 
RexxObjectmerge (RexxHashTableCollection *)
 
RexxArrayallItems ()
 
RexxArrayallIndexes ()
 
RexxArrayuniqueIndexes ()
 
RexxObjectempty ()
 
RexxObjectisEmpty ()
 
HashLink items ()
 
HashLink first ()
 
HashLink next (HashLink pos)
 
RexxObjectvalue (HashLink pos)
 
RexxObjectindex (HashLink pos)
 
bool available (HashLink pos)
 
- Public Member Functions inherited from RexxObject
void * operator new (size_t, RexxClass *)
 
void * operator new (size_t, RexxClass *, RexxObject **, size_t, size_t)
 
void * operator new (size_t size, void *objectPtr)
 
void operator delete (void *, void *)
 
void operator delete (void *)
 
void operator delete (void *, RexxClass *)
 
void operator delete (void *, RexxClass *, RexxObject **, size_t)
 
RexxObjectnewRexx (RexxObject **arguments, size_t argCount, size_t named_argCount)
 
RexxObjectnewObject ()
 
 operator RexxInternalObject * ()
 
 RexxObject ()
 
 RexxObject (RESTORETYPE restoreType)
 
void initializeNewObject (size_t size, size_t mark, void *vft, RexxBehaviour *b)
 
void initializeNewObject (size_t mark, void *vft, RexxBehaviour *b)
 
virtual ~RexxObject ()
 
virtual RexxObjectdefMethod (RexxString *, RexxMethod *, RexxString *a=OREF_NULL)
 
virtual RexxStringdefaultName ()
 
virtual RexxIntegerhasMethod (RexxString *msg)
 
bool hasUninitMethod ()
 
RexxObjectinit ()
 
void uninit ()
 
HashCode hash ()
 
bool truthValue (int)
 
virtual bool logicalValue (logical_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)
 
RexxNumberStringnumberString ()
 
RexxIntegerintegerValue (size_t)
 
RexxStringmakeString ()
 
RexxTextmakeText ()
 
void copyIntoTail (RexxCompoundTail *buffer)
 
RexxStringstringValue ()
 
RexxTexttextValue ()
 
RexxStringrequestString ()
 
RexxStringrequestStringNoNOSTRING ()
 
RexxTextrequestText ()
 
RexxIntegerrequestInteger (size_t)
 
bool requestNumber (wholenumber_t &, size_t)
 
bool requestUnsignedNumber (stringsize_t &, size_t)
 
RexxArrayrequestArray ()
 
RexxDirectoryrequestDirectory ()
 
RexxStringrequiredString (RexxString *kind, size_t)
 
RexxStringrequiredString (RexxString *kind, const char *)
 
RexxStringrequiredString ()
 
RexxIntegerrequiredInteger (RexxString *kind, size_t, size_t)
 
wholenumber_t requiredNumber (RexxString *kind, size_t position, size_t precision=Numerics::ARGUMENT_DIGITS)
 
stringsize_t requiredPositive (RexxString *kind, size_t position, size_t precision=Numerics::ARGUMENT_DIGITS)
 
stringsize_t requiredNonNegative (RexxString *kind, size_t position, size_t precision=Numerics::ARGUMENT_DIGITS)
 
bool isEqual (RexxObject *)
 
bool isInstanceOf (RexxClass *)
 
RexxObjectisInstanceOfRexx (RexxClass *)
 
RexxObjectisNilRexx ()
 
RexxMethodinstanceMethod (RexxString *)
 
RexxSupplierinstanceMethods (RexxClass *)
 
RexxMethodinstanceMethodRexx (RexxString *)
 
RexxSupplierinstanceMethodsRexx (RexxClass *)
 
RexxObjectdynamicTargetRexx (RexxObject **arguments, size_t argCount, size_t named_argCount)
 
RexxStringobjectName ()
 
RexxObjectobjectNameEquals (RexxObject *)
 
RexxClassclassObject ()
 
RexxObjectsetMethod (RexxString *, RexxMethod *, RexxString *a=OREF_NULL)
 
RexxObjectunsetMethod (RexxString *)
 
RexxObjectrequestRexx (RexxString *)
 
RexxMessagestart (RexxObject **, size_t, size_t)
 
RexxMessagestartWith (RexxObject *, RexxArray *, RexxObject **, size_t)
 
RexxObjectsend (RexxObject **, size_t, size_t)
 
RexxObjectsendWith (RexxObject *, RexxArray *, RexxObject **, size_t)
 
RexxMessagestartCommon (RexxObject *message, RexxObject **arguments, size_t argCount, size_t named_argCount)
 
RexxStringoref ()
 
RexxObjectpmdict ()
 
RexxObjectrun (RexxObject **, size_t, size_t)
 
bool messageSend (RexxString *, RexxObject **, size_t, size_t, ProtectedObject &, bool processUnknown=true, bool dynamicTarget=true)
 
bool messageSend (RexxString *, RexxObject **, size_t, size_t, RexxObject *, ProtectedObject &, bool processUnknown=true, bool dynamicTarget=true)
 
RexxMethodcheckPrivate (RexxMethod *, RexxErrorCodes &)
 
RexxMethodcheckPackage (RexxMethod *, RexxErrorCodes &)
 
void processUnknown (RexxErrorCodes, RexxString *, RexxObject **, size_t, size_t, ProtectedObject &)
 
void processProtectedMethod (RexxString *, RexxMethod *, RexxObject **, size_t, size_t, ProtectedObject &)
 
void sendMessage (RexxString *, RexxArray *, RexxDirectory *, ProtectedObject &)
 
void sendMessage (RexxString *message, RexxObject **args, size_t argCount, size_t named_argCount, ProtectedObject &result)
 
void sendMessage (RexxString *message, ProtectedObject &result)
 
void sendMessage (RexxString *message, RexxObject *argument1, ProtectedObject &result)
 
void sendMessage (RexxString *, RexxObject *, RexxObject *, ProtectedObject &)
 
void sendMessage (RexxString *, RexxObject *, RexxObject *, RexxObject *, ProtectedObject &)
 
void sendMessage (RexxString *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, ProtectedObject &)
 
void sendMessage (RexxString *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, ProtectedObject &)
 
RexxObjectsendMessage (RexxString *, RexxArray *, RexxDirectory *=OREF_NULL)
 
RexxObjectsendMessage (RexxString *message, RexxObject **args, size_t argCount, size_t named_argCount)
 
RexxObjectsendMessage (RexxString *message)
 
RexxObjectsendMessage (RexxString *message, RexxObject *argument1)
 
RexxObjectsendMessage (RexxString *, RexxObject *, RexxObject *)
 
RexxObjectsendMessage (RexxString *, RexxObject *, RexxObject *, RexxObject *)
 
RexxObjectsendMessage (RexxString *, RexxObject *, RexxObject *, RexxObject *, RexxObject *)
 
RexxObjectsendMessage (RexxString *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *)
 
RexxObjectdefMethods (RexxDirectory *)
 
void setObjectVariable (RexxString *, RexxObject *, RexxObject *)
 
RexxObjectgetObjectVariable (RexxString *)
 
RexxObjectgetObjectVariable (RexxString *, RexxObject *)
 
void addObjectVariables (RexxVariableDictionary *)
 
void copyObjectVariables (RexxObject *newObject)
 
RexxObjectsuperScope (RexxObject *)
 
RexxMethodsuperMethod (RexxString *, RexxObject *)
 
RexxObjectmdict ()
 
RexxObjectsetMdict (RexxObject *)
 
RexxBehaviourbehaviourObject ()
 
const char * idString ()
 
RexxStringid ()
 
RexxMethodmethodLookup (RexxString *name)
 
RexxVariableDictionarygetObjectVariables (RexxObject *)
 
void guardOn (RexxActivity *activity, RexxObject *scope)
 
void guardOff (RexxActivity *activity, RexxObject *scope)
 
RexxObjectequal (RexxObject *)
 
RexxObjectnotEqual (RexxObject *other)
 
RexxObjectstrictEqual (RexxObject *)
 
RexxObjectstrictNotEqual (RexxObject *other)
 
RexxIntegeridentityHashRexx ()
 
RexxObjecthashCode ()
 
RexxStringstringRexx ()
 
RexxStringconcatRexx (RexxObject *)
 
RexxStringconcatBlank (RexxObject *)
 
RexxObjectmakeStringRexx ()
 
RexxObjectmakeArrayRexx ()
 
RexxStringdefaultNameRexx ()
 
RexxObjectcopyRexx ()
 
RexxObjectunknownRexx (RexxString *, RexxArray *, RexxObject **, size_t)
 
RexxObjecthasMethodRexx (RexxString *)
 
void * getCSelf ()
 
void * getCSelf (RexxObject *scope)
 
bool equalValue (RexxObject *other)
 
virtual wholenumber_t compareTo (RexxObject *)
 
 koper (operator_plus) koper(operator_minus) koper(operator_multiply) koper(operator_divide) koper(operator_integerDivide) koper(operator_remainder) koper(operator_power) koper(operator_abuttal) koper(operator_concat) koper(operator_concatBlank) koper(operator_equal) koper(operator_notEqual) koper(operator_isGreaterThan) koper(operator_isBackslashGreaterThan) koper(operator_isLessThan) koper(operator_isBackslashLessThan) koper(operator_isGreaterOrEqual) koper(operator_isLessOrEqual) koper(operator_strictEqual) koper(operator_strictNotEqual) koper(operator_strictGreaterThan) koper(operator_strictBackslashGreaterThan) koper(operator_strictLessThan) koper(operator_strictBackslashLessThan) koper(operator_strictGreaterOrEqual) koper(operator_strictLessOrEqual) koper(operator_lessThanGreaterThan) koper(operator_greaterThanLessThan) koper(operator_and) koper(operator_or) koper(operator_xor) koper(operator_not) RexxVariableDictionary *objectVariables
 
- 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 RexxObjectevaluate (RexxActivation *, RexxExpressionStack *)
 
virtual RexxObjectgetValue (RexxActivation *)
 
virtual RexxObjectgetValue (RexxVariableDictionary *)
 
virtual RexxObjectgetRealValue (RexxActivation *)
 
virtual RexxObjectgetRealValue (RexxVariableDictionary *)
 
virtual HashCode getHashValue ()
 
HashCode identityHash ()
 
virtual RexxStringprimitiveMakeString ()
 
virtual RexxTextprimitiveMakeText ()
 
virtual RexxObjectdynamicTarget (RexxObject **arguments, size_t count, size_t named_count)
 
void hasUninit ()
 
void removedUninit ()
 
void printObject ()
 
RexxObjectclone ()
 

Static Public Member Functions

static RexxDirectoryfromIndexItemArray (RexxObject **arglist, size_t count)
 
static RexxDirectorynewInstance ()
 
static void createInstance ()
 
- Static Public Member Functions inherited from RexxObject
static void decodeMessageName (RexxObject *target, RexxObject *message, RexxString *&messageName, RexxObject *&startScope)
 
static void createInstance ()
 
- Static Public Member Functions inherited from RexxInternalObject
static size_t getObjectHeaderSize ()
 

Public Attributes

RexxTablemethod_table
 
RexxMethodunknown_method
 
- Public Attributes inherited from RexxHashTableCollection
RexxHashTablecontents
 
- Public Attributes inherited from RexxInternalObject
ObjectHeader header
 
RexxBehaviourbehaviour
 

Static Public Attributes

static RexxClassclassInstance = OREF_NULL
 
- Static Public Attributes inherited from RexxObject
static PCPPM operatorMethods []
 
static RexxClassclassInstance = OREF_NULL
 

Additional Inherited Members

- Protected Member Functions inherited from RexxVirtualBase
virtual ~RexxVirtualBase ()
 
virtual void baseVirtual ()
 

Detailed Description

Definition at line 49 of file DirectoryClass.hpp.

Constructor & Destructor Documentation

◆ RexxDirectory()

RexxDirectory::RexxDirectory ( RESTORETYPE  restoreType)
inline

Definition at line 52 of file DirectoryClass.hpp.

Member Function Documentation

◆ allIndexes()

RexxArray * RexxDirectory::allIndexes ( void  )

Create an array of all of the directory indices, including those of all the SETMETHOD methods.

Returns
An array containing all of the directory indices.

Definition at line 232 of file DirectoryClass.cpp.

References RexxHashTableCollection::available(), RexxHashTableCollection::contents, RexxHashTableCollection::first(), RexxHashTable::first(), RexxHashTableCollection::index(), RexxHashTable::index(), items(), method_table, new_array(), RexxHashTableCollection::next(), RexxHashTable::next(), OREF_NULL, and RexxArray::put().

Referenced by RexxMemory::createImage(), and makeArray().

◆ allIndexesItems()

RexxArray * RexxDirectory::allIndexesItems ( void  )

Helper for named arguments. Create an array of all of the directory indices &items, including those of all the SETMETHOD methods.

Returns
An array containing all of the directory indices & items: index1, item1, index2, item2, ...

Definition at line 863 of file DirectoryClass.cpp.

References RexxHashTableCollection::available(), RexxHashTableCollection::contents, ActivityManager::currentActivity, RexxHashTableCollection::first(), RexxHashTable::first(), RexxHashTableCollection::index(), RexxHashTable::index(), items(), method_table, new_array(), RexxHashTableCollection::next(), RexxHashTable::next(), OREF_NULL, RexxArray::put(), RexxMethod::run(), RexxHashTableCollection::value(), and RexxHashTable::value().

◆ allItems()

◆ appendAllIndexesItemsTo()

size_t RexxDirectory::appendAllIndexesItemsTo ( RexxArray array,
size_t  from 
)

Helper for named arguments. Append to the array all the directory indices &items, including those of all the SETMETHOD methods: index1, item1, index2, item2, ...

from: at which position to start storing using the method array.put. CAREFUL! 1-based, so NEVER pass 0.

Returns
The count of appended pairs index & item (= this->items())

Definition at line 948 of file DirectoryClass.cpp.

References RexxHashTableCollection::available(), RexxHashTableCollection::contents, ActivityManager::currentActivity, RexxHashTableCollection::first(), RexxHashTable::first(), RexxHashTableCollection::index(), RexxHashTable::index(), method_table, RexxHashTableCollection::next(), RexxHashTable::next(), OREF_NULL, RexxArray::put(), RexxMethod::run(), RexxHashTableCollection::value(), and RexxHashTable::value().

Referenced by RoutineClass::callWithRexx(), RexxInstructionForward::execute(), RexxNativeActivation::forwardMessage(), RexxObject::run(), RexxObject::sendMessage(), RexxObject::sendWith(), RexxActivation::setArguments(), RexxObject::startWith(), and RexxStem::unknown().

◆ at()

RexxObject * RexxDirectory::at ( RexxString _index)

◆ atRexx()

◆ copy()

◆ createInstance()

void RexxDirectory::createInstance ( )
static

Create initial class object at bootstrap time.

Definition at line 60 of file DirectoryClass.cpp.

References CLASS_CREATE.

Referenced by RexxMemory::createImage().

◆ empty()

RexxObject * RexxDirectory::empty ( )

Empty a hash table collection.

Returns
nothing

Definition at line 691 of file DirectoryClass.cpp.

References OREF_NULL, and reset().

Referenced by RexxMemory::createImage().

◆ entry()

◆ entryRexx()

RexxObject * RexxDirectory::entryRexx ( RexxString entryName)

◆ fastAt()

◆ flatten()

void RexxDirectory::flatten ( RexxEnvelope envelope)
virtual

Reimplemented from RexxHashTableCollection.

Definition at line 85 of file DirectoryClass.cpp.

References cleanUpFlatten, flatten_reference, and setUpFlatten.

◆ fromIndexItemArray()

RexxDirectory * RexxDirectory::fromIndexItemArray ( RexxObject **  arglist,
size_t  count 
)
static

Helper for named arguments. Create a new directory from an array of(index1, item1, index2, item2, ...) When count = 0, no directory is created, returns OREF_NULL.

Returns
A directory

Definition at line 838 of file DirectoryClass.cpp.

References RexxHashTableCollection::index(), new_directory(), OREF_NULL, put(), and REQUEST_STRING().

Referenced by RexxContext::getNamedArgs(), RexxNativeActivation::getNamedArguments(), and RexxObject::processUnknown().

◆ hasEntry()

◆ hasIndex()

◆ hasItem()

RexxObject * RexxDirectory::hasItem ( RexxObject target)
virtual

Test if a given item exists in the collection.

Parameters
targetThe target object.
Returns
.true if the object exists, .false otherwise.

Reimplemented from RexxHashTableCollection.

Definition at line 760 of file DirectoryClass.cpp.

References ARG_ONE, indexRexx(), requiredArgument(), TheFalseObject, TheNilObject, and TheTrueObject.

Referenced by RexxMemory::createImage().

◆ indexRexx()

RexxObject * RexxDirectory::indexRexx ( RexxObject target)

Retrieve an index for a given item. Which index is returned is indeterminate.

Parameters
targetThe target object.
Returns
The index for the target object, or .nil if no object was found.

Definition at line 719 of file DirectoryClass.cpp.

References ARG_ONE, RexxHashTableCollection::available(), RexxHashTableCollection::contents, ActivityManager::currentActivity, RexxObject::equalValue(), RexxHashTableCollection::first(), RexxHashTable::getIndex(), RexxHashTableCollection::index(), method_table, RexxHashTableCollection::next(), OREF_NULL, requiredArgument(), RexxMethod::run(), TheNilObject, and RexxHashTableCollection::value().

Referenced by RexxMemory::createImage(), hasItem(), and removeItem().

◆ isEmpty()

RexxObject * RexxDirectory::isEmpty ( )

Test if a HashTableCollection is empty.

Returns

Definition at line 703 of file DirectoryClass.cpp.

References items(), TheFalseObject, and TheTrueObject.

Referenced by RexxMemory::createImage().

◆ items()

◆ itemsRexx()

RexxObject * RexxDirectory::itemsRexx ( void  )

Definition at line 155 of file DirectoryClass.cpp.

References items(), and new_integer().

Referenced by RexxMemory::createImage().

◆ live()

void RexxDirectory::live ( size_t  liveMark)
virtual

Reimplemented from RexxHashTableCollection.

Definition at line 65 of file DirectoryClass.cpp.

References RexxHashTableCollection::live(), memory_mark, method_table, and unknown_method.

◆ liveGeneral()

void RexxDirectory::liveGeneral ( int  reason)
virtual

◆ makeArray()

RexxArray * RexxDirectory::makeArray ( void  )
virtual

Reimplemented from RexxHashTableCollection.

Definition at line 216 of file DirectoryClass.cpp.

References allIndexes().

Referenced by requestArray().

◆ mergeItem()

RexxObject * RexxDirectory::mergeItem ( RexxObject _value,
RexxObject _index 
)
virtual

Reimplemented from RexxHashTableCollection.

Definition at line 564 of file DirectoryClass.cpp.

References put().

◆ newInstance()

RexxDirectory * RexxDirectory::newInstance ( )
static

Definition at line 822 of file DirectoryClass.cpp.

References RexxHashTable::DEFAULT_HASH_SIZE, new_hashCollection(), and T_Directory.

Referenced by new_directory().

◆ newRexx()

◆ operator new()

void* RexxDirectory::operator new ( size_t  size,
void *  objectPtr 
)
inline

Definition at line 51 of file DirectoryClass.hpp.

◆ pushAllIndexesItemsTo()

size_t RexxDirectory::pushAllIndexesItemsTo ( RexxExpressionStack stack)

Helper for named arguments. Push on the stack all the directory indices &items, including those of all the SETMETHOD methods: index1, item1, index2, item2, ...

Returns
The count of pushed pairs index & item (= this->items())

Definition at line 906 of file DirectoryClass.cpp.

References RexxHashTableCollection::available(), RexxHashTableCollection::contents, ActivityManager::currentActivity, RexxHashTableCollection::first(), RexxHashTable::first(), RexxHashTableCollection::index(), RexxHashTable::index(), method_table, RexxHashTableCollection::next(), RexxHashTable::next(), OREF_NULL, RexxExpressionStack::push(), RexxMethod::run(), RexxHashTableCollection::value(), and RexxHashTable::value().

◆ put()

RexxObject * RexxDirectory::put ( RexxObject _value,
RexxString _index 
)

Definition at line 646 of file DirectoryClass.cpp.

References ARG_TWO, RexxHashTableCollection::contents, method_table, OREF_NULL, OrefSet, RexxHashTableCollection::remove(), stringArgument(), and RexxHashTable::stringPut().

Referenced by InterpreterInstance::addCommandHandler(), RexxSource::addLabel(), PackageManager::addPackageRoutine(), InterpreterInstance::addRequiresFile(), RexxSource::addStem(), RexxSource::addText(), RexxSource::addVariable(), SecurityManager::checkCommand(), SecurityManager::checkEnvironmentAccess(), SecurityManager::checkFunctionCall(), SecurityManager::checkLocalAccess(), SecurityManager::checkProtectedMethod(), SecurityManager::checkRequiresAccess(), SecurityManager::checkStreamAccess(), RexxSource::classDirective(), RexxActivation::command(), RexxSource::commonString(), RexxActivity::createConditionObject(), RexxActivity::createExceptionObject(), RexxMemory::createImage(), PackageManager::createRegisteredRoutine(), RexxSource::expose(), fromIndexItemArray(), RexxActivity::generateProgramInformation(), RexxVariableDictionary::getAllVariables(), RexxMemory::getGlobalName(), PackageManager::getMacroSpaceRequires(), PackageManager::loadInternalPackage(), PackageManager::loadLibrary(), PackageManager::loadRequires(), LibraryPackage::loadRoutines(), mergeItem(), RexxActivation::raise(), RexxActivity::raiseException(), RexxActivity::raisePropagate(), RexxActivity::reraiseException(), InterpreterInstance::resolveCommandHandler(), LibraryPackage::resolveMethod(), RexxActivation::resolveStream(), RexxStem::toDirectory(), RexxActivation::trap(), and RexxActivation::trapOn().

◆ remove()

◆ removeItem()

RexxObject * RexxDirectory::removeItem ( RexxObject target)
virtual

Remove a given item from the collection.

Parameters
targetThe target object.
Returns
.true if the object exists, .false otherwise.

Reimplemented from RexxHashTableCollection.

Definition at line 775 of file DirectoryClass.cpp.

References ARG_ONE, indexRexx(), remove(), requiredArgument(), and TheNilObject.

Referenced by RexxMemory::createImage().

◆ removeRexx()

RexxObject * RexxDirectory::removeRexx ( RexxString entryname)

ooRexx exported version of the directory remove method.

Parameters
entrynameThe index name.
Returns
The removed item. Returns .nil if the item did not exist in the directory.

Definition at line 423 of file DirectoryClass.cpp.

References ARG_ONE, OREF_NULL, remove(), stringArgument(), and TheNilObject.

Referenced by RexxMemory::createImage().

◆ requestArray()

RexxArray * RexxDirectory::requestArray ( )

Definition at line 201 of file DirectoryClass.cpp.

References isOfClass, makeArray(), and RexxObject::sendMessage().

◆ reset()

void RexxDirectory::reset ( void  )

◆ setEntry()

◆ setMethod()

◆ supplier()

◆ unflatten()

RexxObject * RexxDirectory::unflatten ( RexxEnvelope envelope)
virtual

Reimplemented from RexxHashTableCollection.

Definition at line 100 of file DirectoryClass.cpp.

References RexxEnvelope::addTable().

◆ unknown()

Member Data Documentation

◆ classInstance

RexxClass * RexxDirectory::classInstance = OREF_NULL
static

Definition at line 103 of file DirectoryClass.hpp.

◆ method_table

◆ unknown_method

RexxMethod* RexxDirectory::unknown_method

Definition at line 91 of file DirectoryClass.hpp.

Referenced by at(), live(), liveGeneral(), reset(), and setMethod().


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