#include <ObjectClass.hpp>
Static Public Member Functions | |
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 PCPPM | operatorMethods [] |
static RexxClass * | classInstance = OREF_NULL |
Additional Inherited Members | |
Public Attributes inherited from RexxInternalObject | |
ObjectHeader | header |
RexxBehaviour * | behaviour |
Protected Member Functions inherited from RexxVirtualBase | |
virtual | ~RexxVirtualBase () |
virtual void | baseVirtual () |
Definition at line 335 of file ObjectClass.hpp.
|
inline |
Definition at line 351 of file ObjectClass.hpp.
Referenced by newObject().
|
inline |
Definition at line 356 of file ObjectClass.hpp.
|
inlinevirtual |
Definition at line 392 of file ObjectClass.hpp.
void RexxObject::addObjectVariables | ( | RexxVariableDictionary * | dictionary | ) |
Definition at line 2527 of file ObjectClass.cpp.
References OrefSet, and RexxVariableDictionary::setNextDictionary().
Referenced by copyObjectVariables().
|
inline |
Definition at line 510 of file ObjectClass.hpp.
References RexxInternalObject::behaviour.
Referenced by id().
RexxMethod * RexxObject::checkPackage | ( | RexxMethod * | method, |
RexxErrorCodes & | error | ||
) |
Check a package method for accessibility.
method | The method object to check |
error | The error to be raised if this is not permitted. |
Definition at line 625 of file ObjectClass.cpp.
References ActivityManager::currentActivity, Error_No_method_package, RexxActivationBase::getPackage(), RexxActivity::getTopStackFrame(), RexxMethod::isSamePackage(), and OREF_NULL.
Referenced by messageSend().
RexxMethod * RexxObject::checkPrivate | ( | RexxMethod * | method, |
RexxErrorCodes & | error | ||
) |
Definition at line 573 of file ObjectClass.cpp.
References ActivityManager::currentActivity, Error_No_method_private, RexxActivationBase::getReceiver(), RexxMethod::getScope(), RexxActivity::getTopStackFrame(), isInstanceOf(), isOfClassType, and OREF_NULL.
Referenced by messageSend().
RexxClass * RexxObject::classObject | ( | ) |
Definition at line 1782 of file ObjectClass.cpp.
References RexxInternalObject::behaviour, and RexxBehaviour::getOwningClass().
Referenced by RexxMemory::createImage(), RexxString::divide(), RexxString::integerDivide(), isInstanceOf(), RexxString::minus(), RexxString::multiply(), RexxString::plus(), RexxString::power(), RexxString::remainder(), and RexxMemory::runUninits().
|
virtual |
Wrapper around the compareTo() method that validates and extracts integer value.
other | The other comparison object |
Reimplemented in RexxInteger, RexxNumberString, and RexxString.
Definition at line 191 of file ObjectClass.cpp.
References Error_Invalid_whole_number_compareto, Error_No_result_object_message, numberValue(), OREF_NULL, reportException(), and sendMessage().
Referenced by BaseSortComparator::compare(), and RexxString::compareTo().
RexxString * RexxObject::concatBlank | ( | RexxObject * | otherObj | ) |
Blank concatentation operation supported by the Object class. This converts the object into a string form, then asks the converted object to perform the concatenaton.
otherObj | The object to concatenate. |
Definition at line 2870 of file ObjectClass.cpp.
References RexxString::concatBlank(), and REQUEST_STRING().
Referenced by RexxMemory::createImage().
RexxString * RexxObject::concatRexx | ( | RexxObject * | otherObj | ) |
Concatentation operation supported by the Object class. This converts the object into a string form, then asks the converted object to perform the concatenaton.
otherObj | The object to concatenate. |
Definition at line 2853 of file ObjectClass.cpp.
References RexxString::concatRexx(), and REQUEST_STRING().
Referenced by RexxMemory::createImage().
|
virtual |
Reimplemented from RexxInternalObject.
Reimplemented in RexxArray, RexxDirectory, RexxList, RexxStem, and RexxHashTableCollection.
Definition at line 525 of file ObjectClass.cpp.
References RexxInternalObject::behaviour, RexxInternalObject::clone(), RexxBehaviour::copy(), copyObjectVariables(), RexxBehaviour::getInstanceMethodDictionary(), OREF_NULL, and RexxInternalObject::setBehaviour().
Referenced by BUILTIN(), RexxArray::copy(), RexxList::copy(), RexxStem::copy(), RexxHashTableCollection::copy(), copyRexx(), RexxVariableDictionary::copyValues(), RexxHashTableCollection::copyValues(), RexxContext::getCondition(), RexxMethod::newScope(), BaseExecutable::setSourceObject(), RexxString::stringTrace(), and RexxString::x2dC2d().
|
virtual |
Reimplemented from RexxInternalObject.
Reimplemented in RexxInteger.
Definition at line 1255 of file ObjectClass.cpp.
References RexxString::copyIntoTail(), and REQUEST_STRING().
Referenced by RexxCompoundTail::buildTail(), and RexxCompoundTail::buildUnresolvedTail().
void RexxObject::copyObjectVariables | ( | RexxObject * | newObject | ) |
Definition at line 550 of file ObjectClass.cpp.
References addObjectVariables(), RexxVariableDictionary::copy(), RexxVariableDictionary::copyValues(), RexxVariableDictionary::getNextDictionary(), and OREF_NULL.
Referenced by copy().
RexxObject * RexxObject::copyRexx | ( | ) |
Definition at line 2910 of file ObjectClass.cpp.
References copy().
Referenced by RexxMemory::createImage().
|
static |
Create initial class object at bootstrap time.
Definition at line 73 of file ObjectClass.cpp.
References CLASS_CREATE.
Referenced by RexxMemory::createImage().
|
static |
A static method that can be used to decode the various message argument varieties used with start(), startWith(), and the Message class new.
message | The input message. This can be a message name or an array containing a message name/startscope pairing. |
messageName | |
startScope |
Definition at line 2124 of file ObjectClass.cpp.
References ARG_ONE, ARG_TWO, arrayArgument(), ActivityManager::currentActivity, Error_Execution_super, Error_Incorrect_method_message, RexxArray::get(), RexxArray::getDimension(), RexxActivationBase::getReceiver(), RexxActivity::getTopStackFrame(), isOfClass, OREF_NULL, reportException(), requiredArgument(), RexxArray::size(), stringArgument(), and RexxString::upper().
Referenced by RexxMessage::newRexx(), send(), sendWith(), and startCommon().
|
virtual |
Reimplemented in RexxClass.
Definition at line 1735 of file ObjectClass.cpp.
References RexxInternalObject::behaviour, RexxString::concatToCstring(), RexxString::getChar(), RexxClass::getId(), RexxBehaviour::getOwningClass(), and RexxBehaviour::isEnhanced().
Referenced by defaultNameRexx(), RexxActivity::messageSubstitution(), and objectName().
RexxString * RexxObject::defaultNameRexx | ( | ) |
Definition at line 2902 of file ObjectClass.cpp.
References defaultName().
Referenced by RexxMemory::createImage().
|
virtual |
Definition at line 2388 of file ObjectClass.cpp.
References RexxBehaviour::addMethod(), RexxInternalObject::behaviour, RexxBehaviour::copy(), Error_Incorrect_call_list, RexxBehaviour::getInstanceMethodDictionary(), RexxBehaviour::getOwningClass(), RexxString::getStringData(), RexxInternalObject::hasUninit(), IntegerThree, new_string(), RexxMethod::newScope(), OREF_NULL, OrefSet, reportException(), Utilities::strCaselessCompare(), RexxString::strCompare(), TheNilObject, and RexxString::upper().
Referenced by setMethod().
RexxObject * RexxObject::defMethods | ( | RexxDirectory * | methods | ) |
Definition at line 2355 of file ObjectClass.cpp.
References RexxHashTableCollection::available(), RexxInternalObject::behaviour, RexxBehaviour::copy(), RexxBehaviour::define(), RexxHashTableCollection::first(), RexxHashTableCollection::index(), RexxMethod::newScope(), RexxHashTableCollection::next(), OREF_NULL, OrefSet, TheNilObject, RexxString::upper(), and RexxHashTableCollection::value().
|
virtual |
Reimplemented from RexxInternalObject.
Reimplemented in RexxInteger, RexxNumberString, RexxStem, and RexxString.
Definition at line 1119 of file ObjectClass.cpp.
References RexxString::doubleValue(), and requestString().
Referenced by RexxStem::doubleValue(), RexxNativeActivation::getDoubleValue(), and RexxNativeActivation::objectToValue().
RexxObject * RexxObject::dynamicTargetRexx | ( | RexxObject ** | arguments, |
size_t | argCount, | ||
size_t | named_argCount | ||
) |
Definition at line 1887 of file ObjectClass.cpp.
References RexxInternalObject::dynamicTarget().
Referenced by RexxMemory::createImage().
RexxObject * RexxObject::equal | ( | RexxObject * | other | ) |
Definition at line 406 of file ObjectClass.cpp.
References ARG_ONE, requiredArgument(), TheFalseObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
|
inline |
Definition at line 544 of file ObjectClass.hpp.
References isEqual().
Referenced by RexxStem::findByValue(), RexxArray::findSingleIndexItem(), RexxList::hasItem(), RexxList::index(), RexxQueue::index(), RexxDirectory::indexRexx(), and RexxList::removeItem().
|
virtual |
Reimplemented from RexxVirtualBase.
Reimplemented in RexxArray, RexxBlock, RexxClosure, RexxClass, RexxContext, RexxDirectory, RexxInteger, RexxList, RexxMessage, RexxNumberString, StackFrameClass, RexxStem, RexxHashTableCollection, RexxText, Unicode, and WeakReference.
Definition at line 95 of file ObjectClass.cpp.
References cleanUpFlatten, flatten_reference, and setUpFlatten.
Referenced by RexxEnvelope::pack().
void * RexxObject::getCSelf | ( | ) |
Attempt to get a CSELF value from an object instance for a native context.
Definition at line 2979 of file ObjectClass.cpp.
References getObjectVariable(), isInstanceOf(), OREF_NULL, TheBufferClass, and ThePointerClass.
Referenced by RexxNativeActivation::cself().
void * RexxObject::getCSelf | ( | RexxObject * | scope | ) |
Attempt to get a CSELF value from an object instance, starting from a given scope value and checking each of the super scopes for the class
scope | The starting scope for the search. |
Definition at line 3011 of file ObjectClass.cpp.
References getObjectVariable(), isInstanceOf(), OREF_NULL, superScope(), TheBufferClass, TheNilObject, and ThePointerClass.
RexxObject * RexxObject::getObjectVariable | ( | RexxString * | name | ) |
Search through all of the scopes looking for a variable of the given name. This will return the first match.
name | The target name. |
Definition at line 2471 of file ObjectClass.cpp.
References RexxVariableDictionary::getNextDictionary(), OREF_NULL, and RexxVariableDictionary::realValue().
Referenced by getCSelf(), and objectName().
RexxObject * RexxObject::getObjectVariable | ( | RexxString * | name, |
RexxObject * | scope | ||
) |
Definition at line 2490 of file ObjectClass.cpp.
References getObjectVariables(), OREF_NULL, and RexxVariableDictionary::realValue().
RexxVariableDictionary * RexxObject::getObjectVariables | ( | RexxObject * | scope | ) |
Definition at line 2558 of file ObjectClass.cpp.
References RexxVariableDictionary::getNextDictionary(), RexxVariableDictionary::isScope(), new_objectVariableDictionary(), OREF_NULL, OrefSet, RexxInternalObject::setHasReferences(), and RexxVariableDictionary::setNextDictionary().
Referenced by getObjectVariable(), RexxActivation::getObjectVariables(), RexxActivation::getVariableDictionary(), guardOff(), RexxActivation::guardOn(), RexxNativeActivation::guardOn(), guardOn(), RexxNativeActivation::methodVariables(), AttributeGetterCode::run(), AttributeSetterCode::run(), RexxActivation::run(), and setObjectVariable().
void RexxObject::guardOff | ( | RexxActivity * | activity, |
RexxObject * | scope | ||
) |
Release a guard lock on the target object at the given scope.
activity | The activity we're running on. |
scope | The scope that needs to be released. |
Definition at line 2604 of file ObjectClass.cpp.
References getObjectVariables(), and RexxVariableDictionary::release().
Referenced by GuardLock::~GuardLock().
void RexxObject::guardOn | ( | RexxActivity * | activity, |
RexxObject * | scope | ||
) |
Obtain a guard lock on the target object at the given scope.
activity | The activity we're running on. |
scope | The scope that needs to be locked. |
Definition at line 2591 of file ObjectClass.cpp.
References getObjectVariables(), and RexxVariableDictionary::reserve().
Referenced by GuardLock::GuardLock().
|
virtual |
Hash an exported object. Of we're a non-primitive one, this will require us to send the HASHCODE message to request a hash value.
Reimplemented from RexxInternalObject.
Reimplemented in RexxClass.
Definition at line 377 of file ObjectClass.cpp.
References RexxInternalObject::getHashValue(), RexxInternalObject::isBaseClass(), and sendMessage().
Referenced by RexxInteger::hashCode(), RexxNumberString::hashCode(), RexxHashTable::hashIndex(), and RexxHashTable::hashStringIndex().
RexxObject * RexxObject::hashCode | ( | ) |
Default implementation of the HASHCODE method.
Definition at line 361 of file ObjectClass.cpp.
References RexxInternalObject::getHashValue(), and new_string().
Referenced by RexxMemory::createImage().
|
virtual |
Reimplemented in RexxInteger, and RexxNumberString.
Definition at line 1773 of file ObjectClass.cpp.
References RexxInternalObject::behaviour, RexxBehaviour::methodLookup(), OREF_NULL, TheFalseObject, and TheTrueObject.
Referenced by RexxInteger::hasMethod(), RexxNumberString::hasMethod(), hasMethodRexx(), hasUninitMethod(), and uninit().
RexxObject * RexxObject::hasMethodRexx | ( | RexxString * | message | ) |
Definition at line 2937 of file ObjectClass.cpp.
References ARG_ONE, hasMethod(), stringArgument(), and RexxString::upper().
Referenced by RexxMemory::createImage().
bool RexxObject::hasUninitMethod | ( | ) |
Definition at line 2690 of file ObjectClass.cpp.
References hasMethod(), and TheTrueObject.
Referenced by RexxClass::subclass().
RexxString * RexxObject::id | ( | void | ) |
Definition at line 2628 of file ObjectClass.cpp.
References behaviourObject(), RexxClass::getId(), RexxBehaviour::getOwningClass(), and OREF_NULL.
Referenced by idString(), RexxMemory::orphanCheckMark(), and requestRexx().
RexxInteger * RexxObject::identityHashRexx | ( | ) |
Return a unique identity hash value for this object. This hash will be unique among the set of currently active Rexx objects.
Definition at line 2661 of file ObjectClass.cpp.
References RexxInternalObject::identityHash(), and new_integer().
Referenced by RexxMemory::createImage().
const char * RexxObject::idString | ( | void | ) |
Definition at line 2612 of file ObjectClass.cpp.
References RexxString::getStringData(), id(), and OREF_NULL.
RexxObject * RexxObject::init | ( | void | ) |
Definition at line 2645 of file ObjectClass.cpp.
References OREF_NULL.
Referenced by RexxMemory::createImage().
|
inline |
Definition at line 378 of file ObjectClass.hpp.
References RexxInternalObject::clearObject(), RexxInternalObject::header, ObjectHeader::initHeader(), RexxInternalObject::setBehaviour(), and RexxInternalObject::setVirtualFunctions().
|
inline |
Definition at line 364 of file ObjectClass.hpp.
References RexxInternalObject::clearObject(), RexxInternalObject::header, ObjectHeader::initHeader(), RexxInternalObject::setBehaviour(), and RexxInternalObject::setVirtualFunctions().
Referenced by RexxMemory::newObject(), RexxMemory::newObjects(), RexxMemory::oldObject(), and RexxMemory::temporaryObject().
|
virtual |
Retrieve the method instance for an object's defined method.
method_name | The method name. |
Reimplemented from RexxInternalObject.
Reimplemented in RexxInteger, and RexxNumberString.
Definition at line 274 of file ObjectClass.cpp.
References ARG_ONE, RexxInternalObject::behaviour, RexxBehaviour::getMethodDictionary(), OREF_NULL, stringArgument(), RexxTable::stringGet(), TheNilObject, and RexxString::upper().
Referenced by RexxInteger::instanceMethod(), RexxNumberString::instanceMethod(), instanceMethodRexx(), requestRexx(), and SecurityManager::SecurityManager().
RexxMethod * RexxObject::instanceMethodRexx | ( | RexxString * | method_name | ) |
Retrieve the method instance for an object's defined method.
method_name | The method name. |
Definition at line 333 of file ObjectClass.cpp.
References instanceMethod().
Referenced by RexxMemory::createImage().
|
virtual |
Return a supplier containing the methods implemented by an object. Depending on the argument, this is either A) all of the methods, B) just the explicitly set instance methods, or C) the methods provided by a given class.
class_object | The target class object (optional). |
Reimplemented from RexxInternalObject.
Reimplemented in RexxInteger, and RexxNumberString.
Definition at line 318 of file ObjectClass.cpp.
References RexxInternalObject::behaviour, and RexxBehaviour::getMethods().
Referenced by RexxInteger::instanceMethods(), RexxNumberString::instanceMethods(), and instanceMethodsRexx().
RexxSupplier * RexxObject::instanceMethodsRexx | ( | RexxClass * | class_object | ) |
Return a supplier containing the methods implemented by an object. Depending on the argument, this is either A) all of the methods, B) just the explicitly set instance methods, or C) the methods provided by a given class.
class_object | The target class object (optional). |
Definition at line 350 of file ObjectClass.cpp.
References instanceMethods().
Referenced by RexxMemory::createImage().
|
virtual |
Reimplemented from RexxInternalObject.
Reimplemented in RexxInteger, RexxNumberString, and RexxStem.
Definition at line 1128 of file ObjectClass.cpp.
References RexxString::integerValue(), and REQUEST_STRING().
Referenced by RexxInstructionDo::controlSetup(), RexxStem::integerValue(), requestInteger(), and requiredInteger().
|
virtual |
Reimplemented from RexxInternalObject.
Reimplemented in RexxClass, RexxInteger, and RexxNumberString.
Definition at line 132 of file ObjectClass.cpp.
References Error_Logical_value_method, Error_No_result_object_message, RexxInternalObject::isBaseClass(), OREF_NULL, reportException(), and sendMessage().
Referenced by EQUAL_VALUE(), and equalValue().
|
virtual |
Test if a Rexx object is an instance of a given class.
other | The other test class. |
Reimplemented from RexxInternalObject.
Reimplemented in RexxInteger, and RexxNumberString.
Definition at line 231 of file ObjectClass.cpp.
References classObject(), and RexxClass::isCompatibleWith().
Referenced by checkPrivate(), classArgument(), RexxNativeActivation::findCallerClass(), RexxNativeActivation::findClass(), PackageClass::findClass(), RexxActivation::findClass(), getCSelf(), RexxClass::inherit(), RexxInteger::isInstanceOf(), RexxNumberString::isInstanceOf(), isInstanceOfRexx(), IsOfType(), RexxNativeActivation::objectToValue(), RexxNativeActivation::pointer(), RexxNativeActivation::processArguments(), and RexxClass::subclass().
RexxObject * RexxObject::isInstanceOfRexx | ( | RexxClass * | other | ) |
The Rexx external version of the instance of.
other | The other test class. |
Definition at line 245 of file ObjectClass.cpp.
References ARG_ONE, isInstanceOf(), requiredArgument(), TheFalseObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxObject * RexxObject::isNilRexx | ( | ) |
Check if this is the Nil object.
Definition at line 2672 of file ObjectClass.cpp.
References booleanObject(), and TheNilObject.
Referenced by RexxMemory::createImage().
RexxObject::koper | ( | operator_plus | ) |
|
virtual |
Reimplemented from RexxVirtualBase.
Reimplemented in RexxArray, RexxBlock, RexxClosure, RexxClass, RexxContext, RexxDirectory, RexxInteger, RexxIntegerClass, RexxList, RexxMessage, RexxNumberString, StackFrameClass, RexxStem, RexxHashTableCollection, RexxTextClass, RexxText, Unicode, and WeakReference.
Definition at line 79 of file ObjectClass.cpp.
References memory_mark.
Referenced by RexxMemory::markObjectsMain().
|
virtual |
Reimplemented from RexxVirtualBase.
Reimplemented in RexxArray, RexxBlock, RexxClosure, RexxClass, RexxContext, RexxDirectory, RexxInteger, RexxIntegerClass, RexxList, RexxMessage, RexxNumberString, StackFrameClass, RexxStem, RexxHashTableCollection, RexxTextClass, RexxText, Unicode, and WeakReference.
Definition at line 87 of file ObjectClass.cpp.
References memory_mark_general.
Referenced by RexxMemory::killOrphans(), RexxEnvelope::puff(), and RexxMemory::saveImage().
|
virtual |
Convert an object to a logical value without raising an error.
result | The converted value. |
Reimplemented from RexxInternalObject.
Reimplemented in RexxInteger, RexxNumberString, and RexxString.
Definition at line 457 of file ObjectClass.cpp.
References RexxString::logicalValue(), and REQUEST_STRING().
Referenced by RexxNativeActivation::objectToValue().
|
virtual |
Reimplemented from RexxInternalObject.
Reimplemented in RexxArray, RexxDirectory, RexxInteger, RexxList, RexxNumberString, RexxStem, and RexxHashTableCollection.
Definition at line 1275 of file ObjectClass.cpp.
References RexxInternalObject::isBaseClass(), sendMessage(), and TheNilObject.
Referenced by makeArrayRexx(), and requestArray().
RexxObject * RexxObject::makeArrayRexx | ( | ) |
Definition at line 2894 of file ObjectClass.cpp.
References makeArray().
Referenced by RexxMemory::createImage(), RexxMutableBuffer::makeArray(), and RexxString::makeArray().
|
virtual |
Reimplemented from RexxInternalObject.
Reimplemented in RexxInteger, RexxNumberString, StackFrameClass, and RexxText.
Definition at line 1227 of file ObjectClass.cpp.
References RexxInternalObject::isBaseClass(), sendMessage(), and TheNilObject.
Referenced by RexxMemory::createImage(), makeStringRexx(), RexxMethod::newMethodObject(), RoutineClass::newRoutineObject(), and requiredString().
RexxObject * RexxObject::makeStringRexx | ( | ) |
Definition at line 2886 of file ObjectClass.cpp.
References makeString().
Referenced by RexxMemory::createImage().
|
virtual |
Reimplemented from RexxInternalObject.
Reimplemented in RexxText.
Definition at line 1241 of file ObjectClass.cpp.
References RexxInternalObject::isBaseClass(), sendMessage(), and TheNilObject.
RexxObject* RexxObject::mdict | ( | ) |
bool RexxObject::messageSend | ( | RexxString * | msgname, |
RexxObject ** | arguments, | ||
size_t | count, | ||
size_t | named_count, | ||
ProtectedObject & | result, | ||
bool | processUnknown = true , |
||
bool | dynamicTarget = true |
||
) |
Definition at line 830 of file ObjectClass.cpp.
References RexxInternalObject::behaviour, checkPackage(), checkPrivate(), RexxActivity::checkStackSpace(), ActivityManager::currentActivity, RexxInternalObject::dynamicTarget(), Error_No_method_name, RexxMethod::isPackageScope(), RexxMethod::isPrivate(), RexxMethod::isProtected(), RexxMethod::isSpecial(), RexxBehaviour::methodLookup(), OREF_NULL, processProtectedMethod(), processUnknown(), and RexxMethod::run().
Referenced by RexxInteger::andOp(), RexxString::andOp(), RexxNumberString::comp(), RexxString::comp(), RexxString::concatBlank(), RexxString::concatRexx(), RexxNumberString::divide(), RexxString::divide(), RexxSourceLiteral::evaluate(), RexxString::evaluate(), RexxActivation::forward(), RexxNativeActivation::forwardMessage(), RexxMemory::getGlobalName(), Interpreter::initLocal(), RexxNumberString::integerDivide(), RexxString::integerDivide(), RexxNumberString::minus(), RexxString::minus(), RexxNumberString::multiply(), RexxString::multiply(), RexxMutableBufferClass::newRexx(), RexxText::newText(), RexxInteger::orOp(), RexxString::orOp(), StringUtil::packHex(), RexxSource::packLiteral(), RexxNumberString::plus(), RexxString::plus(), RexxNumberString::power(), RexxString::power(), RexxNumberString::remainder(), RexxString::remainder(), RexxMessage::send(), send(), sendMessage(), sendWith(), Interpreter::startInterpreter(), RexxString::strictComp(), RexxString::strictEqual(), RexxString::strictNotEqual(), RexxInteger::xorOp(), and RexxString::xorOp().
bool RexxObject::messageSend | ( | RexxString * | msgname, |
RexxObject ** | arguments, | ||
size_t | count, | ||
size_t | named_count, | ||
RexxObject * | startscope, | ||
ProtectedObject & | result, | ||
bool | processUnknown = true , |
||
bool | dynamicTarget = true |
||
) |
Definition at line 889 of file ObjectClass.cpp.
References checkPackage(), checkPrivate(), RexxActivity::checkStackSpace(), ActivityManager::currentActivity, RexxInternalObject::dynamicTarget(), Error_No_method_name, RexxMethod::isPackageScope(), RexxMethod::isPrivate(), RexxMethod::isProtected(), RexxMethod::isSpecial(), OREF_NULL, processProtectedMethod(), processUnknown(), RexxMethod::run(), and superMethod().
RexxMethod * RexxObject::methodLookup | ( | RexxString * | name | ) |
Definition at line 1017 of file ObjectClass.cpp.
References RexxInternalObject::behaviour, and RexxBehaviour::methodLookup().
|
inline |
Definition at line 348 of file ObjectClass.hpp.
References RexxObject().
RexxObject * RexxObject::newRexx | ( | RexxObject ** | arguments, |
size_t | argCount, | ||
size_t | named_argCount | ||
) |
Definition at line 2698 of file ObjectClass.cpp.
References RexxClass::checkAbstract().
Referenced by RexxMemory::createImage(), and RexxArray::toString().
RexxObject * RexxObject::notEqual | ( | RexxObject * | other | ) |
Definition at line 426 of file ObjectClass.cpp.
References ARG_ONE, requiredArgument(), TheFalseObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
|
virtual |
Reimplemented from RexxInternalObject.
Reimplemented in RexxInteger, RexxNumberString, and RexxStem.
Definition at line 1138 of file ObjectClass.cpp.
References RexxString::numberString(), and requestString().
Referenced by RexxSource::addText(), RexxNumberString::comp(), RexxString::comp(), RexxSource::constantDirective(), RexxNumberString::divide(), Numerics::int64Object(), RexxNumberString::integerDivide(), RexxNumberString::maxMin(), RexxNumberString::minus(), RexxNumberString::multiply(), RexxStem::numberString(), Numerics::objectToInt64(), Numerics::objectToSignedInteger(), Numerics::objectToStringSize(), Numerics::objectToUnsignedInt64(), Numerics::objectToUnsignedInteger(), Numerics::objectToWholeNumber(), RexxNumberString::plus(), and RexxNumberString::remainder().
|
virtual |
Reimplemented from RexxInternalObject.
Reimplemented in RexxInteger, RexxNumberString, RexxStem, and RexxString.
Definition at line 1092 of file ObjectClass.cpp.
References RexxString::numberValue(), and REQUEST_STRING().
|
virtual |
Reimplemented from RexxInternalObject.
Reimplemented in RexxInteger, RexxNumberString, RexxStem, and RexxString.
Definition at line 1083 of file ObjectClass.cpp.
References RexxString::numberValue(), and REQUEST_STRING().
Referenced by BUILTIN(), RexxActivation::command(), compareTo(), RexxActivity::displayCondition(), RexxActivity::errorNumber(), RexxStem::numberValue(), RexxNumberString::power(), requestNumber(), and requiredNumber().
RexxString * RexxObject::objectName | ( | ) |
Definition at line 1694 of file ObjectClass.cpp.
References defaultName(), getObjectVariable(), RexxMethod::getScope(), RexxInternalObject::isBaseClass(), lastMethod(), OREF_NULL, and sendMessage().
Referenced by RexxMemory::createImage().
RexxObject * RexxObject::objectNameEquals | ( | RexxObject * | name | ) |
Definition at line 1719 of file ObjectClass.cpp.
References ARG_ONE, RexxMethod::getScope(), lastMethod(), OREF_NULL, requiredArgument(), setObjectVariable(), and stringArgument().
Referenced by RexxMemory::createImage().
|
inline |
Definition at line 341 of file ObjectClass.hpp.
|
inline |
Definition at line 342 of file ObjectClass.hpp.
|
inline |
Definition at line 343 of file ObjectClass.hpp.
|
inline |
Definition at line 340 of file ObjectClass.hpp.
|
inline |
Definition at line 339 of file ObjectClass.hpp.
SUBTRACT DIVIDE REMAINDER NULLSTRING BLANK BACKSLASH_EQUAL BACKSLASH_GREATERTHAN BACKSLASH_LESSTHAN LESSTHAN_EQUAL STRICT_BACKSLASH_EQUAL STRICT_BACKSLASH_GREATERTHAN STRICT_BACKSLASH_LESSTHAN STRICT_LESSTHAN_EQUAL GREATERTHAN_LESSTHAN OR BACKSLASH void * RexxObject::operator new | ( | size_t | size, |
RexxClass * | classObject | ||
) |
Definition at line 2810 of file ObjectClass.cpp.
References RexxInternalObject::hasUninit(), new_object(), and RexxInternalObject::setBehaviour().
void * RexxObject::operator new | ( | size_t | size, |
RexxClass * | classObject, | ||
RexxObject ** | args, | ||
size_t | argCount, | ||
size_t | named_argCount | ||
) |
Definition at line 2831 of file ObjectClass.cpp.
|
inline |
Definition at line 350 of file ObjectClass.hpp.
RexxString * RexxObject::oref | ( | ) |
Definition at line 2175 of file ObjectClass.cpp.
References new_string().
RexxObject* RexxObject::pmdict | ( | ) |
void RexxObject::processProtectedMethod | ( | RexxString * | messageName, |
RexxMethod * | targetMethod, | ||
RexxObject ** | arguments, | ||
size_t | count, | ||
size_t | named_count, | ||
ProtectedObject & | result | ||
) |
Definition at line 948 of file ObjectClass.cpp.
References SecurityManager::checkProtectedMethod(), ActivityManager::currentActivity, RexxActivity::getEffectiveSecurityManager(), and RexxMethod::run().
Referenced by messageSend().
void RexxObject::processUnknown | ( | RexxErrorCodes | error, |
RexxString * | messageName, | ||
RexxObject ** | arguments, | ||
size_t | count, | ||
size_t | named_count, | ||
ProtectedObject & | result | ||
) |
Definition at line 971 of file ObjectClass.cpp.
References RexxInternalObject::behaviour, ActivityManager::currentActivity, RexxDirectory::fromIndexItemArray(), RexxBehaviour::methodLookup(), new_array(), OREF_NULL, RexxArray::put(), reportNomethod(), RexxMethod::run(), and TheNilObject.
Referenced by messageSend().
RexxArray * RexxObject::requestArray | ( | ) |
Definition at line 1667 of file ObjectClass.cpp.
References RexxInternalObject::isBaseClass(), isOfClass, makeArray(), and sendMessage().
Referenced by arrayArgument(), RexxMethod::newMethodObject(), RoutineClass::newRoutineObject(), and REQUEST_ARRAY().
RexxDirectory * RexxObject::requestDirectory | ( | ) |
Definition at line 1685 of file ObjectClass.cpp.
References RexxInternalObject::isBaseClass(), isOfClass, and sendMessage().
Referenced by RoutineClass::callWithRexx(), RexxInstructionForward::execute(), run(), sendWith(), RexxContext::setArgs(), startWith(), and RexxStem::unknown().
RexxInteger * RexxObject::requestInteger | ( | size_t | precision | ) |
Definition at line 1497 of file ObjectClass.cpp.
References RexxString::integerValue(), integerValue(), RexxInternalObject::isBaseClass(), and requestString().
Referenced by RexxSource::addText(), and REQUEST_INTEGER().
bool RexxObject::requestNumber | ( | wholenumber_t & | result, |
size_t | precision | ||
) |
Request an object to convert itself into a number value.
result | The numeric result value. |
precision | The precision used for the conversion. |
Definition at line 1555 of file ObjectClass.cpp.
References RexxInternalObject::isBaseClass(), and numberValue().
Referenced by RexxInstructionDo::controlSetup(), RexxInstructionDo::execute(), optionalIntegerArg(), requiredIntegerArg(), and RexxSource::traceNew().
RexxObject * RexxObject::requestRexx | ( | RexxString * | className | ) |
Definition at line 1851 of file ObjectClass.cpp.
References ARG_ONE, RexxString::concatToCstring(), id(), instanceMethod(), sendMessage(), RexxString::strictEqual(), stringArgument(), TheNilObject, TheTrueObject, and RexxString::upper().
Referenced by RexxMemory::createImage().
RexxString * RexxObject::requestString | ( | ) |
Definition at line 1288 of file ObjectClass.cpp.
References ActivityManager::currentActivity, Error_No_result_object_message, RexxInternalObject::isBaseClass(), OREF_NULL, RexxInternalObject::primitiveMakeString(), RexxActivity::raiseCondition(), reportException(), sendMessage(), stringValue(), and TheNilObject.
Referenced by RexxString::createNumberString(), RexxNativeActivation::createStackFrame(), InternalActivationFrame::createStackFrame(), doubleValue(), RexxActivation::formatSourcelessTraceLine(), RexxString::hash(), RexxString::logicalValue(), RexxMethod::newRexx(), numberString(), RexxString::numberString(), RexxString::numberValue(), optionalStringArg(), RexxNativeActivation::processArguments(), REQUEST_STRING(), requestInteger(), requiredStringArg(), RexxActivation::RexxActivation(), RexxActivation::traceEntry(), RexxString::truthValue(), and RexxString::unsignedNumberValue().
RexxString * RexxObject::requestStringNoNOSTRING | ( | ) |
Definition at line 1350 of file ObjectClass.cpp.
References RexxInternalObject::isBaseClass(), RexxInternalObject::primitiveMakeString(), sendMessage(), stringValue(), and TheNilObject.
RexxText * RexxObject::requestText | ( | ) |
Definition at line 1384 of file ObjectClass.cpp.
References RexxInternalObject::isBaseClass(), RexxInternalObject::primitiveMakeText(), sendMessage(), textValue(), and TheNilObject.
Referenced by RexxString::dynamicTarget(), and requiredTextArg().
bool RexxObject::requestUnsignedNumber | ( | stringsize_t & | result, |
size_t | precision | ||
) |
Request an object to convert itself into a number value.
result | The numeric result value. |
precision | The precision used for the conversion. |
Definition at line 1579 of file ObjectClass.cpp.
References RexxInternalObject::isBaseClass(), and unsignedNumberValue().
Referenced by RexxInstructionNumeric::execute(), RexxTrigger::integerTrigger(), and RexxSource::optionsDirective().
RexxInteger * RexxObject::requiredInteger | ( | RexxString * | kind, |
size_t | position, | ||
size_t | precision | ||
) |
Definition at line 1516 of file ObjectClass.cpp.
References Error_Incorrect_method_whole, RexxString::integerValue(), integerValue(), RexxInternalObject::isBaseClass(), reportException(), requiredString(), and TheNilObject.
stringsize_t RexxObject::requiredNonNegative | ( | RexxString * | kind, |
size_t | position, | ||
size_t | precision = Numerics::ARGUMENT_DIGITS |
||
) |
Definition at line 1647 of file ObjectClass.cpp.
References Error_Incorrect_method_nonnegative, reportException(), and unsignedNumberValue().
Referenced by RexxArray::allIndexes(), RexxArray::allItems(), RexxString::copies(), RexxArray::createMultidimensional(), RexxArray::operator new(), optionalNonNegative(), RexxList::section(), RexxQueue::section(), RexxArray::sectionRexx(), and RexxArray::supplier().
wholenumber_t RexxObject::requiredNumber | ( | RexxString * | kind, |
size_t | position, | ||
size_t | precision = Numerics::ARGUMENT_DIGITS |
||
) |
Definition at line 1595 of file ObjectClass.cpp.
References Error_Incorrect_method_whole, RexxInternalObject::isBaseClass(), isOfClass, numberValue(), reportException(), and requiredString().
stringsize_t RexxObject::requiredPositive | ( | RexxString * | kind, |
size_t | position, | ||
size_t | precision = Numerics::ARGUMENT_DIGITS |
||
) |
Definition at line 1627 of file ObjectClass.cpp.
References Error_Incorrect_method_positive, reportException(), and unsignedNumberValue().
Referenced by RexxArray::dimension(), RexxArray::extendMulti(), optionalPositive(), and RexxArray::validateIndex().
RexxString * RexxObject::requiredString | ( | ) |
Handle a string request for a required string value where the caller wishes to handle the error itself.
Definition at line 1482 of file ObjectClass.cpp.
References RexxInternalObject::isBaseClass(), makeString(), and sendMessage().
Referenced by requiredInteger(), and requiredNumber().
RexxString * RexxObject::requiredString | ( | RexxString * | kind, |
const char * | name | ||
) |
Definition at line 1448 of file ObjectClass.cpp.
References Error_Invalid_argument_string, RexxInternalObject::isBaseClass(), makeString(), reportException(), sendMessage(), and TheNilObject.
RexxString * RexxObject::requiredString | ( | RexxString * | kind, |
size_t | position | ||
) |
Definition at line 1420 of file ObjectClass.cpp.
References Error_Incorrect_method_nostring, RexxInternalObject::isBaseClass(), makeString(), reportException(), sendMessage(), and TheNilObject.
Referenced by RexxArray::toString().
RexxObject * RexxObject::run | ( | RexxObject ** | arguments, |
size_t | argumentsCount, | ||
size_t | named_argumentsCount | ||
) |
Definition at line 2197 of file ObjectClass.cpp.
References RexxDirectory::appendAllIndexesItemsTo(), ARG_ONE, ARG_THREE, ARG_TWO, RexxArray::copy(), ActivityManager::currentActivity, RexxArray::data(), Error_Execution_user_defined, Error_Incorrect_method_maxarg, Error_Incorrect_method_noarray, Error_Incorrect_method_option, RexxString::getChar(), RexxArray::getDimension(), IntegerOne, IntegerThree, isOfClass, RexxDirectory::items(), NamedArguments::match(), missingArgument(), new_array(), RexxMethod::newMethodObject(), RexxMethod::newScope(), OREF_NULL, reportException(), REQUEST_ARRAY(), requestDirectory(), requiredArgument(), RexxMethod::run(), RexxArray::size(), stringArgument(), and TheNilObject.
Referenced by RexxMemory::createImage().
RexxObject * RexxObject::send | ( | RexxObject ** | arguments, |
size_t | argCount, | ||
size_t | named_argCount | ||
) |
Do a dynamic invocation of an object method.
arguments | The variable arguments passed to the method. The first argument is a required message target, which can be either a string method name or an array containing a name/scope pair. The remainder of the arguments are the message arguments. |
argCount |
Definition at line 1975 of file ObjectClass.cpp.
References ARG_ONE, decodeMessageName(), messageSend(), missingArgument(), and OREF_NULL.
Referenced by RexxMemory::createImage().
void RexxObject::sendMessage | ( | RexxString * | message, |
RexxArray * | arguments, | ||
RexxDirectory * | named_arguments, | ||
ProtectedObject & | result | ||
) |
Definition at line 719 of file ObjectClass.cpp.
References RexxDirectory::appendAllIndexesItemsTo(), RexxArray::copy(), RexxArray::data(), messageSend(), new_array(), OREF_NULL, RexxArray::size(), and TheNilObject.
Referenced by BUILTIN(), SecurityManager::callSecurityManager(), RexxList::classOf(), RexxActivation::closeStreams(), WithSortComparator::compare(), compareTo(), RexxArray::createMultidimensional(), RexxClass::enhanced(), Interpreter::getCurrentQueue(), hash(), RexxString::hash(), ClassDirective::install(), ExtensionDirective::install(), RexxClass::isEqual(), RexxInteger::isEqual(), RexxNumberString::isEqual(), isEqual(), RexxString::isEqual(), RexxActivity::lineIn(), makeArray(), makeString(), RexxText::makeString(), makeText(), RexxClass::methodDictionaryCreate(), RexxClass::methods(), RexxMethod::newFileRexx(), RoutineClass::newFileRexx(), RexxIdentityTable::newRexx(), RexxList::newRexx(), RexxMessage::newRexx(), RexxMethod::newRexx(), RexxMutableBufferClass::newRexx(), RexxQueue::newRexx(), RexxRelation::newRexx(), RoutineClass::newRexx(), RexxStem::newRexx(), RexxSupplierClass::newRexx(), RexxTable::newRexx(), RexxText::newRexx(), WeakReference::newRexx(), RexxClass::newRexx(), RexxDirectory::newRexx(), RexxActivation::novalueHandler(), objectName(), RexxArray::of(), RexxQueue::ofRexx(), RexxArray::operator new(), RexxText::primitiveMakeString(), RexxSource::processInstall(), RexxActivity::pullInput(), RexxActivity::queue(), RexxStem::request(), RexxDirectory::requestArray(), RexxList::requestArray(), requestArray(), RexxTable::requestArray(), requestDirectory(), requestRexx(), requestString(), requestStringNoNOSTRING(), requestText(), requiredString(), RexxActivation::resolveStream(), RexxSourceLiteral::RexxSourceLiteral(), MessageDispatcher::run(), RexxActivity::sayOutput(), RexxList::sectionSubclass(), RexxQueue::sectionSubclass(), RexxArray::sectionSubclass(), sendMessage(), stringValue(), RexxClass::subclass(), textValue(), RexxActivity::traceInput(), RexxActivity::traceOutput(), uninit(), RexxInteger::unknown(), RexxNumberString::unknown(), and RexxStem::unknown().
RexxObject * RexxObject::sendMessage | ( | RexxString * | message, |
RexxArray * | args, | ||
RexxDirectory * | named_args = OREF_NULL |
||
) |
Definition at line 658 of file ObjectClass.cpp.
References sendMessage().
RexxObject * RexxObject::sendMessage | ( | RexxString * | message, |
RexxObject * | argument1, | ||
RexxObject * | argument2 | ||
) |
Definition at line 687 of file ObjectClass.cpp.
References sendMessage().
void RexxObject::sendMessage | ( | RexxString * | message, |
RexxObject * | argument1, | ||
RexxObject * | argument2, | ||
ProtectedObject & | result | ||
) |
Definition at line 750 of file ObjectClass.cpp.
References messageSend().
RexxObject * RexxObject::sendMessage | ( | RexxString * | message, |
RexxObject * | argument1, | ||
RexxObject * | argument2, | ||
RexxObject * | argument3 | ||
) |
Definition at line 695 of file ObjectClass.cpp.
References sendMessage().
void RexxObject::sendMessage | ( | RexxString * | message, |
RexxObject * | argument1, | ||
RexxObject * | argument2, | ||
RexxObject * | argument3, | ||
ProtectedObject & | result | ||
) |
Definition at line 767 of file ObjectClass.cpp.
References messageSend().
RexxObject * RexxObject::sendMessage | ( | RexxString * | message, |
RexxObject * | argument1, | ||
RexxObject * | argument2, | ||
RexxObject * | argument3, | ||
RexxObject * | argument4 | ||
) |
Definition at line 703 of file ObjectClass.cpp.
References sendMessage().
void RexxObject::sendMessage | ( | RexxString * | message, |
RexxObject * | argument1, | ||
RexxObject * | argument2, | ||
RexxObject * | argument3, | ||
RexxObject * | argument4, | ||
ProtectedObject & | result | ||
) |
Definition at line 786 of file ObjectClass.cpp.
References messageSend().
RexxObject * RexxObject::sendMessage | ( | RexxString * | message, |
RexxObject * | argument1, | ||
RexxObject * | argument2, | ||
RexxObject * | argument3, | ||
RexxObject * | argument4, | ||
RexxObject * | argument5 | ||
) |
Definition at line 711 of file ObjectClass.cpp.
References sendMessage().
void RexxObject::sendMessage | ( | RexxString * | message, |
RexxObject * | argument1, | ||
RexxObject * | argument2, | ||
RexxObject * | argument3, | ||
RexxObject * | argument4, | ||
RexxObject * | argument5, | ||
ProtectedObject & | result | ||
) |
Definition at line 807 of file ObjectClass.cpp.
References messageSend().
RexxObject * RexxObject::sendMessage | ( | RexxString * | message | ) |
Definition at line 672 of file ObjectClass.cpp.
References sendMessage().
|
inline |
Definition at line 480 of file ObjectClass.hpp.
References messageSend(), and OREF_NULL.
RexxObject * RexxObject::sendMessage | ( | RexxString * | message, |
RexxObject ** | args, | ||
size_t | argCount, | ||
size_t | named_argCount | ||
) |
Definition at line 665 of file ObjectClass.cpp.
References sendMessage().
|
inline |
Definition at line 478 of file ObjectClass.hpp.
References messageSend().
RexxObject * RexxObject::sendMessage | ( | RexxString * | message, |
RexxObject * | argument1 | ||
) |
Definition at line 679 of file ObjectClass.cpp.
References sendMessage().
void RexxObject::sendMessage | ( | RexxString * | message, |
RexxObject * | argument1, | ||
ProtectedObject & | result | ||
) |
Definition at line 743 of file ObjectClass.cpp.
References messageSend().
RexxObject * RexxObject::sendWith | ( | RexxObject * | message, |
RexxArray * | arguments, | ||
RexxObject ** | named_arglist, | ||
size_t | named_argcount | ||
) |
Do a dynamic invocation of an object method.
message | The target message. This can be either a string message name or a string/scope pair to do a qualified invocation. |
arguments | An array of arguments to used with the message invocation. |
Definition at line 1901 of file ObjectClass.cpp.
References RexxDirectory::appendAllIndexesItemsTo(), ARG_TWO, arrayArgument(), RexxArray::copy(), RexxArray::data(), decodeMessageName(), Error_Execution_user_defined, RexxDirectory::items(), NamedArguments::match(), messageSend(), OREF_NULL, reportException(), requestDirectory(), RexxArray::size(), and TheNilObject.
Referenced by RexxMemory::createImage().
RexxObject* RexxObject::setMdict | ( | RexxObject * | ) |
RexxObject * RexxObject::setMethod | ( | RexxString * | msgname, |
RexxMethod * | methobj, | ||
RexxString * | a = OREF_NULL |
||
) |
Definition at line 1791 of file ObjectClass.cpp.
References ARG_ONE, ARG_THREE, defMethod(), Error_Incorrect_call_list, RexxString::getStringData(), IntegerThree, IntegerTwo, isOfClass, new_string(), RexxMethod::newMethodObject(), OREF_NULL, reportException(), Utilities::strCaselessCompare(), stringArgument(), TheNilObject, and RexxString::upper().
Referenced by RexxMemory::createImage().
void RexxObject::setObjectVariable | ( | RexxString * | name, |
RexxObject * | value, | ||
RexxObject * | scope | ||
) |
Definition at line 2509 of file ObjectClass.cpp.
References getObjectVariables(), OREF_NULL, and RexxVariableDictionary::set().
Referenced by objectNameEquals().
RexxMessage * RexxObject::start | ( | RexxObject ** | arguments, |
size_t | argCount, | ||
size_t | named_argCount | ||
) |
Run a message send in another thread.
arguments | The list of arguments. This is an open-ended argument list. The first argument is the message, the remaining arguments are the message arguments. |
argCount | The number of arguments we were invoked with. |
Definition at line 2071 of file ObjectClass.cpp.
References ARG_ONE, missingArgument(), requiredArgument(), and startCommon().
Referenced by RexxArray::arraycopy(), RexxStem::arraycopy(), and RexxMemory::createImage().
RexxMessage * RexxObject::startCommon | ( | RexxObject * | message, |
RexxObject ** | arguments, | ||
size_t | argCount, | ||
size_t | named_argCount | ||
) |
A common method to process either a start() or a startWith() method call.
message | The message name (which might be an array form) |
arguments | The array of arguments. |
argCount | The number of passed arguments. |
Definition at line 2096 of file ObjectClass.cpp.
References RexxArray::data(), decodeMessageName(), OREF_NULL, and RexxMessage::start().
Referenced by start(), and startWith().
RexxMessage * RexxObject::startWith | ( | RexxObject * | message, |
RexxArray * | arguments, | ||
RexxObject ** | named_arglist, | ||
size_t | named_argcount | ||
) |
Perform a start() using arguments provided in an array wrapper.
message | The target message. This can be either a string, or an array containing a string/scope coupling. |
arguments | The message arguments. |
Definition at line 2011 of file ObjectClass.cpp.
References RexxDirectory::appendAllIndexesItemsTo(), ARG_ONE, ARG_TWO, arrayArgument(), RexxArray::copy(), RexxArray::data(), Error_Execution_user_defined, RexxDirectory::items(), NamedArguments::match(), OREF_NULL, reportException(), requestDirectory(), requiredArgument(), RexxArray::size(), startCommon(), and TheNilObject.
Referenced by RexxMemory::createImage().
RexxObject * RexxObject::strictEqual | ( | RexxObject * | other | ) |
Definition at line 395 of file ObjectClass.cpp.
References ARG_ONE, requiredArgument(), TheFalseObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxObject * RexxObject::strictNotEqual | ( | RexxObject * | other | ) |
Definition at line 417 of file ObjectClass.cpp.
References ARG_ONE, requiredArgument(), TheFalseObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxString * RexxObject::stringRexx | ( | ) |
Definition at line 2878 of file ObjectClass.cpp.
References stringValue().
Referenced by RexxMemory::createImage().
|
virtual |
Reimplemented from RexxInternalObject.
Reimplemented in RexxInteger, RexxNumberString, RexxPointer, StackFrameClass, and RexxStem.
Definition at line 1164 of file ObjectClass.cpp.
References sendMessage().
Referenced by RexxCompoundTail::buildUnresolvedTail(), RexxNativeActivation::callRegisteredRoutine(), RexxActivation::command(), RexxNativeActivation::copyValue(), RexxNativeActivation::cstring(), RexxString::divide(), RexxString::integerDivide(), RexxActivity::messageSubstitution(), RexxString::minus(), RexxString::multiply(), RexxNativeActivation::objectToValue(), RexxString::plus(), RexxNativeActivation::pointerString(), RexxString::power(), RexxString::remainder(), requestString(), requestStringNoNOSTRING(), stringRexx(), RexxStem::stringValue(), RexxActivation::traceCompoundValue(), RexxActivation::traceOperatorValue(), RexxActivation::traceTaggedValue(), and RexxActivation::traceValue().
RexxMethod * RexxObject::superMethod | ( | RexxString * | msgName, |
RexxObject * | startScope | ||
) |
Definition at line 2548 of file ObjectClass.cpp.
References RexxInternalObject::behaviour, and RexxBehaviour::superMethod().
Referenced by messageSend().
RexxObject * RexxObject::superScope | ( | RexxObject * | startScope | ) |
Definition at line 2539 of file ObjectClass.cpp.
References RexxInternalObject::behaviour, and RexxBehaviour::superScope().
Referenced by getCSelf(), RexxNativeActivation::getSuper(), and RexxActivation::run().
|
virtual |
Reimplemented from RexxInternalObject.
Reimplemented in RexxText.
Definition at line 1173 of file ObjectClass.cpp.
References sendMessage().
Referenced by requestText().
|
virtual |
Reimplemented from RexxInternalObject.
Reimplemented in RexxInteger, and RexxNumberString.
Definition at line 474 of file ObjectClass.cpp.
References REQUEST_STRING(), and RexxString::truthValue().
Referenced by RexxInteger::andOp(), RexxString::andOp(), SecurityManager::callSecurityManager(), RexxExpressionLogical::evaluate(), RexxInstructionGuard::execute(), RexxInstructionIf::execute(), RexxInteger::isEqual(), RexxNumberString::isEqual(), RexxString::isEqual(), RexxMethod::newRexx(), RoutineClass::newRexx(), RexxInteger::orOp(), RexxString::orOp(), RexxNativeActivation::processArguments(), RexxMemory::setDump(), RexxInstructionDo::untilCondition(), RexxInstructionDo::whileCondition(), RexxInteger::xorOp(), and RexxString::xorOp().
|
virtual |
Reimplemented from RexxInternalObject.
Definition at line 2678 of file ObjectClass.cpp.
References hasMethod(), sendMessage(), and TheTrueObject.
Referenced by UninitDispatcher::run().
|
inlinevirtual |
Reimplemented in RexxDirectory, RexxInteger, RexxNumberString, and RexxStem.
Definition at line 397 of file ObjectClass.hpp.
References OREF_NULL.
Referenced by unknownRexx().
RexxObject * RexxObject::unknownRexx | ( | RexxString * | message, |
RexxArray * | arguments, | ||
RexxObject ** | named_arglist, | ||
size_t | named_argcount | ||
) |
Definition at line 2918 of file ObjectClass.cpp.
References NamedArguments::match(), TheNilObject, and unknown().
Referenced by RexxMemory::createImage().
RexxObject * RexxObject::unsetMethod | ( | RexxString * | msgname | ) |
Definition at line 1837 of file ObjectClass.cpp.
References ARG_ONE, RexxInternalObject::behaviour, OREF_NULL, RexxBehaviour::removeMethod(), stringArgument(), and RexxString::upper().
Referenced by RexxMemory::createImage().
|
virtual |
Reimplemented from RexxInternalObject.
Reimplemented in RexxInteger, RexxStem, RexxNumberString, and RexxString.
Definition at line 1110 of file ObjectClass.cpp.
References REQUEST_STRING(), and RexxString::unsignedNumberValue().
|
virtual |
Reimplemented from RexxInternalObject.
Reimplemented in RexxInteger, RexxStem, RexxNumberString, and RexxString.
Definition at line 1101 of file ObjectClass.cpp.
References REQUEST_STRING(), and RexxString::unsignedNumberValue().
Referenced by lengthArgument(), positionArgument(), requestUnsignedNumber(), requiredNonNegative(), requiredPositive(), RexxStem::sort(), and RexxStem::unsignedNumberValue().
Definition at line 590 of file ObjectClass.hpp.
|
static |
Definition at line 587 of file ObjectClass.hpp.
Referenced by RexxBehaviour::copy().