#include <IntegerClass.hpp>
Static Public Member Functions | |
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 PCPPM | operatorMethods [] |
static RexxIntegerClass * | classInstance = OREF_NULL |
static RexxInteger * | falseObject = OREF_NULL |
static RexxInteger * | trueObject = OREF_NULL |
static RexxInteger * | nullPointer = OREF_NULL |
static RexxInteger * | integerZero = OREF_NULL |
static RexxInteger * | integerOne = OREF_NULL |
static RexxInteger * | integerTwo = OREF_NULL |
static RexxInteger * | integerThree = OREF_NULL |
static RexxInteger * | integerFour = OREF_NULL |
static RexxInteger * | integerFive = OREF_NULL |
static RexxInteger * | integerSix = OREF_NULL |
static RexxInteger * | integerSeven = OREF_NULL |
static RexxInteger * | integerEight = OREF_NULL |
static RexxInteger * | integerNine = OREF_NULL |
static RexxInteger * | integerMinusOne = OREF_NULL |
Static Public Attributes inherited from RexxObject | |
static PCPPM | operatorMethods [] |
static RexxClass * | classInstance = OREF_NULL |
Protected Attributes | |
RexxString * | stringrep |
wholenumber_t | value |
Static Protected Attributes | |
static wholenumber_t | validMaxWhole [] |
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 56 of file IntegerClass.hpp.
|
inline |
Definition at line 58 of file IntegerClass.hpp.
|
inline |
Definition at line 59 of file IntegerClass.hpp.
References value.
RexxObject * RexxInteger::abs | ( | void | ) |
Definition at line 1061 of file IntegerClass.cpp.
References RexxNumberString::abs(), Numerics::DEFAULT_DIGITS, new_integer(), number_digits(), numberString(), and value.
Referenced by RexxMemory::createImage().
RexxObject * RexxInteger::andOp | ( | RexxObject * | other | ) |
Definition at line 975 of file IntegerClass.cpp.
References ARG_ONE, Error_Logical_value_method, isPolymorphicString(), RexxObject::messageSend(), OREF_NULL, requiredArgument(), TheFalseObject, TheTrueObject, truthValue(), and RexxObject::truthValue().
Referenced by RexxMemory::createImage().
RexxObject * RexxInteger::ceiling | ( | ) |
Calculate the ceiling value for a numeric value
Definition at line 1217 of file IntegerClass.cpp.
Referenced by RexxMemory::createImage().
RexxClass * RexxInteger::classObject | ( | ) |
Definition at line 1376 of file IntegerClass.cpp.
References TheStringClass.
Referenced by RexxMemory::createImage().
wholenumber_t RexxInteger::comp | ( | RexxObject * | other, |
RexxString * | alternativeOperator = OREF_NULL , |
||
RexxInteger ** | alternativeOperatorResultPtr = NULL |
||
) |
Do a comparison operation between an Integer object and another object.
other | The other object. |
Definition at line 718 of file IntegerClass.cpp.
References ARG_ONE, RexxNumberString::comp(), Numerics::DEFAULT_DIGITS, RexxInternalObject::isSameType(), number_digits(), numberString(), requiredArgument(), and value.
Referenced by equal(), isGreaterOrEqual(), isGreaterThan(), isLessOrEqual(), isLessThan(), and notEqual().
|
virtual |
Wrapper around the compareTo() method that does string sort comparisons.
other | The other comparison object |
Reimplemented from RexxObject.
Definition at line 433 of file IntegerClass.cpp.
References RexxString::compareTo(), and stringValue().
RexxString * RexxInteger::concat | ( | RexxString * | other | ) |
Definition at line 501 of file IntegerClass.cpp.
References ARG_ONE, RexxString::concat(), RexxString::concatRexx(), REQUEST_STRING(), requiredArgument(), and stringValue().
RexxString * RexxInteger::concatBlank | ( | RexxString * | other | ) |
Definition at line 485 of file IntegerClass.cpp.
References ARG_ONE, RexxString::concatBlank(), RexxString::concatWith(), REQUEST_STRING(), requiredArgument(), and stringValue().
|
virtual |
Reimplemented from RexxObject.
Definition at line 199 of file IntegerClass.cpp.
References RexxCompoundTail::append(), Numerics::formatWholeNumber(), RexxString::getLength(), RexxString::getStringData(), OREF_NULL, stringrep, and value.
|
static |
Definition at line 1395 of file IntegerClass.cpp.
References CLASS_CREATE, and TheIntegerClass.
Referenced by RexxMemory::create().
RexxObject * RexxInteger::d2c | ( | RexxObject * | length | ) |
Definition at line 1246 of file IntegerClass.cpp.
References RexxNumberString::d2xD2c(), and numberString().
Referenced by RexxMemory::createImage().
RexxObject * RexxInteger::d2x | ( | RexxObject * | length | ) |
Definition at line 1256 of file IntegerClass.cpp.
References RexxNumberString::d2xD2c(), and numberString().
Referenced by RexxMemory::createImage().
|
inline |
Definition at line 147 of file IntegerClass.hpp.
References value.
Referenced by RexxMemory::setOref().
RexxObject * RexxInteger::divide | ( | RexxInteger * | other | ) |
Definition at line 591 of file IntegerClass.cpp.
References integer_forward.
Referenced by RexxMemory::createImage().
|
virtual |
Convert an integer object into a double value.
value | The returned value. |
Reimplemented from RexxObject.
Definition at line 244 of file IntegerClass.cpp.
References wholeNumber().
RexxInteger * RexxInteger::equal | ( | RexxObject * | other | ) |
Definition at line 785 of file IntegerClass.cpp.
References comp(), OREF_NULL, TheFalseObject, TheNilObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
|
virtual |
Reimplemented from RexxInternalObject.
Definition at line 1266 of file IntegerClass.cpp.
References RexxExpressionStack::push(), TRACE_PREFIX_LITERAL, and RexxActivation::traceIntermediate().
|
virtual |
Reimplemented from RexxObject.
Definition at line 116 of file IntegerClass.cpp.
References cleanUpFlatten, flatten_reference, and setUpFlatten.
RexxObject * RexxInteger::floor | ( | ) |
Calculate the floor value for a numeric value
Definition at line 1206 of file IntegerClass.cpp.
Referenced by RexxMemory::createImage().
RexxObject * RexxInteger::format | ( | RexxObject * | Integers, |
RexxObject * | Decimals, | ||
RexxObject * | MathExp, | ||
RexxObject * | ExpTrigger | ||
) |
Definition at line 1234 of file IntegerClass.cpp.
References RexxNumberString::formatRexx(), and numberString().
Referenced by RexxMemory::createImage().
|
virtual |
Get the primitive hash value of this String object.
Reimplemented from RexxInternalObject.
Definition at line 92 of file IntegerClass.cpp.
References RexxString::getHashValue(), and stringValue().
|
virtual |
Reimplemented from RexxInternalObject.
Definition at line 1301 of file IntegerClass.cpp.
|
virtual |
Reimplemented from RexxInternalObject.
Definition at line 1311 of file IntegerClass.cpp.
|
inline |
Definition at line 148 of file IntegerClass.hpp.
References stringrep.
Referenced by RexxString::integerValue().
|
virtual |
Reimplemented from RexxInternalObject.
Definition at line 1281 of file IntegerClass.cpp.
Referenced by BUILTIN(), RexxString::compareTo(), RexxList::getEntry(), RexxActivation::getRandomSeed(), RexxMemory::gutCheck(), RexxActivation::random(), and RexxMemory::setOref().
|
virtual |
Reimplemented from RexxInternalObject.
Definition at line 1291 of file IntegerClass.cpp.
RexxObject * RexxInteger::hashCode | ( | ) |
Exported version of the HASHCODE method for retrieving the object's hash.
Definition at line 740 of file IntegerClass.cpp.
References RexxObject::hash(), and new_string().
Referenced by RexxMemory::createImage().
|
virtual |
Reimplemented from RexxObject.
Definition at line 148 of file IntegerClass.cpp.
References RexxObject::hasMethod(), and stringValue().
|
inline |
Definition at line 146 of file IntegerClass.hpp.
References value.
Referenced by RexxMemory::setOref().
|
virtual |
Retrieve the method instance for an object's defined method.
method_name | The method name. |
Reimplemented from RexxObject.
Definition at line 462 of file IntegerClass.cpp.
References RexxObject::instanceMethod(), and stringValue().
|
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 RexxObject.
Definition at line 479 of file IntegerClass.cpp.
References RexxObject::instanceMethods(), and stringValue().
RexxObject * RexxInteger::integerDivide | ( | RexxInteger * | other | ) |
Definition at line 601 of file IntegerClass.cpp.
References ARG_ONE, Numerics::DEFAULT_DIGITS, Error_Overflow_zero, integer_forward, isOfClass, new_integer(), number_digits(), reportException(), requiredArgument(), and value.
Referenced by RexxMemory::createImage().
|
virtual |
Reimplemented from RexxObject.
Definition at line 340 of file IntegerClass.cpp.
|
virtual |
Reimplemented from RexxObject.
Definition at line 665 of file IntegerClass.cpp.
References Error_Logical_value_method, Error_No_result_object_message, RexxString::isEqual(), isOfClass, RexxInternalObject::isSubClassOrEnhanced(), OREF_NULL, reportException(), RexxObject::sendMessage(), stringValue(), RexxObject::truthValue(), and value.
RexxInteger * RexxInteger::isGreaterOrEqual | ( | RexxObject * | other | ) |
Definition at line 853 of file IntegerClass.cpp.
References comp(), OREF_NULL, TheFalseObject, TheNilObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxInteger * RexxInteger::isGreaterThan | ( | RexxObject * | other | ) |
Definition at line 819 of file IntegerClass.cpp.
References comp(), OREF_NULL, TheFalseObject, TheNilObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
|
virtual |
Override for the normal isinstanceof method. This version allows the IntegerClass to "lie" about being a string.
other | The comparison class |
Reimplemented from RexxObject.
Definition at line 448 of file IntegerClass.cpp.
References RexxObject::isInstanceOf(), and stringValue().
RexxInteger * RexxInteger::isLessOrEqual | ( | RexxObject * | other | ) |
Definition at line 870 of file IntegerClass.cpp.
References comp(), OREF_NULL, TheFalseObject, TheNilObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxInteger * RexxInteger::isLessThan | ( | RexxObject * | other | ) |
Definition at line 836 of file IntegerClass.cpp.
References comp(), OREF_NULL, TheFalseObject, TheNilObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
|
inline |
Definition at line 141 of file IntegerClass.hpp.
References value.
|
virtual |
Reimplemented from RexxObject.
Definition at line 98 of file IntegerClass.cpp.
References memory_mark, and stringrep.
|
virtual |
Reimplemented from RexxObject.
Definition at line 107 of file IntegerClass.cpp.
References memory_mark_general, and stringrep.
|
virtual |
Convert an object to a logical value without raising an error.
result | The converted value. |
Reimplemented from RexxObject.
Definition at line 386 of file IntegerClass.cpp.
References value.
|
virtual |
Override for the default object makearray method.
Reimplemented from RexxObject.
Definition at line 143 of file IntegerClass.cpp.
References RexxString::makeArray(), and stringValue().
|
virtual |
Reimplemented from RexxObject.
Definition at line 129 of file IntegerClass.cpp.
References stringValue().
RexxObject * RexxInteger::Max | ( | RexxObject ** | args, |
size_t | argCount, | ||
size_t | named_argCount | ||
) |
Definition at line 1094 of file IntegerClass.cpp.
References Numerics::DEFAULT_DIGITS, Error_Incorrect_method_noarg, isOfClass, RexxNumberString::Max(), new_integer(), number_digits(), numberString(), OREF_NULL, reportException(), and value.
Referenced by RexxMemory::createImage().
RexxObject * RexxInteger::Min | ( | RexxObject ** | args, |
size_t | argCount, | ||
size_t | named_argCount | ||
) |
Definition at line 1143 of file IntegerClass.cpp.
References Numerics::DEFAULT_DIGITS, Error_Incorrect_method_noarg, isOfClass, RexxNumberString::Min(), new_integer(), number_digits(), numberString(), OREF_NULL, reportException(), and value.
Referenced by RexxMemory::createImage().
RexxObject * RexxInteger::minus | ( | RexxInteger * | other | ) |
Definition at line 542 of file IntegerClass.cpp.
References Numerics::DEFAULT_DIGITS, integer_forward, isOfClass, Numerics::MIN_WHOLENUMBER, new_integer(), number_digits(), OREF_NULL, and value.
Referenced by RexxMemory::createImage().
RexxObject * RexxInteger::multiply | ( | RexxInteger * | other | ) |
Definition at line 569 of file IntegerClass.cpp.
References Numerics::abs(), ARG_ONE, Numerics::DEFAULT_DIGITS, integer_forward, isOfClass, new_integer(), number_digits(), requiredArgument(), and value.
Referenced by RexxMemory::createImage().
RexxInteger * RexxInteger::notEqual | ( | RexxObject * | other | ) |
Definition at line 802 of file IntegerClass.cpp.
References comp(), OREF_NULL, TheFalseObject, TheNilObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxObject * RexxInteger::notOp | ( | ) |
Definition at line 956 of file IntegerClass.cpp.
References Error_Logical_value_method, TheFalseObject, TheTrueObject, and truthValue().
Referenced by RexxMemory::createImage().
|
virtual |
Reimplemented from RexxObject.
Definition at line 219 of file IntegerClass.cpp.
References new_numberstringFromWholenumber(), RexxString::numberString(), OREF_NULL, stringrep, and value.
Referenced by abs(), comp(), d2c(), d2x(), format(), Max(), Min(), and trunc().
|
virtual |
Convert an integer object into a whole number value using the default digits setting.
result | The returned result. |
Reimplemented from RexxObject.
Definition at line 261 of file IntegerClass.cpp.
References Numerics::abs(), Numerics::MAX_WHOLENUMBER, and value.
|
virtual |
Convert an integer object into a whole number value using the current digits setting.
result | The returned result. |
digits | The digits setting to apply to the conversion. |
Reimplemented from RexxObject.
Definition at line 284 of file IntegerClass.cpp.
References Numerics::abs(), Numerics::DEFAULT_DIGITS, Numerics::validMaxWhole, and value.
|
inline |
Definition at line 60 of file IntegerClass.hpp.
void * RexxInteger::operator new | ( | size_t | size | ) |
Definition at line 1385 of file IntegerClass.cpp.
References new_object(), RexxInternalObject::setHasNoReferences(), and T_Integer.
RexxObject * RexxInteger::operatorNot | ( | RexxObject * | dummy | ) |
Definition at line 965 of file IntegerClass.cpp.
References Error_Logical_value_method, TheFalseObject, TheTrueObject, and truthValue().
RexxObject * RexxInteger::orOp | ( | RexxObject * | other | ) |
Definition at line 1003 of file IntegerClass.cpp.
References ARG_ONE, Error_Logical_value_method, isPolymorphicString(), RexxObject::messageSend(), OREF_NULL, requiredArgument(), TheFalseObject, TheTrueObject, truthValue(), and RexxObject::truthValue().
Referenced by RexxMemory::createImage().
RexxObject * RexxInteger::plus | ( | RexxInteger * | other | ) |
Definition at line 517 of file IntegerClass.cpp.
References Numerics::DEFAULT_DIGITS, integer_forward, isOfClass, Numerics::MIN_WHOLENUMBER, new_integer(), number_digits(), OREF_NULL, and value.
Referenced by RexxMemory::createImage().
RexxObject * RexxInteger::power | ( | RexxObject * | other | ) |
Definition at line 655 of file IntegerClass.cpp.
References integer_forward.
Referenced by RexxMemory::createImage().
|
virtual |
Reimplemented from RexxInternalObject.
Definition at line 157 of file IntegerClass.cpp.
References Numerics::formatWholeNumber(), new_string(), OREF_NULL, OrefSet, RexxInternalObject::setHasReferences(), stringrep, and value.
RexxObject * RexxInteger::remainder | ( | RexxInteger * | other | ) |
Definition at line 628 of file IntegerClass.cpp.
References ARG_ONE, Numerics::DEFAULT_DIGITS, Error_Overflow_zero, integer_forward, isOfClass, new_integer(), number_digits(), reportException(), requiredArgument(), and value.
Referenced by RexxMemory::createImage().
RexxObject * RexxInteger::round | ( | ) |
Calculate the round value for a numeric value
Definition at line 1228 of file IntegerClass.cpp.
Referenced by RexxMemory::createImage().
void RexxInteger::setString | ( | RexxString * | string | ) |
Definition at line 349 of file IntegerClass.cpp.
References OrefSet, RexxInternalObject::setHasReferences(), and stringrep.
Referenced by RexxString::integerValue().
RexxObject * RexxInteger::sign | ( | void | ) |
Definition at line 1078 of file IntegerClass.cpp.
References IntegerOne, IntegerZero, new_integer(), and value.
Referenced by RexxMemory::createImage().
wholenumber_t RexxInteger::strictComp | ( | RexxObject * | other, |
RexxString * | alternativeOperator = OREF_NULL , |
||
RexxInteger ** | alternativeOperatorResultPtr = NULL |
||
) |
Definition at line 690 of file IntegerClass.cpp.
References ARG_ONE, isOfClass, requiredArgument(), RexxString::strictComp(), stringValue(), and value.
Referenced by strictEqual(), strictGreaterOrEqual(), strictGreaterThan(), strictLessOrEqual(), strictLessThan(), and strictNotEqual().
RexxInteger * RexxInteger::strictEqual | ( | RexxObject * | other | ) |
Definition at line 748 of file IntegerClass.cpp.
References OREF_NULL, strictComp(), TheFalseObject, TheNilObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxInteger * RexxInteger::strictGreaterOrEqual | ( | RexxObject * | other | ) |
Definition at line 922 of file IntegerClass.cpp.
References OREF_NULL, strictComp(), TheFalseObject, TheNilObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxInteger * RexxInteger::strictGreaterThan | ( | RexxObject * | other | ) |
Definition at line 888 of file IntegerClass.cpp.
References OREF_NULL, strictComp(), TheFalseObject, TheNilObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxInteger * RexxInteger::strictLessOrEqual | ( | RexxObject * | other | ) |
Definition at line 939 of file IntegerClass.cpp.
References OREF_NULL, strictComp(), TheFalseObject, TheNilObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxInteger * RexxInteger::strictLessThan | ( | RexxObject * | other | ) |
Definition at line 905 of file IntegerClass.cpp.
References OREF_NULL, strictComp(), TheFalseObject, TheNilObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxInteger * RexxInteger::strictNotEqual | ( | RexxObject * | other | ) |
Definition at line 767 of file IntegerClass.cpp.
References OREF_NULL, strictComp(), TheFalseObject, TheNilObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
|
inline |
Definition at line 145 of file IntegerClass.hpp.
References value.
|
virtual |
Reimplemented from RexxObject.
Definition at line 178 of file IntegerClass.cpp.
References Numerics::formatWholeNumber(), new_string(), OREF_NULL, OrefSet, RexxInternalObject::setHasReferences(), stringrep, and value.
Referenced by compareTo(), concat(), concatBlank(), getHashValue(), hasMethod(), instanceMethod(), instanceMethods(), isEqual(), isInstanceOf(), makeArray(), makeString(), RexxIntegerClass::RexxIntegerClass(), strictComp(), and unknown().
RexxObject * RexxInteger::trunc | ( | RexxObject * | decimals | ) |
Definition at line 1191 of file IntegerClass.cpp.
References numberString(), and RexxNumberString::trunc().
Referenced by RexxMemory::createImage().
|
virtual |
Reimplemented from RexxObject.
Definition at line 360 of file IntegerClass.cpp.
References reportException(), and value.
Referenced by andOp(), notOp(), operatorNot(), orOp(), and xorOp().
|
virtual |
Reimplemented from RexxObject.
Definition at line 411 of file IntegerClass.cpp.
References RexxObject::sendMessage(), and stringValue().
|
virtual |
Convert an integer object into an unsigned whole number value using the default digits setting.
result | The returned result. |
Reimplemented from RexxObject.
Definition at line 306 of file IntegerClass.cpp.
References Numerics::MAX_WHOLENUMBER, and wholeNumber().
|
virtual |
Convert an integer object into an unsigned whole number value using the current digits setting.
result | The returned result. |
digits | The digits setting to apply to the conversion. |
Reimplemented from RexxObject.
Definition at line 328 of file IntegerClass.cpp.
References Numerics::validMaxWhole, value, and wholeNumber().
|
inline |
Definition at line 144 of file IntegerClass.hpp.
References value.
Referenced by doubleValue(), RexxQueue::locateEntry(), and unsignedNumberValue().
RexxObject * RexxInteger::xorOp | ( | RexxObject * | other | ) |
Definition at line 1031 of file IntegerClass.cpp.
References ARG_ONE, Error_Logical_value_method, isPolymorphicString(), RexxObject::messageSend(), OREF_NULL, requiredArgument(), TheFalseObject, TheTrueObject, truthValue(), and RexxObject::truthValue().
Referenced by RexxMemory::createImage().
|
static |
Definition at line 152 of file IntegerClass.hpp.
|
static |
Definition at line 154 of file IntegerClass.hpp.
|
static |
Definition at line 166 of file IntegerClass.hpp.
|
static |
Definition at line 163 of file IntegerClass.hpp.
|
static |
Definition at line 162 of file IntegerClass.hpp.
|
static |
Definition at line 168 of file IntegerClass.hpp.
|
static |
Definition at line 167 of file IntegerClass.hpp.
|
static |
Definition at line 159 of file IntegerClass.hpp.
|
static |
Definition at line 165 of file IntegerClass.hpp.
|
static |
Definition at line 164 of file IntegerClass.hpp.
|
static |
Definition at line 161 of file IntegerClass.hpp.
|
static |
Definition at line 160 of file IntegerClass.hpp.
|
static |
Definition at line 158 of file IntegerClass.hpp.
|
static |
Definition at line 156 of file IntegerClass.hpp.
|
static |
Definition at line 151 of file IntegerClass.hpp.
|
protected |
Definition at line 172 of file IntegerClass.hpp.
Referenced by copyIntoTail(), getStringrep(), live(), liveGeneral(), numberString(), primitiveMakeString(), setString(), and stringValue().
|
static |
Definition at line 155 of file IntegerClass.hpp.
|
staticprotected |
Definition at line 175 of file IntegerClass.hpp.
|
protected |
Definition at line 173 of file IntegerClass.hpp.
Referenced by abs(), comp(), copyIntoTail(), decrementValue(), incrementValue(), integerDivide(), isEqual(), koper(), logicalValue(), Max(), Min(), minus(), multiply(), numberString(), numberValue(), plus(), primitiveMakeString(), remainder(), RexxInteger(), sign(), strictComp(), stringSize(), stringValue(), truthValue(), unsignedNumberValue(), and wholeNumber().