#include <StringClass.hpp>
Static Public Member Functions | |
static RexxString * | newString (const char *, size_t l) |
static RexxString * | rawString (size_t l) |
static RexxString * | newUpperString (const char *, stringsize_t l) |
static RexxString * | newString (double d) |
static RexxString * | newString (double d, size_t precision) |
static RexxString * | newProxy (const char *) |
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 RexxClass * | classInstance = OREF_NULL |
Static Public Attributes inherited from RexxObject | |
static PCPPM | operatorMethods [] |
static RexxClass * | classInstance = OREF_NULL |
Protected Attributes | |
HashCode | hashValue |
size_t | length |
RexxNumberString * | NumberString |
RexxObject * | text |
RexxObject * | encoding |
size_t | Attributes |
char | stringData [4] |
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 122 of file StringClass.hpp.
RexxString::RexxString | ( | ) |
Definition at line 114 of file StringClass.cpp.
References checkTE().
Referenced by newString(), newUpperString(), and rawString().
RexxString::RexxString | ( | RESTORETYPE | restoreType | ) |
Definition at line 171 of file StringClass.cpp.
References checkTE().
RexxInteger * RexxString::abbrev | ( | RexxString * | info, |
RexxInteger * | _length | ||
) |
Definition at line 186 of file StringClassMisc.cpp.
References ARG_ONE, ARG_TWO, getLength(), getStringData(), IntegerOne, IntegerZero, optionalLengthArgument(), and stringArgument().
Referenced by BUILTIN(), and RexxMemory::createImage().
RexxObject * RexxString::abs | ( | void | ) |
Definition at line 1151 of file StringClass.cpp.
References RexxNumberString::abs(), Error_Incorrect_method_string_nonumber, fastNumberString(), OREF_NULL, and reportException().
Referenced by BUILTIN(), and RexxMemory::createImage().
RexxObject * RexxString::andOp | ( | RexxObject * | other | ) |
Definition at line 2202 of file StringClass.cpp.
References ARG_ONE, Error_Logical_value_method, isPolymorphicString(), RexxObject::messageSend(), OREF_NULL, requiredArgument(), TheFalseObject, TheTrueObject, RexxObject::truthValue(), and truthValue().
Referenced by RexxNumberString::andOp(), and RexxMemory::createImage().
RexxString * RexxString::b2x | ( | ) |
Definition at line 550 of file StringClassConversion.cpp.
References StringUtil::chGetSm(), getLength(), getStringData(), getWritableData(), StringUtil::packNibble(), raw_string(), and StringUtil::validateSet().
Referenced by RexxMemory::createImage().
RexxString * RexxString::bitAnd | ( | RexxString * | string2, |
RexxString * | pad | ||
) |
Definition at line 60 of file StringClassBit.cpp.
References ARG_ONE, ARG_TWO, getLength(), getStringData(), getWritableData(), optionalPadArgument(), optionalStringArgument(), and raw_string().
Referenced by BUILTIN(), and RexxMemory::createImage().
RexxString * RexxString::bitOr | ( | RexxString * | string2, |
RexxString * | pad | ||
) |
Definition at line 131 of file StringClassBit.cpp.
References ARG_ONE, ARG_TWO, getLength(), getStringData(), getWritableData(), optionalPadArgument(), optionalStringArgument(), and raw_string().
Referenced by BUILTIN(), and RexxMemory::createImage().
RexxString * RexxString::bitXor | ( | RexxString * | string2, |
RexxString * | pad | ||
) |
Definition at line 202 of file StringClassBit.cpp.
References ARG_ONE, ARG_TWO, getLength(), getStringData(), getWritableData(), optionalPadArgument(), optionalStringArgument(), and raw_string().
Referenced by BUILTIN(), and RexxMemory::createImage().
RexxString * RexxString::c2d | ( | RexxInteger * | _length | ) |
Definition at line 602 of file StringClassConversion.cpp.
References x2dC2d().
Referenced by RexxMemory::createImage().
RexxString * RexxString::c2x | ( | ) |
Definition at line 213 of file StringClassConversion.cpp.
References getLength(), getStringData(), getWritableData(), IntToHexDigit(), and raw_string().
Referenced by RexxMemory::createImage().
RexxInteger * RexxString::caselessAbbrev | ( | RexxString * | info, |
RexxInteger * | _length | ||
) |
Definition at line 227 of file StringClassMisc.cpp.
References ARG_ONE, ARG_TWO, StringUtil::caselessCompare(), getLength(), getStringData(), optionalLengthArgument(), stringArgument(), TheFalseObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxString * RexxString::caselessChangeStr | ( | RexxString * | needle, |
RexxString * | newNeedle, | ||
RexxInteger * | countArg | ||
) |
Definition at line 631 of file StringClassMisc.cpp.
References ARG_ONE, ARG_THREE, ARG_TWO, StringUtil::caselessCountStr(), caselessPos(), getLength(), getStringData(), getWritableData(), Numerics::MAX_WHOLENUMBER, optionalPositive(), raw_string(), and stringArgument().
Referenced by RexxMemory::createImage().
RexxInteger * RexxString::caselessCompare | ( | RexxString * | other, |
RexxString * | pad | ||
) |
Caseless version of the compare() method.
string2 | The string to compare to. |
pad | The padding character used for length mismatches. |
Definition at line 339 of file StringClassMisc.cpp.
References ARG_ONE, ARG_TWO, getLength(), getStringData(), IntegerZero, new_integer(), optionalPadArgument(), and stringArgument().
Referenced by RexxMemory::createImage().
RexxInteger * RexxString::caselessCompareToRexx | ( | RexxString * | other, |
RexxInteger * | start_, | ||
RexxInteger * | len_ | ||
) |
Do a sorting comparison of two strings.
other | The other compare string. |
start_ | The starting compare position within the target string. |
len_ | The length of the compare substring. |
Definition at line 1181 of file StringClassMisc.cpp.
References ARG_ONE, ARG_THREE, ARG_TWO, getLength(), Numerics::maxVal(), optionalLengthArgument(), optionalPositionArgument(), primitiveCaselessCompareTo(), and stringArgument().
Referenced by RexxMemory::createImage().
size_t RexxString::caselessCountStr | ( | RexxString * | ) |
RexxInteger * RexxString::caselessCountStrRexx | ( | RexxString * | needle | ) |
Definition at line 549 of file StringClassMisc.cpp.
References ARG_ONE, StringUtil::caselessCountStr(), getLength(), getStringData(), new_integer(), and stringArgument().
Referenced by RexxMemory::createImage().
RexxInteger * RexxString::caselessEquals | ( | RexxString * | other | ) |
The string equals() method, which does a strict caseless compare with another string object.
other | The other string object. |
Definition at line 1333 of file StringClass.cpp.
References primitiveCaselessIsEqual(), TheFalseObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
const char* RexxString::caselessLastPos | ( | const char * | needle, |
size_t | needleLen, | ||
const char * | haystack, | ||
size_t | haystackLen | ||
) |
size_t RexxString::caselessLastPos | ( | RexxString * | needle, |
size_t | _start | ||
) |
Primitive implementation of a caseless lastpos search.
needle | The search needle. |
start | The starting position (origin 1). |
Definition at line 529 of file StringClassMisc.cpp.
References StringUtil::caselessLastPos(), getLength(), and getStringData().
RexxInteger * RexxString::caselessLastPosRexx | ( | RexxString * | needle, |
RexxInteger * | _start, | ||
RexxInteger * | _range | ||
) |
Rexx exported version of the caselessLastPos() method.
needle | The search needle. |
_start | The starting position. |
Definition at line 487 of file StringClassMisc.cpp.
References ARG_ONE, ARG_THREE, ARG_TWO, StringUtil::caselessLastPos(), getLength(), getStringData(), new_integer(), optionalLengthArgument(), optionalPositionArgument(), and stringArgument().
Referenced by RexxMemory::createImage().
RexxInteger * RexxString::caselessMatch | ( | RexxInteger * | start_, |
RexxString * | other, | ||
RexxInteger * | offset_, | ||
RexxInteger * | len_ | ||
) |
Test if regions within two strings match.
start_ | The starting compare position within the target string. This must be within the bounds of the string. |
other | The other compare string. |
offset_ | The starting offset of the compare string. This must be within the string bounds. The default start postion is 1. |
len_ | The length of the compare substring. The length and the offset must specify a valid substring of other. If not specified, this defaults to the substring from the offset to the end of the string. |
Definition at line 927 of file StringClassMisc.cpp.
References ARG_FOUR, ARG_ONE, ARG_THREE, ARG_TWO, Error_Incorrect_method_length, Error_Incorrect_method_position, getLength(), optionalLengthArgument(), optionalPositionArgument(), positionArgument(), primitiveCaselessMatch(), reportException(), stringArgument(), TheFalseObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxInteger * RexxString::caselessMatchChar | ( | RexxInteger * | position_, |
RexxString * | matchSet | ||
) |
Compare a single character at a give position against a set of characters to see if any of the characters is a match.
position_ | The character position |
matchSet | The set to compare against. |
Definition at line 1057 of file StringClassMisc.cpp.
References ARG_ONE, ARG_TWO, Error_Incorrect_method_position, getChar(), getLength(), positionArgument(), reportException(), stringArgument(), TheFalseObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
size_t RexxString::caselessPos | ( | RexxString * | needle, |
size_t | _start | ||
) |
Do a primitive level pos() search on a string.
needle | The search needle. |
_start | The starting position (origin 0) |
Definition at line 758 of file StringClassMisc.cpp.
References StringUtil::caselessPos(), getLength(), and getStringData().
Referenced by caselessChangeStr().
RexxInteger * RexxString::caselessPosRexx | ( | RexxString * | needle, |
RexxInteger * | pstart, | ||
RexxInteger * | range | ||
) |
Do a caseless search for one string in another.
needle | The search string. |
pstart | The starting position for the search. |
range | A maximum range for the search. |
Definition at line 721 of file StringClassMisc.cpp.
References ARG_ONE, ARG_THREE, ARG_TWO, StringUtil::caselessPos(), getLength(), getStringData(), new_integer(), optionalLengthArgument(), optionalPositionArgument(), and stringArgument().
Referenced by RexxMemory::createImage().
RexxInteger * RexxString::caselessWordPos | ( | RexxString * | phrase, |
RexxInteger * | pstart | ||
) |
Perform a caseless wordpos search on a string object.
phrase | The search phrase |
pstart | The starting search position. |
Definition at line 316 of file StringClassWord.cpp.
References StringUtil::caselessWordPos(), getLength(), and getStringData().
Referenced by RexxMemory::createImage().
RexxObject * RexxString::ceiling | ( | ) |
The String class version of the ceiling method.
Definition at line 1260 of file StringClass.cpp.
References RexxNumberString::ceiling(), Error_Incorrect_method_string_nonumber, fastNumberString(), OREF_NULL, and reportException().
Referenced by RexxMemory::createImage().
RexxString * RexxString::center | ( | RexxInteger * | _length, |
RexxString * | pad | ||
) |
Definition at line 63 of file StringClassSub.cpp.
References ARG_ONE, ARG_TWO, getLength(), getStringData(), getWritableData(), lengthArgument(), new_string(), optionalPadArgument(), and raw_string().
Referenced by RexxMemory::createImage().
RexxString * RexxString::changeStr | ( | RexxString * | needle, |
RexxString * | newNeedle, | ||
RexxInteger * | countArg | ||
) |
Definition at line 561 of file StringClassMisc.cpp.
References ARG_ONE, ARG_THREE, ARG_TWO, StringUtil::countStr(), getLength(), getStringData(), getWritableData(), Numerics::MAX_WHOLENUMBER, optionalPositive(), pos(), raw_string(), and stringArgument().
Referenced by BUILTIN(), and RexxMemory::createImage().
bool RexxString::checkIsASCII | ( | ) |
Definition at line 1826 of file StringClass.cpp.
References StringUtil::checkIsASCII(), getLength(), getStringData(), isASCII(), isASCIIChecked(), setIsASCII(), and setIsASCIIChecked().
Referenced by RexxMutableBuffer::append(), RexxMutableBuffer::caselessChangeStr(), RexxMutableBuffer::changeStr(), evaluate(), and isASCIIRexx().
bool RexxString::checkLower | ( | ) |
Definition at line 1842 of file StringClass.cpp.
References getLength(), getStringData(), setHasLower(), and setUpperOnly().
Referenced by upper().
void RexxString::checkTE | ( | const char * | method | ) |
Definition at line 77 of file StringClass.cpp.
References ActivityManager::currentActivity, RexxActivation::currentLine(), encoding, RexxActivity::getCurrentRexxFrame(), getStringData(), line, OREF_NULL, and text.
Referenced by evaluate(), newString(), newUpperString(), rawString(), and RexxString().
void RexxString::checkTE | ( | RESTORETYPE | restoreType | ) |
Definition at line 122 of file StringClass.cpp.
References ActivityManager::currentActivity, RexxActivation::currentLine(), encoding, RexxActivity::getCurrentRexxFrame(), getStringData(), line, OREF_NULL, and text.
wholenumber_t RexxString::comp | ( | RexxObject * | other, |
RexxString * | alternativeOperator = OREF_NULL , |
||
RexxInteger ** | alternativeOperatorResultPtr = NULL |
||
) |
Definition at line 752 of file StringClass.cpp.
References ARG_ONE, ch_BLANK, ch_TAB, RexxNumberString::comp(), fastNumberString(), getLength(), getStringData(), isPolymorphicString(), RexxObject::messageSend(), RexxObject::numberString(), OREF_NULL, REQUEST_STRING(), requiredArgument(), and TheNilObject.
Referenced by RexxNumberString::comp(), equal(), isGreaterOrEqual(), isGreaterThan(), isLessOrEqual(), isLessThan(), and notEqual().
RexxInteger * RexxString::compare | ( | RexxString * | string2, |
RexxString * | pad | ||
) |
Definition at line 256 of file StringClassMisc.cpp.
References ARG_ONE, ARG_TWO, getLength(), getStringData(), IntegerZero, new_integer(), optionalPadArgument(), and stringArgument().
Referenced by BUILTIN(), and RexxMemory::createImage().
|
virtual |
Wrapper around the compareTo() method for doing sort comparison of strings.
other | The other comparison object |
Reimplemented from RexxObject.
Definition at line 739 of file StringClass.cpp.
References RexxObject::compareTo(), compareToRexx(), RexxInteger::getValue(), RexxInternalObject::isBaseClass(), and OREF_NULL.
Referenced by RexxInteger::compareTo(), and RexxNumberString::compareTo().
RexxInteger * RexxString::compareToRexx | ( | RexxString * | other, |
RexxInteger * | start_, | ||
RexxInteger * | len_ | ||
) |
Do a sorting comparison of two strings.
other | The other compare string. |
start_ | The starting compare position within the target string. |
len_ | The length of the compare substring. |
Definition at line 1094 of file StringClassMisc.cpp.
References ARG_ONE, ARG_THREE, ARG_TWO, getLength(), Numerics::maxVal(), optionalLengthArgument(), optionalPositionArgument(), primitiveCompareTo(), and stringArgument().
Referenced by compareTo(), and RexxMemory::createImage().
RexxString * RexxString::concat | ( | RexxString * | other | ) |
Definition at line 1564 of file StringClass.cpp.
References getLength(), getStringData(), getWritableData(), and raw_string().
Referenced by RexxInteger::concat(), RexxSource::constantDirective(), RexxCompoundElement::createCompoundName(), RexxActivity::display(), RexxActivity::displayDebug(), RexxExpressionMessage::makeAssignment(), RexxActivity::messageSubstitution(), and RexxActivation::traceCompoundName().
RexxString * RexxString::concatBlank | ( | RexxObject * | otherObj | ) |
Definition at line 1697 of file StringClass.cpp.
References ARG_ONE, Error_Incorrect_method_nostring, getLength(), getStringData(), getWritableData(), IntegerOne, isPolymorphicString(), RexxObject::messageSend(), OREF_NULL, raw_string(), reportException(), REQUEST_STRING(), and requiredArgument().
Referenced by RexxNumberString::concatBlank(), RexxObject::concatBlank(), RexxInteger::concatBlank(), and RexxMemory::createImage().
RexxString * RexxString::concatRexx | ( | RexxObject * | otherObj | ) |
Definition at line 1600 of file StringClass.cpp.
References ARG_ONE, Error_Incorrect_method_nostring, getLength(), getStringData(), getWritableData(), IntegerOne, isPolymorphicString(), RexxObject::messageSend(), OREF_NULL, raw_string(), reportException(), REQUEST_STRING(), and requiredArgument().
Referenced by RexxNumberString::concat(), RexxInteger::concat(), RexxObject::concatRexx(), and RexxMemory::createImage().
RexxString * RexxString::concatToCstring | ( | const char * | other | ) |
Definition at line 1656 of file StringClass.cpp.
References getLength(), getWritableData(), and raw_string().
Referenced by RexxSource::argList(), RexxSource::attributeDirective(), RexxActivation::command(), RexxClass::defaultName(), RexxObject::defaultName(), RexxDotVariable::evaluate(), RexxInstructionUseStrict::executeNamedArguments(), RexxDotVariable::getValue(), RexxSource::methodDirective(), RexxSource::raiseNew(), RexxObject::requestRexx(), RexxActivation::rexxVariable(), and RexxSource::signalNew().
RexxString * RexxString::concatWith | ( | RexxString * | other, |
char | between | ||
) |
Definition at line 2170 of file StringClass.cpp.
References getLength(), getStringData(), getWritableData(), and raw_string().
Referenced by RexxInteger::concatBlank(), RexxActivity::display(), and RexxActivity::displayDebug().
RexxString * RexxString::concatWithCstring | ( | const char * | other | ) |
Definition at line 1676 of file StringClass.cpp.
References getLength(), getWritableData(), and raw_string().
Referenced by RexxSource::argList(), RexxSource::attributeDirective(), RexxActivation::command(), RexxClass::defaultName(), RexxActivity::display(), RexxActivity::displayDebug(), RexxInstructionUseStrict::executeNamedArguments(), RexxNativeActivation::getContextStem(), and RexxSource::methodDirective().
RexxString * RexxString::copies | ( | RexxInteger * | _copies | ) |
Definition at line 394 of file StringClassMisc.cpp.
References ARG_ONE, getLength(), getStringData(), getWritableData(), raw_string(), requiredArgument(), and RexxObject::requiredNonNegative().
Referenced by RexxMemory::createImage().
size_t RexxString::copyData | ( | size_t | startPos, |
char * | buffer, | ||
size_t | bufl | ||
) |
Definition at line 613 of file StringClass.cpp.
References getLength(), and getStringData().
Referenced by StringGet().
|
virtual |
Reimplemented from RexxInternalObject.
Definition at line 389 of file StringClass.cpp.
References RexxCompoundTail::append(), getLength(), and getStringData().
Referenced by RexxCompoundTail::buildTail(), RexxCompoundTail::buildUnresolvedTail(), and RexxObject::copyIntoTail().
void RexxString::copyToRxstring | ( | RXSTRING & | r | ) |
Copy a string to an RXSTRING, with appropriate allocation of a new buffer if required.
r |
Definition at line 2529 of file StringClass.cpp.
References SystemInterpreter::allocateResultMemory(), getLength(), getStringData(), _RXSTRING::strlength, and _RXSTRING::strptr.
RexxInteger * RexxString::countStrRexx | ( | RexxString * | needle | ) |
Definition at line 536 of file StringClassMisc.cpp.
References ARG_ONE, StringUtil::countStr(), getLength(), getStringData(), new_integer(), and stringArgument().
Referenced by BUILTIN(), and RexxMemory::createImage().
|
static |
Create initial class object at bootstrap time.
Definition at line 71 of file StringClass.cpp.
References CLASS_CREATE.
Referenced by RexxMemory::createImage().
RexxNumberString * RexxString::createNumberString | ( | ) |
Definition at line 575 of file StringClass.cpp.
References getLength(), getStringData(), isOfClass, new_numberstring(), NumberString, OREF_NULL, OrefSet, RexxObject::requestString(), RexxInternalObject::setHasReferences(), setNonNumeric(), and RexxNumberString::setString().
Referenced by fastNumberString().
RexxString * RexxString::d2c | ( | RexxInteger * | _length | ) |
Definition at line 256 of file StringClassConversion.cpp.
References RexxNumberString::d2xD2c(), Error_Incorrect_method_d2c, numberString(), OREF_NULL, and reportException().
Referenced by RexxMemory::createImage().
RexxString * RexxString::d2x | ( | RexxInteger * | _length | ) |
Definition at line 273 of file StringClassConversion.cpp.
References RexxNumberString::d2xD2c(), Error_Incorrect_method_d2x, numberString(), OREF_NULL, and reportException().
Referenced by RexxMemory::createImage().
RexxObject * RexxString::dataType | ( | RexxString * | pType | ) |
Definition at line 442 of file StringClassMisc.cpp.
References ARG_ONE, StringUtil::dataType(), new_string(), optionalOptionArgument(), OREF_NULL, TheTrueObject, and type.
Referenced by RexxMemory::createImage().
RexxString * RexxString::decodeBase64 | ( | ) |
Reverse the effect of an encodebase64 operation, converting a string in Base64 format into a "normal" character string.
Definition at line 128 of file StringClassConversion.cpp.
References Error_Incorrect_method_invbase64, getLength(), getStringData(), getWritableData(), raw_string(), and reportException().
Referenced by RexxMemory::createImage().
RexxString * RexxString::delstr | ( | RexxInteger * | position, |
RexxInteger * | _length | ||
) |
Definition at line 128 of file StringClassSub.cpp.
References ARG_ONE, ARG_TWO, getLength(), getStringData(), getWritableData(), optionalLengthArgument(), positionArgument(), and raw_string().
Referenced by RexxMemory::createImage().
RexxString * RexxString::delWord | ( | RexxInteger * | position, |
RexxInteger * | plength | ||
) |
Definition at line 62 of file StringClassWord.cpp.
References ARG_ONE, ARG_TWO, getLength(), getStringData(), getWritableData(), Numerics::MAX_WHOLENUMBER, StringUtil::nextWord(), optionalLengthArgument(), positionArgument(), raw_string(), and StringUtil::skipBlanks().
Referenced by RexxMemory::createImage().
RexxObject * RexxString::divide | ( | RexxObject * | right | ) |
Definition at line 1051 of file StringClass.cpp.
References RexxObject::classObject(), RexxNumberString::divide(), Error_Conversion_operator, fastNumberString(), RexxObject::messageSend(), OREF_NULL, reportException(), RexxObject::stringValue(), TheIntegerClass, and TheNumberStringClass.
Referenced by RexxMemory::createImage().
|
virtual |
Reimplemented from RexxObject.
Definition at line 493 of file StringClass.cpp.
References RexxNumberString::doubleValue(), fastNumberString(), isnan, OREF_NULL, and strCompare().
Referenced by RexxObject::doubleValue().
|
virtual |
Reimplemented from RexxInternalObject.
Definition at line 326 of file StringClass.cpp.
References RexxInternalObject::behaviour, RexxClass::getId(), RexxBehaviour::getOwningClass(), getStringData(), hasRexxTextArguments(), RexxObject::requestText(), and text.
RexxString * RexxString::encodeBase64 | ( | ) |
Convert the character string into the same string with the characters converted into a Base64 encoding.
Definition at line 64 of file StringClassConversion.cpp.
References getLength(), getStringData(), getWritableData(), and raw_string().
Referenced by RexxMemory::createImage().
|
inline |
Definition at line 419 of file StringClass.hpp.
References getChar(), and getLength().
Referenced by RexxVariable::isStem().
RexxInteger * RexxString::equal | ( | RexxObject * | other | ) |
Definition at line 1395 of file StringClass.cpp.
References comp(), OREF_NULL, TheFalseObject, TheNilObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxInteger * RexxString::equals | ( | RexxString * | other | ) |
The string equals() method, which does a strict compare with another string object.
other | The other string object. |
Definition at line 1319 of file StringClass.cpp.
References primitiveIsEqual(), TheFalseObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
|
virtual |
Reimplemented from RexxInternalObject.
Definition at line 2386 of file StringClass.cpp.
References checkIsASCII(), checkTE(), encoding, evaluateAsText(), getStringData(), getValue(), integerValue(), RexxObject::messageSend(), OREF_NULL, OrefSet, RexxExpressionStack::push(), setevaluateAsText(), setText(), text, TRACE_PREFIX_LITERAL, and RexxActivation::traceIntermediate().
|
inline |
Definition at line 404 of file StringClass.hpp.
References Attributes, and STRING_EVAL_AS_TEXT.
Referenced by evaluate().
|
inline |
Definition at line 240 of file StringClass.hpp.
References getStringData(), and newString().
Referenced by RexxSource::addText(), build(), RexxVariableDictionary::buildCompoundVariable(), RexxSource::extract(), RexxSource::extractSource(), RexxVariableDictionary::getVariableRetriever(), lower(), RexxActivity::messageSubstitution(), RexxTarget::remainder(), RexxNativeActivation::stemSort(), RexxDirectory::unknown(), and upper().
|
inline |
Definition at line 423 of file StringClass.hpp.
References createNumberString(), nonNumeric(), NumberString, and OREF_NULL.
Referenced by abs(), ceiling(), comp(), divide(), doubleValue(), floor(), format(), integerDivide(), integerValue(), Max(), Min(), minus(), multiply(), numberValue(), plus(), power(), remainder(), round(), sign(), trunc(), and unsignedNumberValue().
|
inline |
Definition at line 343 of file StringClass.hpp.
References length.
Referenced by FinishBufferString(), and rsnprintf().
|
virtual |
Reimplemented from RexxVirtualBase.
Definition at line 292 of file StringClass.cpp.
References cleanUpFlatten, flatten_reference, OREF_NULL, OrefSet, and setUpFlatten.
RexxObject * RexxString::floor | ( | ) |
The String class version of the floor method.
Definition at line 1242 of file StringClass.cpp.
References Error_Incorrect_method_string_nonumber, fastNumberString(), RexxNumberString::floor(), OREF_NULL, and reportException().
Referenced by RexxMemory::createImage().
RexxObject * RexxString::format | ( | RexxObject * | Integers, |
RexxObject * | Decimals, | ||
RexxObject * | MathExp, | ||
RexxObject * | ExpTrigger | ||
) |
Definition at line 1292 of file StringClass.cpp.
References Error_Incorrect_method_string_nonumber, fastNumberString(), RexxNumberString::formatRexx(), OREF_NULL, and reportException().
Referenced by BUILTIN(), and RexxMemory::createImage().
|
inline |
Definition at line 349 of file StringClass.hpp.
References stringData.
Referenced by build(), RexxVariableDictionary::buildCompoundVariable(), BUILTIN(), RexxMutableBuffer::caselessMatchChar(), caselessMatchChar(), RexxActivation::debugPause(), RexxObject::defaultName(), endsWith(), RexxInstructionUseStrict::executeNamedArguments(), RexxNativeActivation::getContextStem(), RexxVariableDictionary::getDirectVariableRetriever(), RexxVariableDictionary::getVariableRetriever(), isSymbol(), RexxVariableReference::list(), logicalValue(), RexxMutableBuffer::matchChar(), matchChar(), RexxActivity::messageSubstitution(), RexxSource::needVariable(), RexxMessage::newRexx(), optionArgument(), padArgument(), RexxSource::parseTraceSetting(), RexxObject::run(), RexxSource::sourceNextToken(), RexxNativeActivation::stemSort(), and RexxDirectory::unknown().
|
inline |
Definition at line 365 of file StringClass.hpp.
References encoding.
Referenced by RexxSource::commonString(), liveGeneral(), RexxMemory::restoreImage(), and setEncodingRexx().
|
virtual |
Get the primitive hash value of this String object.
Reimplemented from RexxInternalObject.
Definition at line 206 of file StringClass.cpp.
References getStringHash().
Referenced by RexxInteger::getHashValue(), RexxNumberString::getHashValue(), and hash().
|
inline |
Definition at line 341 of file StringClass.hpp.
References length.
Referenced by abbrev(), RexxSource::addCompound(), RexxSource::addText(), RexxMutableBuffer::append(), b2x(), bitAnd(), bitOr(), bitXor(), BufferStringLength(), build(), RexxVariableDictionary::buildCompoundVariable(), RexxCompoundTail::buildTail(), BUILTIN(), c2x(), RexxActivity::callCommandExit(), RexxActivity::callFunctionExit(), RexxActivity::callQueueNameExit(), caselessAbbrev(), caselessChangeStr(), RexxMutableBuffer::caselessChangeStr(), caselessCompare(), caselessCompareToRexx(), StringUtil::caselessCountStr(), caselessCountStrRexx(), StringUtil::caselessLastPos(), caselessLastPos(), caselessLastPosRexx(), RexxMutableBuffer::caselessMatch(), caselessMatch(), RexxMutableBuffer::caselessMatchChar(), caselessMatchChar(), StringUtil::caselessPos(), caselessPos(), caselessPosRexx(), RexxTarget::caselessSearch(), StringUtil::caselessWordPos(), caselessWordPos(), center(), changeStr(), RexxMutableBuffer::changeStr(), checkIsASCII(), checkLower(), RexxInstructionUseStrict::checkNamedArguments(), checkPadArgument(), CommandHandlerDispatcher::CommandHandlerDispatcher(), comp(), compare(), RexxCompoundTail::compare(), compareToRexx(), concat(), concatBlank(), concatRexx(), concatToCstring(), concatWith(), concatWithCstring(), copies(), copyData(), RexxInteger::copyIntoTail(), copyIntoTail(), copyToRxstring(), RexxNativeActivation::copyValue(), StringUtil::countStr(), countStrRexx(), RexxCompoundTail::createCompoundName(), createNumberString(), StringUtil::dataType(), RexxActivation::debugPause(), decodeBase64(), delstr(), delWord(), encodeBase64(), endsWith(), RexxInstructionOptions::execute(), RexxInstructionUseStrict::executeNamedArguments(), RexxSource::extract(), SysFileSystem::extractDirectory(), SysFileSystem::extractExtension(), SysFileSystem::extractFile(), RexxSource::extractSource(), RexxNativeActivation::getContextStem(), RexxVariableDictionary::getDirectVariableRetriever(), getObjectHashCode(), SystemInterpreter::getSourceString(), getStringHash(), RexxVariableDictionary::getVariableRetriever(), RexxMutableBuffer::insert(), insert(), isEqual(), isInteger(), isSymbol(), StringUtil::lastPos(), lastPos(), lastPosRexx(), left(), lengthRexx(), RexxVariableReference::list(), RexxMethod::loadExternalMethod(), RoutineClass::loadExternalRoutine(), logicalValue(), lower(), lowerRexx(), StringUtil::makearray(), makeString(), RexxMutableBuffer::match(), match(), NamedArguments::match(), RexxMutableBuffer::matchChar(), matchChar(), Interpreter::messageNumber(), RexxActivity::messageSubstitution(), RexxMutableBufferClass::newRexx(), newRexx(), normalize(), numberString(), RexxMutableBuffer::overlay(), overlay(), padArgument(), RexxSource::parseTraceSetting(), StringUtil::pos(), pos(), RexxSource::position(), posRexx(), primitiveCaselessCompareTo(), primitiveCaselessIsEqual(), primitiveCaselessMatch(), primitiveCompareTo(), primitiveIsEqual(), primitiveMatch(), put(), replaceAt(), RexxSource::resolveKeyword(), RexxActivation::resolveStream(), reverse(), right(), rsnprintf(), RexxTarget::search(), space(), RexxNativeActivation::stemSort(), strictComp(), RexxHashTable::stringGet(), RexxHashTable::stringGetAll(), StringLength(), RexxHashTable::stringPut(), stringTrace(), stringValue(), strip(), subchar(), substr(), subWord(), subWords(), toRxstring(), RexxActivation::traceCompoundValue(), RexxActivation::traceEntry(), RexxActivation::traceOperatorValue(), RexxActivation::traceSourceString(), RexxActivation::traceTaggedValue(), RexxActivation::traceValue(), translate(), RexxMutableBuffer::translate(), truthValue(), RexxDirectory::unknown(), upper(), upperRexx(), RexxSource::useNew(), SystemInterpreter::validateAddressName(), StringUtil::verify(), verify(), word(), wordIndex(), wordLength(), StringUtil::wordPos(), wordPos(), words(), RexxSource::words(), x2b(), x2c(), and x2dC2d().
HashCode RexxString::getObjectHashCode | ( | ) |
Convert a string returned from an object HashCode() method into a binary hashcode suitable for the hash collections.
Definition at line 219 of file StringClass.cpp.
References getLength(), and getStringData().
|
virtual |
Reimplemented from RexxInternalObject.
Definition at line 2563 of file StringClass.cpp.
|
virtual |
Reimplemented from RexxInternalObject.
Definition at line 2573 of file StringClass.cpp.
|
inline |
Definition at line 344 of file StringClass.hpp.
References stringData.
Referenced by abbrev(), RexxSource::addClause(), RexxSource::addCompound(), RexxSource::addText(), RexxMutableBuffer::append(), b2x(), bitAnd(), bitOr(), bitXor(), RexxCompoundTail::buildTail(), BUILTIN(), c2x(), RexxActivity::callCommandExit(), RexxActivity::callFunctionExit(), RexxActivation::callMacroSpaceFunction(), RexxActivity::callQueueNameExit(), RexxNativeActivation::callRegisteredRoutine(), caselessAbbrev(), caselessChangeStr(), RexxMutableBuffer::caselessChangeStr(), caselessCompare(), caselessCountStrRexx(), StringUtil::caselessLastPos(), caselessLastPos(), caselessLastPosRexx(), StringUtil::caselessPos(), caselessPos(), caselessPosRexx(), StringUtil::caselessWordPos(), caselessWordPos(), center(), changeStr(), RexxMutableBuffer::changeStr(), checkIsASCII(), checkLower(), RexxInstructionUseStrict::checkNamedArguments(), checkTE(), CommandHandlerDispatcher::CommandHandlerDispatcher(), RexxSource::commonString(), comp(), compare(), RexxCompoundTail::compare(), concat(), concatBlank(), concatRexx(), concatWith(), copies(), copyData(), RexxInteger::copyIntoTail(), copyIntoTail(), copyToRxstring(), RexxNativeActivation::copyValue(), countStrRexx(), RexxCompoundTail::createCompoundName(), createNumberString(), StringUtil::dataType(), decodeBase64(), RexxObject::defMethod(), delstr(), delWord(), RexxNumberString::doubleValue(), PackageManager::dropRegisteredRoutine(), dumpClauseImpl(), dumpTokensImpl(), dynamicTarget(), encodeBase64(), RexxSource::errorToken(), evaluate(), RexxInstructionUseStrict::executeNamedArguments(), extract(), SysFileSystem::extractDirectory(), SysFileSystem::extractExtension(), SysFileSystem::extractFile(), RoutineClass::fromFile(), RexxActivation::getMacroCode(), GetMessageName(), getObjectHashCode(), LibraryPackage::getPackageTable(), GetRoutineName(), SystemInterpreter::getSourceString(), RexxTarget::getWord(), RexxObject::idString(), RexxSource::initFile(), RexxMutableBuffer::insert(), insert(), isEqual(), isInteger(), isSymbol(), StringUtil::lastPos(), lastPos(), lastPosRexx(), left(), liveGeneral(), RexxMethod::loadExternalMethod(), RoutineClass::loadExternalRoutine(), PackageManager::loadRequires(), lower(), StringUtil::makearray(), RexxClass::makeProxy(), makeString(), NamedArguments::match(), Interpreter::messageNumber(), RexxMutableBufferClass::newRexx(), newRexx(), normalize(), numberString(), ObjectToStringValue(), RexxNativeActivation::objectToValue(), RexxMemory::orphanCheckMark(), RexxMutableBuffer::overlay(), overlay(), RexxNativeActivation::pointerString(), StringUtil::pos(), pos(), RexxSource::position(), posRexx(), primitiveCaselessCompareTo(), primitiveCaselessIsEqual(), RexxMutableBuffer::primitiveCaselessMatch(), primitiveCaselessMatch(), primitiveCompareTo(), primitiveIsEqual(), RexxMutableBuffer::primitiveMatch(), primitiveMatch(), RexxNativeActivation::processArguments(), RoutineClass::processInstore(), ProgramMetaData::ProgramMetaData(), put(), SystemInterpreter::qualifyFileSystemName(), PackageManager::queryRegisteredRoutine(), RexxMutableBuffer::replaceAt(), replaceAt(), InterpreterInstance::resolveCommandHandler(), RexxSource::resolveKeyword(), SysInterpreterInstance::resolveProgramName(), PackageManager::resolveRegisteredRoutineEntry(), PackageManager::resolveRoutine(), RoutineClass::restoreFromMacroSpace(), RexxMemory::restoreImage(), reverse(), RexxActivation::RexxActivation(), RexxSourceLiteral::RexxSourceLiteral(), right(), rmemcmp(), rmemcpy(), rstrcat(), rstrcmp(), rstrcpy(), RexxMemory::runUninits(), RexxMemory::saveImageMark(), RexxObject::setMethod(), space(), strictComp(), StringData(), RexxHashTable::stringGet(), RexxHashTable::stringGetAll(), RexxHashTable::stringPut(), stringTrace(), stringValue(), strip(), subchar(), substr(), subWord(), subWords(), toRxstring(), RexxArray::toString(), RexxActivation::traceEntry(), RexxActivation::traceSourceString(), RexxActivation::traceValue(), translate(), RexxMutableBuffer::translate(), truthValue(), upper(), SystemInterpreter::valueFunction(), StringUtil::verify(), verify(), word(), wordIndex(), wordLength(), StringUtil::wordPos(), wordPos(), words(), x2b(), and x2c().
|
inline |
Definition at line 140 of file StringClass.hpp.
References getLength(), hashValue, and stringData.
Referenced by getHashValue(), and hash().
|
inline |
Definition at line 352 of file StringClass.hpp.
References text.
Referenced by RexxSource::commonString(), liveGeneral(), RexxMemory::restoreImage(), and setTextRexx().
|
virtual |
Reimplemented from RexxInternalObject.
Definition at line 2543 of file StringClass.cpp.
Referenced by evaluate().
|
virtual |
Reimplemented from RexxInternalObject.
Definition at line 2553 of file StringClass.cpp.
|
inline |
Definition at line 345 of file StringClass.hpp.
References stringData.
Referenced by b2x(), bitAnd(), bitOr(), bitXor(), BufferStringData(), RexxCompoundTail::buildTail(), c2x(), caselessChangeStr(), center(), changeStr(), concat(), concatBlank(), concatRexx(), concatToCstring(), concatWith(), concatWithCstring(), copies(), RexxCompoundTail::createCompoundName(), decodeBase64(), delstr(), delWord(), encodeBase64(), RexxNumberString::formatInternal(), SystemInterpreter::getSourceString(), insert(), left(), lower(), newUpperString(), overlay(), StringUtil::packHex(), put(), replaceAt(), reverse(), right(), rsnprintf(), space(), stringTrace(), toRxstring(), translate(), RexxNumberString::truncInternal(), upper(), x2b(), and x2dC2d().
|
virtual |
Reimplemented from RexxInternalObject.
Definition at line 179 of file StringClass.cpp.
References Error_No_result_object_message, getHashValue(), getStringHash(), isString(), OREF_NULL, reportException(), RexxObject::requestString(), and RexxObject::sendMessage().
|
inline |
Definition at line 379 of file StringClass.hpp.
References Attributes, and STRING_HASLOWER.
Referenced by upper().
RexxString * RexxString::insert | ( | RexxString * | newStrObj, |
RexxInteger * | position, | ||
RexxInteger * | _length, | ||
RexxString * | pad | ||
) |
Definition at line 189 of file StringClassSub.cpp.
References ARG_FOUR, ARG_ONE, ARG_THREE, ARG_TWO, getLength(), getStringData(), getWritableData(), Numerics::minVal(), optionalLengthArgument(), optionalPadArgument(), raw_string(), and stringArgument().
Referenced by BUILTIN(), and RexxMemory::createImage().
RexxObject * RexxString::integerDivide | ( | RexxObject * | right | ) |
Definition at line 1076 of file StringClass.cpp.
References RexxObject::classObject(), Error_Conversion_operator, fastNumberString(), RexxNumberString::integerDivide(), RexxObject::messageSend(), OREF_NULL, reportException(), RexxObject::stringValue(), TheIntegerClass, and TheNumberStringClass.
Referenced by RexxMemory::createImage().
|
virtual |
Reimplemented from RexxInternalObject.
Definition at line 2120 of file StringClass.cpp.
References fastNumberString(), RexxInteger::getStringrep(), RexxNumberString::integerValue(), OREF_NULL, RexxInteger::setString(), and TheNilObject.
Referenced by evaluate(), RexxObject::integerValue(), RexxObject::requestInteger(), and RexxObject::requiredInteger().
|
inline |
Definition at line 397 of file StringClass.hpp.
References Attributes, and STRING_ISASCII.
Referenced by checkIsASCII().
|
inline |
Definition at line 385 of file StringClass.hpp.
References Attributes, and STRING_ISASCII_CHECKED.
Referenced by checkIsASCII().
RexxInteger * RexxString::isASCIIRexx | ( | ) |
Definition at line 1836 of file StringClass.cpp.
References checkIsASCII(), TheFalseObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
|
virtual |
Reimplemented from RexxInternalObject.
Definition at line 646 of file StringClass.cpp.
References ARG_ONE, Error_Logical_value_method, Error_No_result_object_message, getLength(), getStringData(), RexxInternalObject::isBaseClass(), OREF_NULL, reportException(), REQUEST_STRING(), requiredArgument(), RexxObject::sendMessage(), TheNilObject, and RexxObject::truthValue().
Referenced by RexxActivity::displayCondition(), RexxInteger::isEqual(), RexxNumberString::isEqual(), and RexxNativeActivation::trap().
RexxInteger * RexxString::isGreaterOrEqual | ( | RexxObject * | other | ) |
Definition at line 1463 of file StringClass.cpp.
References comp(), OREF_NULL, TheFalseObject, TheNilObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxInteger * RexxString::isGreaterThan | ( | RexxObject * | other | ) |
Definition at line 1429 of file StringClass.cpp.
References comp(), OREF_NULL, TheFalseObject, TheNilObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxObject * RexxString::isInteger | ( | ) |
Definition at line 2327 of file StringClass.cpp.
References ch_BLANK, ch_MINUS, ch_NINE, ch_PERIOD, ch_PLUS, ch_TAB, ch_ZERO, getLength(), getStringData(), TheFalseObject, and TheTrueObject.
Referenced by RexxNumberString::isInteger().
RexxInteger * RexxString::isLessOrEqual | ( | RexxObject * | other | ) |
Definition at line 1480 of file StringClass.cpp.
References comp(), OREF_NULL, TheFalseObject, TheNilObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxInteger * RexxString::isLessThan | ( | RexxObject * | other | ) |
Definition at line 1446 of file StringClass.cpp.
References comp(), OREF_NULL, TheFalseObject, TheNilObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
int RexxString::isSymbol | ( | ) |
Definition at line 55 of file StringClassMisc.cpp.
References getChar(), getLength(), getStringData(), RexxSource::isSymbolCharacter(), MAX_SYMBOL_LENGTH, STRING_BAD_VARIABLE, STRING_COMPOUND_NAME, STRING_LITERAL, STRING_LITERAL_DOT, STRING_NAME, STRING_NUMERIC, and STRING_STEM.
Referenced by BUILTIN(), StringUtil::dataType(), RexxSource::getRetriever(), and RexxVariableDictionary::getVariableRetriever().
size_t RexxString::lastPos | ( | RexxString * | needle, |
size_t | _start | ||
) |
Primitive implementation of a lastpos search.
needle | The search needle. |
start | The starting position (origin 1). |
Definition at line 511 of file StringClassMisc.cpp.
References getLength(), getStringData(), and StringUtil::lastPos().
RexxInteger * RexxString::lastPosRexx | ( | RexxString * | needle, |
RexxInteger * | _start, | ||
RexxInteger * | _range | ||
) |
Do a lastpos() search for a string.
needle | The search needle. |
_start | The starting position. |
Definition at line 472 of file StringClassMisc.cpp.
References getLength(), getStringData(), and StringUtil::lastPosRexx().
Referenced by BUILTIN(), and RexxMemory::createImage().
RexxString * RexxString::left | ( | RexxInteger * | _length, |
RexxString * | pad | ||
) |
Definition at line 294 of file StringClassSub.cpp.
References ARG_ONE, ARG_TWO, getLength(), getStringData(), getWritableData(), lengthArgument(), Numerics::minVal(), optionalPadArgument(), and raw_string().
Referenced by RexxMemory::createImage().
RexxObject * RexxString::lengthRexx | ( | ) |
Definition at line 637 of file StringClass.cpp.
References getLength(), and new_integer().
Referenced by BUILTIN(), and RexxMemory::createImage().
|
virtual |
Reimplemented from RexxVirtualBase.
Definition at line 247 of file StringClass.cpp.
References encoding, memory_mark, NumberString, and text.
|
virtual |
Reimplemented from RexxVirtualBase.
Definition at line 258 of file StringClass.cpp.
References encoding, getEncoding(), getStringData(), getText(), memory_mark_general, NumberString, OREF_NULL, and text.
RexxObject* RexxString::logicalOperation | ( | RexxObject * | , |
RexxObject * | , | ||
unsigned int | |||
) |
|
virtual |
Convert an object to a logical value without raising an error.
result | The converted value. |
Reimplemented from RexxObject.
Definition at line 1795 of file StringClass.cpp.
References getChar(), getLength(), isOfClass, and RexxObject::requestString().
Referenced by RexxObject::logicalValue().
RexxString * RexxString::lower | ( | ) |
Definition at line 1950 of file StringClass.cpp.
References getLength(), getStringData(), getWritableData(), and raw_string().
Referenced by lowerRexx(), RexxTarget::next(), and StringLower().
RexxString * RexxString::lower | ( | size_t | offset, |
size_t | _length | ||
) |
Lowercase a portion of a Rexx string, returning a new string object. This method assumes the offset and length are already valid for this string object.
start | The starting offset of the segment to lowercase (origin 0). |
length | The length to lowercase. |
Definition at line 2076 of file StringClass.cpp.
References extract(), getLength(), and getWritableData().
RexxString * RexxString::lowerRexx | ( | RexxInteger * | _start, |
RexxInteger * | _length | ||
) |
Rexx exported method stub for the lower() method.
start | The optional starting location. Defaults to the first character if not specified. |
length | The length to convert. Defaults to the segment from the start position to the end of the string. |
Definition at line 2007 of file StringClass.cpp.
References ARG_ONE, ARG_TWO, getLength(), lower(), Numerics::minVal(), optionalLengthArgument(), and optionalPositionArgument().
Referenced by RexxMemory::createImage().
|
virtual |
Baseclass optimization for handling request array calls.
Reimplemented from RexxInternalObject.
Definition at line 382 of file StringClass.cpp.
References RexxObject::makeArrayRexx(), and OREF_NULL.
Referenced by RexxInteger::makeArray(), and RexxNumberString::makeArray().
RexxArray * RexxString::makeArrayRexx | ( | RexxString * | div | ) |
Definition at line 2301 of file StringClass.cpp.
References StringUtil::makearray().
Referenced by RexxSourceLiteral::RexxSourceLiteral().
|
virtual |
Reimplemented from RexxInternalObject.
Definition at line 362 of file StringClass.cpp.
References getLength(), getStringData(), RexxInternalObject::isBaseClass(), and new_string().
RexxInteger * RexxString::match | ( | RexxInteger * | start_, |
RexxString * | other, | ||
RexxInteger * | offset_, | ||
RexxInteger * | len_ | ||
) |
Test if regions within two strings match.
start_ | The starting compare position within the target string. This must be within the bounds of the string. |
other | The other compare string. |
offset_ | The starting offset of the compare string. This must be within the string bounds. The default start postion is 1. |
len_ | The length of the compare substring. The length and the offset must specify a valid substring of other. If not specified, this defaults to the substring from the offset to the end of the string. |
Definition at line 883 of file StringClassMisc.cpp.
References ARG_FOUR, ARG_ONE, ARG_THREE, ARG_TWO, Error_Incorrect_method_length, Error_Incorrect_method_position, getLength(), optionalLengthArgument(), optionalPositionArgument(), positionArgument(), primitiveMatch(), reportException(), stringArgument(), TheFalseObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxInteger * RexxString::matchChar | ( | RexxInteger * | position_, |
RexxString * | matchSet | ||
) |
Compare a single character at a give position against a set of characters to see if any of the characters is a match.
position_ | The character position |
matchSet | The set to compare against. |
Definition at line 1020 of file StringClassMisc.cpp.
References ARG_ONE, ARG_TWO, Error_Incorrect_method_position, getChar(), getLength(), positionArgument(), reportException(), stringArgument(), TheFalseObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxObject * RexxString::Max | ( | RexxObject ** | args, |
size_t | argCount, | ||
size_t | named_argCount | ||
) |
Definition at line 1185 of file StringClass.cpp.
References Error_Incorrect_method_string_nonumber, fastNumberString(), RexxNumberString::Max(), OREF_NULL, and reportException().
Referenced by BUILTIN(), and RexxMemory::createImage().
|
inline |
Definition at line 409 of file StringClass.hpp.
References length, and stringData.
Referenced by RexxLocalVariables::findVariable(), RexxLocalVariables::lookupStemVariable(), RexxLocalVariables::lookupVariable(), strCompare(), RexxHashTable::stringGet(), RexxHashTable::stringGetAll(), RexxHashTable::stringPut(), and RexxLocalVariables::updateVariable().
|
inline |
Definition at line 410 of file StringClass.hpp.
References length, and stringData.
|
inline |
Definition at line 415 of file StringClass.hpp.
References length, and stringData.
RexxObject * RexxString::Min | ( | RexxObject ** | args, |
size_t | argCount, | ||
size_t | named_argCount | ||
) |
Definition at line 1203 of file StringClass.cpp.
References Error_Incorrect_method_string_nonumber, fastNumberString(), RexxNumberString::Min(), OREF_NULL, and reportException().
Referenced by BUILTIN(), and RexxMemory::createImage().
RexxObject * RexxString::minus | ( | RexxObject * | right | ) |
Definition at line 993 of file StringClass.cpp.
References RexxObject::classObject(), Error_Conversion_operator, fastNumberString(), RexxObject::messageSend(), RexxNumberString::minus(), OREF_NULL, reportException(), RexxObject::stringValue(), TheIntegerClass, and TheNumberStringClass.
Referenced by RexxMemory::createImage().
RexxObject * RexxString::multiply | ( | RexxObject * | right | ) |
Definition at line 1026 of file StringClass.cpp.
References RexxObject::classObject(), Error_Conversion_operator, fastNumberString(), RexxObject::messageSend(), RexxNumberString::multiply(), OREF_NULL, reportException(), RexxObject::stringValue(), TheIntegerClass, and TheNumberStringClass.
Referenced by RexxMemory::createImage().
|
static |
Definition at line 2751 of file StringClass.cpp.
References RexxInternalObject::makeProxiedObject(), and new_string().
Referenced by new_proxy().
RexxString * RexxString::newRexx | ( | RexxObject ** | init_args, |
size_t | argCount, | ||
size_t | named_argCount | ||
) |
Definition at line 2770 of file StringClass.cpp.
References ARG_ONE, RexxClass::checkAbstract(), RexxClass::getInstanceBehaviour(), getLength(), getStringData(), RexxClass::hasUninitDefined(), new_string(), RexxClass::processNewArgs(), RexxInternalObject::setBehaviour(), and stringArgument().
Referenced by RexxMemory::createImage().
|
static |
Definition at line 2583 of file StringClass.cpp.
References checkTE(), hashValue, new_object(), OREF_NULL, put(), putChar(), RexxString(), setEncoding(), RexxInternalObject::setHasNoReferences(), setLength(), setText(), and T_String.
Referenced by extract(), and new_string().
|
static |
Definition at line 2710 of file StringClass.cpp.
References new_numberstringFromDouble(), and RexxNumberString::stringValue().
|
static |
Convert a double value to a string using the provided precision.
number | The number to convert. |
precision | The precision requested for the result. |
Definition at line 2729 of file StringClass.cpp.
References new_string().
|
static |
Allocate an initialize a string object that will also contain only uppercase characters. This allows a creation and uppercase operation to be done in one shot, without requiring two string objects to be created.
string | The source string data. |
blength | The length in bytes of the string data. |
clength | The length in characters of the string data. |
Definition at line 2665 of file StringClass.cpp.
References checkTE(), getWritableData(), hashValue, new_object(), OREF_NULL, putChar(), RexxString(), setEncoding(), RexxInternalObject::setHasNoReferences(), setLength(), setText(), setUpperOnly(), and T_String.
Referenced by new_upper_string().
|
inline |
Definition at line 382 of file StringClass.hpp.
References Attributes, and STRING_NONNUMERIC.
Referenced by fastNumberString(), and numberString().
RexxInteger * RexxString::notEqual | ( | RexxObject * | other | ) |
Definition at line 1412 of file StringClass.cpp.
References comp(), OREF_NULL, TheFalseObject, TheNilObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxObject * RexxString::notOp | ( | ) |
Definition at line 2311 of file StringClass.cpp.
References Error_Logical_value_method, TheFalseObject, TheTrueObject, and truthValue().
Referenced by RexxMemory::createImage(), RexxNumberString::notOp(), and RexxNumberString::operatorNot().
|
virtual |
Reimplemented from RexxInternalObject.
Definition at line 529 of file StringClass.cpp.
References getLength(), getStringData(), isOfClass, new_numberstring(), nonNumeric(), NumberString, OREF_NULL, OrefSet, RexxObject::requestString(), RexxInternalObject::setHasReferences(), setNonNumeric(), and RexxNumberString::setString().
Referenced by d2c(), d2x(), StringUtil::dataType(), RexxInteger::numberString(), and RexxObject::numberString().
|
virtual |
Reimplemented from RexxObject.
Definition at line 428 of file StringClass.cpp.
References fastNumberString(), isString(), RexxNumberString::numberValue(), numberValue(), OREF_NULL, and RexxObject::requestString().
|
virtual |
Reimplemented from RexxObject.
Definition at line 407 of file StringClass.cpp.
References fastNumberString(), isString(), RexxNumberString::numberValue(), numberValue(), OREF_NULL, and RexxObject::requestString().
Referenced by BUILTIN(), StringUtil::dataType(), Interpreter::messageNumber(), RexxObject::numberValue(), numberValue(), and RexxNativeActivation::variablePoolFetchPrivate().
|
inline |
Definition at line 124 of file StringClass.hpp.
RexxObject * RexxString::operatorNot | ( | RexxObject * | other | ) |
Definition at line 2319 of file StringClass.cpp.
References Error_Logical_value_method, TheFalseObject, TheTrueObject, and truthValue().
RexxObject * RexxString::orOp | ( | RexxObject * | other | ) |
Definition at line 2233 of file StringClass.cpp.
References ARG_ONE, Error_Logical_value_method, isPolymorphicString(), RexxObject::messageSend(), OREF_NULL, requiredArgument(), TheFalseObject, TheTrueObject, RexxObject::truthValue(), and truthValue().
Referenced by RexxMemory::createImage(), and RexxNumberString::orOp().
RexxString * RexxString::overlay | ( | RexxString * | newStrObj, |
RexxInteger * | position, | ||
RexxInteger * | _length, | ||
RexxString * | pad | ||
) |
Definition at line 340 of file StringClassSub.cpp.
References ARG_FOUR, ARG_ONE, ARG_THREE, ARG_TWO, getLength(), getStringData(), getWritableData(), optionalLengthArgument(), optionalPadArgument(), optionalPositionArgument(), raw_string(), and stringArgument().
Referenced by BUILTIN(), and RexxMemory::createImage().
RexxObject * RexxString::plus | ( | RexxObject * | right | ) |
Definition at line 960 of file StringClass.cpp.
References RexxObject::classObject(), Error_Conversion_operator, fastNumberString(), RexxObject::messageSend(), OREF_NULL, RexxNumberString::plus(), reportException(), RexxObject::stringValue(), TheIntegerClass, and TheNumberStringClass.
Referenced by RexxMemory::createImage().
size_t RexxString::pos | ( | RexxString * | needle, |
size_t | _start | ||
) |
Do a primitive level pos() search on a string.
needle | The search needle. |
_start | The starting position (origin 0) |
Definition at line 743 of file StringClassMisc.cpp.
References getLength(), getStringData(), and StringUtil::pos().
Referenced by changeStr(), and RexxActivity::messageSubstitution().
RexxInteger * RexxString::posRexx | ( | RexxString * | needle, |
RexxInteger * | pstart, | ||
RexxInteger * | range | ||
) |
Definition at line 702 of file StringClassMisc.cpp.
References getLength(), getStringData(), and StringUtil::posRexx().
Referenced by BUILTIN(), and RexxMemory::createImage().
RexxObject * RexxString::power | ( | RexxObject * | right | ) |
Definition at line 1126 of file StringClass.cpp.
References RexxObject::classObject(), Error_Conversion_operator, fastNumberString(), RexxObject::messageSend(), OREF_NULL, RexxNumberString::power(), reportException(), RexxObject::stringValue(), TheIntegerClass, and TheNumberStringClass.
Referenced by RexxMemory::createImage().
RexxInteger * RexxString::primitiveCaselessCompareTo | ( | RexxString * | other, |
stringsize_t | _start, | ||
stringsize_t | len | ||
) |
Perform a compare of regions of two string objects. Returns -1, 0, 1 based on the relative ordering of the two strings.
other | The source string for the compare. |
start | The starting offset within the target string. |
len | The length of the substring to compare. |
Definition at line 1205 of file StringClassMisc.cpp.
References StringUtil::caselessCompare(), getLength(), getStringData(), IntegerMinusOne, IntegerOne, IntegerZero, and Numerics::minVal().
Referenced by caselessCompareToRexx().
bool RexxString::primitiveCaselessIsEqual | ( | RexxObject * | otherObj | ) |
Primitive string caseless comparison.
otherObj | The other string to compare. |
Definition at line 711 of file StringClass.cpp.
References ARG_ONE, StringUtil::caselessCompare(), getLength(), getStringData(), REQUEST_STRING(), requiredArgument(), and TheNilObject.
Referenced by caselessEquals().
bool RexxString::primitiveCaselessMatch | ( | stringsize_t | _start, |
RexxString * | other, | ||
stringsize_t | offset, | ||
stringsize_t | len | ||
) |
Perform a caselesee compare of regions of two string objects. Returns true if the two regions match, returns false for mismatches.
start | The starting offset within the target string. |
other | The source string for the compare. |
offset | The offset of the substring of the other string to use. |
len | The length of the substring to compare. |
Definition at line 993 of file StringClassMisc.cpp.
References StringUtil::caselessCompare(), getLength(), and getStringData().
Referenced by caselessMatch().
RexxInteger * RexxString::primitiveCompareTo | ( | RexxString * | other, |
stringsize_t | _start, | ||
stringsize_t | len | ||
) |
Perform a compare of regions of two string objects. Returns -1, 0, 1 based on the relative ordering of the two strings.
other | The source string for the compare. |
start | The starting offset within the target string. |
len | The length of the substring to compare. |
Definition at line 1116 of file StringClassMisc.cpp.
References getLength(), getStringData(), IntegerMinusOne, IntegerOne, IntegerZero, and Numerics::minVal().
Referenced by compareToRexx().
bool RexxString::primitiveIsEqual | ( | RexxObject * | otherObj | ) |
Definition at line 680 of file StringClass.cpp.
References ARG_ONE, getLength(), getStringData(), REQUEST_STRING(), requiredArgument(), and TheNilObject.
Referenced by equals(), strictEqual(), and strictNotEqual().
|
virtual |
Reimplemented from RexxInternalObject.
Definition at line 399 of file StringClass.cpp.
bool RexxString::primitiveMatch | ( | stringsize_t | _start, |
RexxString * | other, | ||
stringsize_t | offset, | ||
stringsize_t | len | ||
) |
Perform a compare of regions of two string objects. Returns true if the two regions match, returns false for mismatches.
start | The starting offset within the target string. |
other | The source string for the compare. |
offset | The offset of the substring of the other string to use. |
len | The length of the substring to compare. |
Definition at line 966 of file StringClassMisc.cpp.
References getLength(), and getStringData().
Referenced by match().
|
inline |
Definition at line 346 of file StringClass.hpp.
References getWritableData().
Referenced by newString(), RexxNumberString::stringValue(), StringUtil::substr(), RexxSource::traceBack(), RexxActivation::traceCompoundValue(), RexxActivation::traceEntry(), RexxActivation::traceOperatorValue(), RexxActivation::traceSourceString(), RexxActivation::traceTaggedValue(), and RexxActivation::traceValue().
|
inline |
Definition at line 347 of file StringClass.hpp.
References getLength(), getStringData(), and put().
Referenced by put().
|
inline |
Definition at line 350 of file StringClass.hpp.
References stringData.
Referenced by BUILTIN(), newString(), newUpperString(), RexxSource::packLiteral(), rawString(), RexxSource::sourceNextToken(), RexxNumberString::stringValue(), RexxActivation::traceCompoundValue(), RexxActivation::traceOperatorValue(), RexxActivation::traceSourceString(), RexxActivation::traceTaggedValue(), and RexxActivation::traceValue().
|
static |
Definition at line 2620 of file StringClass.cpp.
References checkTE(), hashValue, new_object(), OREF_NULL, putChar(), RexxString(), setEncoding(), RexxInternalObject::setHasNoReferences(), setLength(), setText(), and T_String.
Referenced by raw_string().
RexxObject * RexxString::remainder | ( | RexxObject * | right | ) |
Definition at line 1101 of file StringClass.cpp.
References RexxObject::classObject(), Error_Conversion_operator, fastNumberString(), RexxObject::messageSend(), OREF_NULL, RexxNumberString::remainder(), reportException(), RexxObject::stringValue(), TheIntegerClass, and TheNumberStringClass.
Referenced by RexxMemory::createImage().
RexxString * RexxString::replaceAt | ( | RexxString * | newStrObj, |
RexxInteger * | position, | ||
RexxInteger * | _length, | ||
RexxString * | pad | ||
) |
Replace a substring starting at a given position and length with another string. This operation is essentially a delstr() followed by an insert() operation.
newStrObj | The replacement string |
position | The replacement position (required) |
_length | The length of string to replace (optional). If omitted, the length of the replacement string is used and this is essentially an overlay operation. |
pad | The padding character if padding is required. The default is a ' ' |
Definition at line 457 of file StringClassSub.cpp.
References ARG_FOUR, ARG_ONE, ARG_THREE, ARG_TWO, getLength(), getStringData(), getWritableData(), optionalLengthArgument(), optionalPadArgument(), positionArgument(), raw_string(), and stringArgument().
Referenced by RexxMemory::createImage().
RexxString * RexxString::reverse | ( | ) |
Definition at line 531 of file StringClassSub.cpp.
References getLength(), getStringData(), getWritableData(), and raw_string().
Referenced by RexxMemory::createImage().
RexxString * RexxString::right | ( | RexxInteger * | _length, |
RexxString * | pad | ||
) |
Definition at line 568 of file StringClassSub.cpp.
References ARG_ONE, ARG_TWO, getLength(), getStringData(), getWritableData(), lengthArgument(), Numerics::minVal(), optionalPadArgument(), and raw_string().
Referenced by RexxMemory::createImage().
RexxObject * RexxString::round | ( | ) |
The String class version of the round method.
Definition at line 1278 of file StringClass.cpp.
References Error_Incorrect_method_string_nonumber, fastNumberString(), OREF_NULL, reportException(), and RexxNumberString::round().
Referenced by RexxMemory::createImage().
|
inline |
Definition at line 348 of file StringClass.hpp.
References stringData.
Referenced by RexxNumberString::stringValue(), StringUtil::substr(), RexxSource::traceBack(), RexxActivation::traceCompoundValue(), RexxActivation::traceEntry(), RexxActivation::traceOperatorValue(), RexxActivation::traceSourceString(), RexxActivation::traceTaggedValue(), and RexxActivation::traceValue().
|
inline |
Definition at line 366 of file StringClass.hpp.
References encoding, OREF_NULL, OrefSet, and RexxInternalObject::setHasReferences().
Referenced by newString(), newUpperString(), rawString(), and setEncodingRexx().
|
inline |
Definition at line 371 of file StringClass.hpp.
References getEncoding(), and setEncoding().
Referenced by RexxMemory::createImage().
|
inline |
Definition at line 405 of file StringClass.hpp.
References Attributes, and STRING_EVAL_AS_TEXT.
Referenced by evaluate().
|
inline |
Definition at line 381 of file StringClass.hpp.
References Attributes, and STRING_HASLOWER.
Referenced by checkLower().
|
inline |
Definition at line 398 of file StringClass.hpp.
References Attributes, and STRING_ISASCII.
Referenced by checkIsASCII(), and setIsASCIIChecked().
|
inline |
Definition at line 386 of file StringClass.hpp.
References Attributes, setIsASCII(), and STRING_ISASCII_CHECKED.
Referenced by checkIsASCII().
|
inline |
Definition at line 342 of file StringClass.hpp.
References length.
Referenced by newString(), newUpperString(), and rawString().
|
inline |
Definition at line 383 of file StringClass.hpp.
References Attributes, and STRING_NONNUMERIC.
Referenced by createNumberString(), and numberString().
void RexxString::setNumberString | ( | RexxObject * | NumberRep | ) |
Definition at line 2150 of file StringClass.cpp.
References NumberString, OREF_NULL, OrefSet, and RexxInternalObject::setHasReferences().
Referenced by RexxSource::addText(), and RexxNumberString::stringValue().
|
inline |
Definition at line 353 of file StringClass.hpp.
References OREF_NULL, OrefSet, RexxInternalObject::setHasReferences(), and text.
Referenced by evaluate(), newString(), newUpperString(), rawString(), and setTextRexx().
|
inline |
Definition at line 358 of file StringClass.hpp.
References getText(), and setText().
Referenced by RexxMemory::createImage().
|
inline |
Definition at line 380 of file StringClass.hpp.
References Attributes, and STRING_NOLOWER.
Referenced by checkLower(), newUpperString(), and RexxSource::sourceNextToken().
RexxObject * RexxString::sign | ( | void | ) |
Definition at line 1168 of file StringClass.cpp.
References Error_Incorrect_method_string_nonumber, fastNumberString(), OREF_NULL, reportException(), and RexxNumberString::Sign().
Referenced by BUILTIN(), and RexxMemory::createImage().
|
inline |
Definition at line 450 of file StringClass.hpp.
References StringUtil::caselessCompare(), length, and stringData.
Referenced by compare_asc_i(), compare_asc_i_cols(), compare_desc_i(), and compare_desc_i_cols().
|
inline |
Definition at line 501 of file StringClass.hpp.
References StringUtil::caselessCompare(), length, and stringData.
|
inline |
Definition at line 433 of file StringClass.hpp.
References length, and stringData.
Referenced by compare_asc(), compare_asc_cols(), compare_desc(), and compare_desc_cols().
|
inline |
Definition at line 467 of file StringClass.hpp.
References length, and stringData.
RexxString * RexxString::space | ( | RexxInteger * | space_count, |
RexxString * | pad | ||
) |
Definition at line 147 of file StringClassWord.cpp.
References ARG_ONE, ARG_TWO, getLength(), getStringData(), getWritableData(), StringUtil::nextWord(), optionalLengthArgument(), optionalPadArgument(), and raw_string().
Referenced by RexxMemory::createImage().
|
inline |
Definition at line 408 of file StringClass.hpp.
References length, Utilities::strCaselessCompare(), and stringData.
Referenced by check_queue(), RexxActivation::enableExternalTrace(), RexxInstructionOptions::execute(), LibraryPackage::locateMethodEntry(), LibraryPackage::locateRoutineEntry(), RexxActivation::resolveStream(), and SystemInterpreter::valueFunction().
|
inline |
Definition at line 407 of file StringClass.hpp.
References memCompare().
Referenced by BUILTIN(), RexxNativeActivation::checkConditions(), RexxActivation::command(), RexxClass::defineMethod(), RexxClass::defineMethods(), RexxObject::defMethod(), doubleValue(), RexxInstructionNumeric::execute(), RexxInstructionRaise::execute(), ContextCommandHandlerDispatcher::handleError(), RexxClass::methodDictionaryMerge(), RexxActivation::raise(), RexxStem::request(), RexxActivation::rexxVariable(), RexxDirectory::setMethod(), RexxActivation::trap(), RexxActivation::trapOff(), RexxActivation::trapOn(), and RexxSource::useNew().
wholenumber_t RexxString::strictComp | ( | RexxObject * | otherObj, |
RexxString * | alternativeOperator = NULL , |
||
RexxInteger ** | alternativeOperatorResultPtr = NULL |
||
) |
Definition at line 895 of file StringClass.cpp.
References ARG_ONE, getLength(), getStringData(), isPolymorphicString(), RexxObject::messageSend(), OREF_NULL, REQUEST_STRING(), and requiredArgument().
Referenced by RexxNumberString::strictComp(), RexxInteger::strictComp(), strictGreaterOrEqual(), strictGreaterThan(), strictLessOrEqual(), and strictLessThan().
RexxInteger * RexxString::strictEqual | ( | RexxObject * | other | ) |
Definition at line 1340 of file StringClass.cpp.
References isPolymorphicString(), RexxObject::messageSend(), OREF_NULL, primitiveIsEqual(), TheFalseObject, TheNilObject, and TheTrueObject.
Referenced by RexxMemory::createImage(), and RexxObject::requestRexx().
RexxInteger * RexxString::strictGreaterOrEqual | ( | RexxObject * | other | ) |
Definition at line 1531 of file StringClass.cpp.
References OREF_NULL, strictComp(), TheFalseObject, TheNilObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxInteger * RexxString::strictGreaterThan | ( | RexxObject * | other | ) |
Definition at line 1497 of file StringClass.cpp.
References OREF_NULL, strictComp(), TheFalseObject, TheNilObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxInteger * RexxString::strictLessOrEqual | ( | RexxObject * | other | ) |
Definition at line 1548 of file StringClass.cpp.
References OREF_NULL, strictComp(), TheFalseObject, TheNilObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxInteger * RexxString::strictLessThan | ( | RexxObject * | other | ) |
Definition at line 1514 of file StringClass.cpp.
References OREF_NULL, strictComp(), TheFalseObject, TheNilObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxInteger * RexxString::strictNotEqual | ( | RexxObject * | other | ) |
Definition at line 1368 of file StringClass.cpp.
References isPolymorphicString(), RexxObject::messageSend(), OREF_NULL, primitiveIsEqual(), TheFalseObject, TheNilObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxString * RexxString::stringTrace | ( | ) |
Definition at line 1898 of file StringClass.cpp.
References ch_SPACE, ch_TAB, RexxObject::copy(), getLength(), getStringData(), and getWritableData().
|
virtual |
Reimplemented from RexxInternalObject.
Definition at line 347 of file StringClass.cpp.
References getLength(), getStringData(), isOfClass, and new_string().
Referenced by Interpreter::messageNumber(), and RexxSource::position().
RexxString * RexxString::strip | ( | RexxString * | optionString, |
RexxString * | stripchar | ||
) |
Strip a set of leading and/or trailing characters from a string, returning a new string value.
option | The option indicating which characters to strip. |
stripchar | The set of characters to strip. |
Definition at line 621 of file StringClassSub.cpp.
References ARG_ONE, ARG_TWO, Error_Incorrect_method_option, getLength(), getStringData(), length, StringUtil::matchCharacter(), new_string(), optionalOptionArgument(), optionalStringArgument(), OREF_NULL, reportException(), STRIP_BOTH, STRIP_LEADING, and STRIP_TRAILING.
Referenced by RexxMemory::createImage().
RexxString * RexxString::subchar | ( | RexxInteger * | positionArg | ) |
Extract a single character from a string object. Returns a null string if the specified position is beyond the bounds of the string.
positionArg | The position of the target character. Must be a positive whole number. |
Definition at line 716 of file StringClassSub.cpp.
References getLength(), getStringData(), and StringUtil::subchar().
Referenced by RexxMemory::createImage().
RexxString * RexxString::substr | ( | RexxInteger * | position, |
RexxInteger * | _length, | ||
RexxString * | pad | ||
) |
Definition at line 694 of file StringClassSub.cpp.
References getLength(), getStringData(), and StringUtil::substr().
Referenced by RexxMemory::createImage().
RexxString * RexxString::subWord | ( | RexxInteger * | position, |
RexxInteger * | plength | ||
) |
Definition at line 229 of file StringClassWord.cpp.
References getLength(), getStringData(), and StringUtil::subWord().
Referenced by RexxMemory::createImage().
RexxArray * RexxString::subWords | ( | RexxInteger * | position, |
RexxInteger * | plength | ||
) |
Returns an array of all words contained in the given range of the string, using the same extraction rules used for subWord() and word().
position | The optional starting position. If not provided, extraction starts with the first word. |
plength | The number of words to extract. If omitted, will extract from the starting postion to the end of the string. |
Definition at line 249 of file StringClassWord.cpp.
References getLength(), getStringData(), and StringUtil::subWords().
Referenced by RexxMemory::createImage().
|
inline |
Definition at line 416 of file StringClass.hpp.
References getLength(), getStringData(), _CONSTRXSTRING::strlength, and _CONSTRXSTRING::strptr.
Referenced by RexxActivity::callCommandExit(), RexxActivity::callFunctionExit(), RexxActivity::callObjectFunctionExit(), RexxActivity::callPushExit(), RexxNativeActivation::callRegisteredRoutine(), RexxActivity::callSayExit(), RexxActivity::callScriptingExit(), and RexxActivity::callTraceExit().
|
inline |
Definition at line 417 of file StringClass.hpp.
References getLength(), getWritableData(), _RXSTRING::strlength, and _RXSTRING::strptr.
RexxString * RexxString::translate | ( | RexxString * | tableo, |
RexxString * | tablei, | ||
RexxString * | pad, | ||
RexxInteger * | _start, | ||
RexxInteger * | _range | ||
) |
Definition at line 766 of file StringClassMisc.cpp.
References ARG_FOUR, ARG_ONE, ARG_THREE, ARG_TWO, getLength(), getStringData(), getWritableData(), StringUtil::memPos(), Numerics::minVal(), new_string(), optionalLengthArgument(), optionalPadArgument(), optionalPositionArgument(), optionalStringArgument(), OREF_NULL, and upperRexx().
Referenced by RexxMemory::createImage().
RexxObject * RexxString::trunc | ( | RexxInteger * | decimals | ) |
Definition at line 1221 of file StringClass.cpp.
References Error_Incorrect_method_string_nonumber, fastNumberString(), OREF_NULL, reportException(), and RexxNumberString::trunc().
Referenced by BUILTIN(), and RexxMemory::createImage().
|
virtual |
Reimplemented from RexxInternalObject.
Definition at line 1753 of file StringClass.cpp.
References getLength(), getStringData(), isOfClass, reportException(), and RexxObject::requestString().
Referenced by andOp(), notOp(), operatorNot(), orOp(), RexxObject::truthValue(), and xorOp().
|
virtual |
Reimplemented from RexxVirtualBase.
Definition at line 309 of file StringClass.cpp.
References RexxInternalObject::isProxyObject(), TheEnvironment, and RexxVirtualBase::unflatten().
|
virtual |
Reimplemented from RexxObject.
Definition at line 472 of file StringClass.cpp.
References fastNumberString(), isString(), OREF_NULL, RexxObject::requestString(), RexxNumberString::unsignedNumberValue(), and unsignedNumberValue().
|
virtual |
Reimplemented from RexxObject.
Definition at line 450 of file StringClass.cpp.
References fastNumberString(), isString(), OREF_NULL, RexxObject::requestString(), RexxNumberString::unsignedNumberValue(), and unsignedNumberValue().
Referenced by RexxObject::unsignedNumberValue(), and unsignedNumberValue().
RexxString * RexxString::upper | ( | ) |
Definition at line 1868 of file StringClass.cpp.
References checkLower(), getLength(), getStringData(), getWritableData(), hasLower(), raw_string(), and upperOnly().
Referenced by PackageManager::addRegisteredRoutine(), RexxSource::attributeDirective(), BUILTIN(), PackageManager::callNativeRoutine(), RexxSource::classDirective(), RexxSource::constantDirective(), RexxObject::decodeMessageName(), RexxClass::defineClassMethod(), RexxClass::defineMethod(), RexxObject::defMethod(), RexxObject::defMethods(), RexxClass::deleteMethod(), PackageManager::dropRegisteredRoutine(), RexxDirectory::entry(), RexxDirectory::entryRexx(), RexxInstructionForward::execute(), RexxSource::extensionDirective(), RexxSource::findClass(), Interpreter::findClass(), RexxSource::findRoutine(), RexxVariableDictionary::getVariableRetriever(), RexxDirectory::hasEntry(), RexxObject::hasMethodRexx(), RexxObject::instanceMethod(), RexxClass::method(), RexxClass::methodDictionaryCreate(), RexxSource::methodDirective(), RexxBehaviour::methodObject(), RexxTarget::next(), PackageManager::queryRegisteredRoutine(), RexxDirectory::remove(), RexxStem::request(), RexxObject::requestRexx(), InterpreterInstance::resolveCommandHandler(), RexxExpressionMessage::RexxExpressionMessage(), RexxDirectory::setEntry(), RexxDirectory::setMethod(), RexxObject::setMethod(), RexxNativeActivation::stemSort(), StringUpper(), RexxObject::unsetMethod(), RexxCompoundVariable::upper(), RexxStemVariable::upper(), RexxParseVariable::upper(), upperRexx(), and RexxSource::words().
RexxString * RexxString::upper | ( | size_t | offset, |
size_t | _length | ||
) |
Uppercase a portion of a Rexx string, returning a new string object. This method assumes the offset and length are already valid for this string object.
start | The starting offset of the segment to uppercase (origin 0). |
length | The length to lowercase. |
Definition at line 2105 of file StringClass.cpp.
References extract(), getLength(), and getWritableData().
|
inline |
Definition at line 378 of file StringClass.hpp.
References Attributes, and STRING_NOLOWER.
Referenced by upper().
RexxString * RexxString::upperRexx | ( | RexxInteger * | _start, |
RexxInteger * | _length | ||
) |
Rexx exported method stub for the upper() method.
start | The optional starting location. Defaults to the first character if not specified. |
length | The length to convert. Defaults to the segment from the start position to the end of the string. |
Definition at line 2041 of file StringClass.cpp.
References ARG_ONE, ARG_TWO, getLength(), Numerics::minVal(), optionalLengthArgument(), optionalPositionArgument(), and upper().
Referenced by RexxMemory::createImage(), and translate().
RexxInteger * RexxString::verify | ( | RexxString * | ref, |
RexxString * | option, | ||
RexxInteger * | _start, | ||
RexxInteger * | range | ||
) |
Definition at line 854 of file StringClassMisc.cpp.
References getLength(), getStringData(), and StringUtil::verify().
Referenced by RexxMemory::createImage().
RexxString * RexxString::word | ( | RexxInteger * | position | ) |
Definition at line 262 of file StringClassWord.cpp.
References getLength(), getStringData(), and StringUtil::word().
Referenced by RexxMemory::createImage(), RexxInstructionOptions::execute(), RexxVariableReference::list(), and RexxSource::words().
RexxInteger * RexxString::wordIndex | ( | RexxInteger * | position | ) |
Definition at line 274 of file StringClassWord.cpp.
References getLength(), getStringData(), and StringUtil::wordIndex().
Referenced by RexxMemory::createImage().
RexxInteger * RexxString::wordLength | ( | RexxInteger * | position | ) |
Definition at line 286 of file StringClassWord.cpp.
References getLength(), getStringData(), and StringUtil::wordLength().
Referenced by RexxMemory::createImage().
RexxInteger * RexxString::wordPos | ( | RexxString * | phrase, |
RexxInteger * | pstart | ||
) |
Perform a wordpos search on a string object.
phrase | The search phrase |
pstart | The starting search position. |
Definition at line 301 of file StringClassWord.cpp.
References getLength(), getStringData(), and StringUtil::wordPos().
Referenced by BUILTIN(), and RexxMemory::createImage().
RexxInteger * RexxString::words | ( | ) |
Definition at line 328 of file StringClassWord.cpp.
References getLength(), getStringData(), new_integer(), and StringUtil::wordCount().
Referenced by RexxMemory::createImage().
RexxString * RexxString::x2b | ( | ) |
Definition at line 612 of file StringClassConversion.cpp.
References ch_SPACE, ch_TAB, getLength(), getStringData(), getWritableData(), StringUtil::hexDigitToInt(), raw_string(), StringUtil::unpackNibble(), and StringUtil::validateSet().
Referenced by RexxMemory::createImage().
RexxString * RexxString::x2c | ( | ) |
Definition at line 290 of file StringClassConversion.cpp.
References getLength(), getStringData(), and StringUtil::packHex().
Referenced by RexxMemory::createImage().
RexxString * RexxString::x2d | ( | RexxInteger * | _length | ) |
Definition at line 308 of file StringClassConversion.cpp.
References x2dC2d().
Referenced by RexxMemory::createImage().
RexxString * RexxString::x2dC2d | ( | RexxInteger * | _length, |
bool | type | ||
) |
Definition at line 318 of file StringClassConversion.cpp.
References RexxNumberString::addToBaseTen(), ARG_ONE, RexxObject::copy(), Error_Incorrect_method_c2dbig, Error_Incorrect_method_x2dbig, RexxBuffer::getData(), getLength(), getWritableData(), IntegerZero, RexxNumberString::multiplyBaseTen(), new_buffer(), number_digits(), optionalLengthArgument(), OREF_NULL, OVERFLOWSPACE, StringUtil::packHex(), raw_string(), reportException(), StringLength(), and type.
RexxObject * RexxString::xorOp | ( | RexxObject * | other | ) |
Definition at line 2264 of file StringClass.cpp.
References ARG_ONE, Error_Logical_value_method, isPolymorphicString(), RexxObject::messageSend(), OREF_NULL, requiredArgument(), TheFalseObject, TheTrueObject, RexxObject::truthValue(), and truthValue().
Referenced by RexxMemory::createImage(), and RexxNumberString::xorOp().
|
protected |
Definition at line 556 of file StringClass.hpp.
Referenced by evaluateAsText(), hasLower(), isASCII(), isASCIIChecked(), nonNumeric(), setevaluateAsText(), setHasLower(), setIsASCII(), setIsASCIIChecked(), setNonNumeric(), setUpperOnly(), and upperOnly().
Definition at line 547 of file StringClass.hpp.
|
protected |
Definition at line 555 of file StringClass.hpp.
Referenced by checkTE(), evaluate(), getEncoding(), live(), liveGeneral(), and setEncoding().
|
protected |
Definition at line 551 of file StringClass.hpp.
Referenced by getStringHash(), newString(), newUpperString(), and rawString().
|
protected |
Definition at line 552 of file StringClass.hpp.
Referenced by finish(), getLength(), memCompare(), memCopy(), RexxNumberString::prepareOperatorNumber(), setLength(), sortCaselessCompare(), sortCompare(), strCaselessCompare(), and strip().
|
protected |
Definition at line 553 of file StringClass.hpp.
Referenced by createNumberString(), fastNumberString(), live(), liveGeneral(), numberString(), and setNumberString().
|
static |
Definition at line 544 of file StringClass.hpp.
|
protected |
Definition at line 557 of file StringClass.hpp.
Referenced by getChar(), getStringData(), getStringHash(), getWritableData(), memCompare(), memCopy(), putChar(), set(), sortCaselessCompare(), sortCompare(), and strCaselessCompare().
|
protected |
Definition at line 554 of file StringClass.hpp.
Referenced by checkTE(), dynamicTarget(), evaluate(), getText(), live(), liveGeneral(), and setText().