#include <IdentityTableClass.hpp>
Static Public Member Functions | |
static void | createInstance () |
static RexxIdentityTable * | newInstance (size_t size) |
Static Public Member Functions inherited from RexxTable | |
static RexxTable * | newInstance () |
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 () |
Static Public Attributes | |
static RexxClass * | classInstance = OREF_NULL |
Static Public Attributes inherited from RexxTable | |
static RexxClass * | classInstance = OREF_NULL |
Static Public Attributes inherited from RexxObject | |
static PCPPM | operatorMethods [] |
static RexxClass * | classInstance = OREF_NULL |
Additional Inherited Members | |
Public Attributes inherited from RexxHashTableCollection | |
RexxHashTable * | contents |
Public Attributes inherited from RexxInternalObject | |
ObjectHeader | header |
RexxBehaviour * | behaviour |
Protected Member Functions inherited from RexxVirtualBase | |
virtual | ~RexxVirtualBase () |
virtual void | baseVirtual () |
Definition at line 49 of file IdentityTableClass.hpp.
|
inline |
Definition at line 53 of file IdentityTableClass.hpp.
|
virtual |
Override for the default hash collection add() method.
_value | The value to insert. |
_index | The index this will be stored under. |
Reimplemented from RexxHashTableCollection.
Definition at line 168 of file IdentityTableClass.cpp.
References RexxHashTableCollection::contents, OREF_NULL, OrefSet, and RexxHashTable::primitiveAdd().
Referenced by RexxBehaviour::addScope(), RexxClass::newRexx(), RexxMemory::saveObject(), RexxClass::setMetaClass(), and RexxClass::subclass().
|
inline |
Definition at line 64 of file IdentityTableClass.hpp.
References RexxHashTableCollection::contents, and RexxHashTable::primitiveGetAll().
Referenced by RexxBehaviour::addScope(), RexxClass::createClassBehaviour(), RexxClass::newRexx(), RexxClass::setMetaClass(), and RexxClass::subclass().
|
static |
Create initial class object at bootstrap time.
Definition at line 58 of file IdentityTableClass.cpp.
References CLASS_CREATE.
Referenced by RexxMemory::createImage().
|
inline |
Definition at line 65 of file IdentityTableClass.hpp.
References RexxHashTableCollection::contents, RexxHashTable::primitiveNextItem(), and TheNilObject.
Referenced by RexxBehaviour::superScope().
|
virtual |
Retrieve an object from the table using identity semantics. This is an override for the base collection get method.
key | The target index. |
Reimplemented from RexxHashTableCollection.
Definition at line 118 of file IdentityTableClass.cpp.
References RexxHashTableCollection::contents, and RexxHashTable::primitiveGet().
Referenced by RexxMemory::addUninitObject(), RexxBehaviour::checkScope(), RexxMemory::gutCheck(), RexxMemory::isPendingUninit(), RexxEnvelope::queryObj(), RexxMemory::setOref(), RexxClass::subclass(), and RexxBehaviour::superMethod().
|
virtual |
Retrieve an index for a given item. Which index is returned is indeterminate.
target | The target object. |
Reimplemented from RexxHashTableCollection.
Definition at line 217 of file IdentityTableClass.cpp.
References RexxHashTableCollection::contents, and RexxHashTable::primitiveGetIndex().
|
inline |
Definition at line 63 of file IdentityTableClass.hpp.
References RexxHashTableCollection::contents, and RexxHashTable::primitiveHasItem().
|
virtual |
Test if a given item exists in the collection.
target | The target object. |
Reimplemented from RexxHashTableCollection.
Definition at line 202 of file IdentityTableClass.cpp.
References RexxHashTableCollection::contents, and RexxHashTable::primitiveHasItem().
|
static |
Create a new instance of an identity table.
size | The initial table capacity. |
Definition at line 131 of file IdentityTableClass.cpp.
References new_hashCollection(), and T_IdentityTable.
RexxObject * RexxIdentityTable::newRexx | ( | RexxObject ** | args, |
size_t | argCount, | ||
size_t | named_argCount | ||
) |
Create a new identity table instance.
args | The new arguments. |
argCount | The count of new arguments. |
Definition at line 72 of file IdentityTableClass.cpp.
References RexxClass::checkAbstract(), RexxClass::getInstanceBehaviour(), RexxInternalObject::hasUninit(), RexxClass::hasUninitDefined(), new_identity_table(), RexxObject::sendMessage(), and RexxInternalObject::setBehaviour().
Referenced by RexxMemory::createImage().
|
inline |
Definition at line 51 of file IdentityTableClass.hpp.
|
virtual |
Virtual override for the default hash collection put() operation.
_value | The value to insert. |
_index | The target index. |
Reimplemented from RexxHashTableCollection.
Definition at line 146 of file IdentityTableClass.cpp.
References RexxHashTableCollection::contents, OREF_NULL, OrefSet, and RexxHashTable::primitivePut().
Referenced by InterpreterInstance::addGlobalReference(), RexxSource::addStem(), RexxEnvelope::addTable(), RexxMemory::addUninitObject(), RexxSource::addVariable(), RexxNativeActivation::createLocalReference(), RexxEnvelope::flattenReference(), RexxVariable::inform(), RexxMemory::runUninits(), RexxSource::saveObject(), RexxMemory::setOref(), and RexxMemory::setUpMemoryTables().
|
virtual |
Remove an object from an IdentityTable
key | The key of the object to remove |
Reimplemented from RexxHashTableCollection.
Definition at line 102 of file IdentityTableClass.cpp.
References RexxHashTableCollection::contents, and RexxHashTable::primitiveRemove().
Referenced by RexxMemory::discardHoldObject(), RexxMemory::discardObject(), RexxMemory::gutCheck(), InterpreterInstance::removeGlobalReference(), RexxNativeActivation::removeLocalReference(), RexxSource::removeObj(), RexxMemory::removeUninitObject(), RexxMemory::runUninits(), RexxMemory::setOref(), RexxSource::toss(), and RexxVariable::uninform().
|
virtual |
Remove an item specified by value.
target | The target object. |
Reimplemented from RexxHashTableCollection.
Definition at line 188 of file IdentityTableClass.cpp.
References RexxHashTableCollection::contents, and RexxHashTable::primitiveRemoveItem().
Definition at line 70 of file IdentityTableClass.hpp.