#include <StemClass.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 RexxClass * | classInstance = OREF_NULL |
Static Public Attributes inherited from RexxObject | |
static PCPPM | operatorMethods [] |
static RexxClass * | classInstance = OREF_NULL |
Protected Attributes | |
RexxString * | stemName |
RexxCompoundTable | tails |
RexxObject * | value |
bool | dropped |
Friends | |
class | RexxCompoundTable |
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 70 of file StemClass.hpp.
RexxStem::RexxStem | ( | RexxString * | name | ) |
Definition at line 69 of file StemClass.cpp.
References ARG_ONE, dropped, RexxCompoundTable::init(), OREF_NULL, OrefSet, stemName, stringArgument(), tails, and value.
Referenced by newRexx().
|
inline |
Definition at line 76 of file StemClass.hpp.
RexxArray * RexxStem::allIndexes | ( | void | ) |
Create an array of all indexes of the stem.
Definition at line 1011 of file StemClass.cpp.
References tailArray().
Referenced by RexxMemory::createImage().
RexxArray * RexxStem::allItems | ( | void | ) |
Return all items in the stem.
Definition at line 913 of file StemClass.cpp.
References RexxCompoundTable::first(), RexxVariable::getVariableValue(), items(), new_array(), RexxCompoundTable::next(), OREF_NULL, RexxArray::put(), and tails.
Referenced by RexxMemory::createImage().
void RexxStem::arraycopy | ( | RexxString ** | source, |
size_t | start, | ||
RexxString ** | target, | ||
size_t | index, | ||
size_t | count | ||
) |
copy segments of one array into another.
source | The source array |
start | The starting index of the source copy |
target | The target array |
index | The target copy index |
count | The number of items to count. |
Definition at line 1387 of file StemClass.cpp.
References index(), and RexxObject::start().
Referenced by merge().
RexxObject * RexxStem::bracket | ( | RexxObject ** | tailElements, |
size_t | argCount, | ||
size_t | named_argCount | ||
) |
Definition at line 236 of file StemClass.cpp.
References evaluateCompoundVariableValue(), OREF_NULL, stemName, and value.
Referenced by RexxMemory::createImage().
RexxObject * RexxStem::bracketEqual | ( | RexxObject ** | tailElements, |
size_t | argCount, | ||
size_t | named_argCount | ||
) |
Definition at line 390 of file StemClass.cpp.
References RexxCompoundTable::clear(), dropped, Error_Execution_nostem, Error_Incorrect_method_noarg, getCompoundVariable(), IntegerOne, isOfClass, OREF_NULL, OrefSet, reportException(), RexxVariable::set(), tails, and value.
Referenced by RexxMemory::createImage().
|
inline |
Definition at line 138 of file StemClass.hpp.
References OREF_NULL, and realCompoundVariableValue().
Referenced by RexxActivation::localCompoundVariableExists().
|
virtual |
Reimplemented from RexxObject.
Definition at line 91 of file StemClass.cpp.
References RexxObject::copy(), copyFrom(), and tails.
void RexxStem::copyFrom | ( | RexxCompoundTable & | _tails | ) |
Copy the tails from another stem object into this stem.
_tails | The source tail collection. |
Definition at line 109 of file StemClass.cpp.
References RexxCompoundTable::copyFrom(), RexxCompoundTable::init(), and tails.
Referenced by copy().
RexxString * RexxStem::createCompoundName | ( | RexxCompoundTail * | tailPart | ) |
Create a full compound name from a constructed compound taile.
tailPart | The constructed tail element. |
Definition at line 1219 of file StemClass.cpp.
References RexxCompoundTail::createCompoundName(), and stemName.
|
static |
Create initial class object at bootstrap time.
Definition at line 63 of file StemClass.cpp.
References CLASS_CREATE.
Referenced by RexxMemory::createImage().
|
virtual |
Reimplemented from RexxObject.
Definition at line 483 of file StemClass.cpp.
References RexxObject::doubleValue(), and value.
void RexxStem::dropCompoundVariable | ( | RexxCompoundTail * | name | ) |
Definition at line 641 of file StemClass.cpp.
References RexxVariable::drop(), and getCompoundVariable().
Referenced by RexxVariableDictionary::dropCompoundVariable(), and RexxActivation::dropLocalCompoundVariable().
void RexxStem::dropElement | ( | const char * | _tail | ) |
Drop an array element for an API class.
tail | The direct tail value. |
Definition at line 1187 of file StemClass.cpp.
Referenced by dropElement().
void RexxStem::dropElement | ( | RexxCompoundTail * | resolved_tail | ) |
Drop an element using a resolved tail value.
resolved_tail | The target tail element. |
Definition at line 1202 of file StemClass.cpp.
References RexxVariable::drop(), findCompoundVariable(), and OREF_NULL.
void RexxStem::dropElement | ( | size_t | _tail | ) |
Drop an array element for an API class.
tail | The direct tail value. |
Definition at line 1174 of file StemClass.cpp.
References dropElement().
void RexxStem::dropValue | ( | ) |
RexxObject * RexxStem::empty | ( | ) |
Empty the stem. This also clears dropped and exposed tails,
Definition at line 987 of file StemClass.cpp.
References RexxCompoundTable::clear(), OREF_NULL, and tails.
Referenced by RexxMemory::createImage().
RexxObject * RexxStem::evaluateCompoundVariableValue | ( | RexxActivation * | context, |
RexxString * | stemVariableName, | ||
RexxCompoundTail * | resolved_tail | ||
) |
Definition at line 719 of file StemClass.cpp.
References RexxCompoundTail::createCompoundName(), dropped, findCompoundVariable(), RexxVariable::getVariableValue(), handleNovalue(), OREF_NULL, stemName, and value.
Referenced by bracket(), RexxActivation::evaluateLocalCompoundVariable(), and RexxVariableDictionary::getCompoundVariableValue().
void RexxStem::expose | ( | RexxCompoundElement * | variable | ) |
Definition at line 895 of file StemClass.cpp.
References RexxCompoundTable::findEntry(), RexxVariable::getName(), new_variable(), and tails.
Referenced by RexxCompoundVariable::expose(), and RexxCompoundVariable::procedureExpose().
RexxCompoundElement * RexxStem::exposeCompoundVariable | ( | RexxCompoundTail * | name | ) |
Definition at line 593 of file StemClass.cpp.
References dropped, RexxCompoundTable::findEntry(), RexxVariable::getVariableValue(), OREF_NULL, RexxCompoundElement::realVariable(), RexxVariable::set(), tails, and value.
Referenced by RexxCompoundVariable::expose(), and RexxActivation::exposeLocalCompoundVariable().
size_t RexxStem::find | ( | SortData * | sd, |
int(*)(SortData *, RexxString *, RexxString *) | comparator, | ||
RexxString ** | strings, | ||
RexxString * | val, | ||
int | limit, | ||
size_t | left, | ||
size_t | right | ||
) |
Finds the place in the given range of specified sorted array, where the element should be inserted for getting sorted array. Uses exponential search algorithm.
sd | The sort descriptor |
comparator | The comparator used to compare pairs of elements. |
strings | The input set of strings. |
val | object to be inserted |
bnd | possible values 0,-1. "-1" - val is located at index more then elements equals to val. "0" - val is located at index less then elements equals to val. |
left | The left bound of the insert operation. |
right | The right bound for the insert. |
Definition at line 1412 of file StemClass.cpp.
Referenced by merge().
RexxCompoundElement * RexxStem::findByValue | ( | RexxObject * | target | ) |
Locate a stem item by value.
Definition at line 940 of file StemClass.cpp.
References RexxObject::equalValue(), RexxCompoundTable::first(), RexxVariable::getVariableValue(), RexxCompoundTable::next(), OREF_NULL, and tails.
Referenced by hasItem(), index(), and removeItem().
RexxCompoundElement * RexxStem::findCompoundVariable | ( | RexxCompoundTail * | name | ) |
Definition at line 624 of file StemClass.cpp.
References RexxCompoundTable::findEntry(), OREF_NULL, RexxCompoundElement::realVariable(), and tails.
Referenced by dropElement(), evaluateCompoundVariableValue(), getCompoundVariableRealValue(), getCompoundVariableValue(), getElement(), hasIndex(), realCompoundVariableValue(), remove(), and sort().
|
inline |
Definition at line 140 of file StemClass.hpp.
References RexxCompoundTable::first(), and tails.
|
virtual |
Reimplemented from RexxObject.
Definition at line 138 of file StemClass.cpp.
References cleanUpFlatten, flatten_reference, flattenCompoundTable, and setUpFlatten.
RexxCompoundElement * RexxStem::getCompoundVariable | ( | RexxCompoundTail * | name | ) |
Definition at line 581 of file StemClass.cpp.
References RexxCompoundTable::findEntry(), RexxCompoundElement::realVariable(), and tails.
Referenced by bracketEqual(), dropCompoundVariable(), RexxVariableDictionary::getCompoundVariable(), RexxActivation::getLocalCompoundVariable(), setCompoundVariable(), and setElement().
RexxObject * RexxStem::getCompoundVariableRealValue | ( | RexxCompoundTail * | resolved_tail | ) |
Evaluate the real value of a compound variable. The real value is either its explicitly assigned value or a stem assigned value. This returns OREF_NULL if neither is available. This does not raise NOVALUE conditions.
resolved_tail | The target tail value. |
Definition at line 821 of file StemClass.cpp.
References dropped, findCompoundVariable(), RexxVariable::getVariableValue(), OREF_NULL, and value.
Referenced by RexxVariableDictionary::getCompoundVariableRealValue(), and RexxActivation::getLocalCompoundVariableRealValue().
RexxObject * RexxStem::getCompoundVariableValue | ( | RexxCompoundTail * | resolved_tail | ) |
Definition at line 771 of file StemClass.cpp.
References RexxCompoundTail::createCompoundName(), dropped, findCompoundVariable(), RexxVariable::getVariableValue(), OREF_NULL, stemName, and value.
Referenced by RexxActivation::getLocalCompoundVariableValue().
RexxObject * RexxStem::getElement | ( | const char * | _tail | ) |
Evaluate an array element for an API class.
tail | The direct tail value. |
Definition at line 1139 of file StemClass.cpp.
References getElement().
RexxObject * RexxStem::getElement | ( | RexxCompoundTail * | resolved_tail | ) |
Resolve a compound variable as a result of an api call.
resolved_tail | The resolved tail value. |
Definition at line 1156 of file StemClass.cpp.
References findCompoundVariable(), RexxVariable::getVariableValue(), and OREF_NULL.
RexxObject * RexxStem::getElement | ( | size_t | _tail | ) |
Evaluate an array element for an API class.
tail | The direct tail value. |
Definition at line 1123 of file StemClass.cpp.
Referenced by getElement().
|
inline |
RexxObject * RexxStem::getStemValue | ( | ) |
Retrieve the assigned stem value.
Definition at line 179 of file StemClass.cpp.
References value.
RexxObject * RexxStem::handleNovalue | ( | RexxActivation * | context, |
RexxString * | name, | ||
RexxObject * | defaultValue, | ||
RexxCompoundElement * | variable | ||
) |
Definition at line 871 of file StemClass.cpp.
References RexxActivation::handleNovalueEvent(), and OREF_NULL.
Referenced by evaluateCompoundVariableValue().
RexxObject * RexxStem::hasIndex | ( | RexxObject ** | tailElements, |
size_t | argCount, | ||
size_t | named_argCount | ||
) |
Test if this compound variable has a given index.
tails | The set of tail expressions. |
argCount | The argument count |
Definition at line 265 of file StemClass.cpp.
References findCompoundVariable(), RexxVariable::getVariableValue(), OREF_NULL, TheFalseObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxObject * RexxStem::hasItem | ( | RexxObject * | target | ) |
Search for any index that matches the target object.
target | The object of interest. |
Definition at line 330 of file StemClass.cpp.
References findByValue(), OREF_NULL, TheFalseObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxObject * RexxStem::index | ( | RexxObject * | target | ) |
Return the index for a target item.
target | The target object. |
Definition at line 368 of file StemClass.cpp.
References findByValue(), RexxVariable::getName(), OREF_NULL, and TheNilObject.
Referenced by arraycopy(), and RexxMemory::createImage().
|
inline |
Definition at line 142 of file StemClass.hpp.
References RexxCompoundTable::init(), and tails.
|
virtual |
Reimplemented from RexxObject.
Definition at line 500 of file StemClass.cpp.
References RexxObject::integerValue(), and value.
RexxObject * RexxStem::isEmpty | ( | ) |
Test if the stem is empty.
Definition at line 999 of file StemClass.cpp.
References items(), TheFalseObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
size_t RexxStem::items | ( | void | ) |
Get the count of non-dropped items in the stem.
Definition at line 962 of file StemClass.cpp.
References RexxCompoundTable::first(), RexxVariable::getVariableValue(), RexxCompoundTable::next(), OREF_NULL, and tails.
Referenced by allItems(), isEmpty(), itemsRexx(), and tailArray().
RexxObject * RexxStem::itemsRexx | ( | void | ) |
Return the number of items set in the collection.
Definition at line 384 of file StemClass.cpp.
References items(), and new_integer().
Referenced by RexxMemory::createImage().
|
virtual |
Reimplemented from RexxObject.
Definition at line 116 of file StemClass.cpp.
References markCompoundTable, memory_mark, stemName, and value.
|
virtual |
Reimplemented from RexxObject.
Definition at line 127 of file StemClass.cpp.
References markGeneralCompoundTable, memory_mark_general, stemName, and value.
|
virtual |
Reimplemented from RexxObject.
Definition at line 434 of file StemClass.cpp.
References tailArray().
Referenced by request().
void RexxStem::merge | ( | SortData * | sd, |
int(*)(SortData *, RexxString *, RexxString *) | comparator, | ||
RexxString ** | strings, | ||
RexxString ** | working, | ||
size_t | left, | ||
size_t | mid, | ||
size_t | right | ||
) |
Perform a merge of two sort partitions.
sd | The sort descriptor. |
comparator | The comparator used to compare elements. |
strings | The input strings. |
working | A working array used for the merge operations. |
left | The left bound for the merge. |
mid | The midpoint for the merge. |
right | The right bound of merge (inclusive). |
Definition at line 1319 of file StemClass.cpp.
References arraycopy(), and find().
Referenced by mergeSort().
void RexxStem::mergeSort | ( | SortData * | sd, |
int(*)(SortData *, RexxString *, RexxString *) | comparator, | ||
RexxString ** | strings, | ||
RexxString ** | working, | ||
size_t | left, | ||
size_t | right | ||
) |
The merge sort routine. This will partition the data in to two sections, mergesort each partition, then merge the two partitions together.
sd | The sort information. |
comparator | The comparator object used for the compares. |
strings | The input set of strings. |
working | The working array (same size as the sorted array). |
left | The left bound of the partition. |
right | The right bounds of the parition. |
Definition at line 1282 of file StemClass.cpp.
References merge().
Referenced by sort().
RexxObject * RexxStem::newRexx | ( | RexxObject ** | init_args, |
size_t | argCount, | ||
size_t | named_argCount | ||
) |
Definition at line 538 of file StemClass.cpp.
References RexxClass::checkAbstract(), RexxClass::getInstanceBehaviour(), RexxInternalObject::hasUninit(), RexxClass::hasUninitDefined(), RexxClass::processNewArgs(), RexxStem(), RexxObject::sendMessage(), and RexxInternalObject::setBehaviour().
Referenced by RexxMemory::createImage().
RexxCompoundElement * RexxStem::nextVariable | ( | RexxNativeActivation * | activation | ) |
Definition at line 652 of file StemClass.cpp.
References RexxNativeActivation::compoundElement(), RexxVariable::getVariableValue(), RexxCompoundTable::next(), OREF_NULL, RexxNativeActivation::setCompoundElement(), RexxNativeActivation::setNextStem(), and tails.
Referenced by RexxNativeActivation::fetchNext().
|
virtual |
Reimplemented from RexxObject.
Definition at line 491 of file StemClass.cpp.
References RexxObject::numberString(), and value.
|
virtual |
Reimplemented from RexxObject.
Definition at line 459 of file StemClass.cpp.
References RexxObject::numberValue(), and value.
|
virtual |
Reimplemented from RexxObject.
Definition at line 451 of file StemClass.cpp.
References RexxObject::numberValue(), and value.
|
inline |
Definition at line 74 of file StemClass.hpp.
void * RexxStem::operator new | ( | size_t | size | ) |
Definition at line 571 of file StemClass.cpp.
References new_object(), and T_Stem.
RexxObject * RexxStem::realCompoundVariableValue | ( | RexxCompoundTail * | resolved_tail | ) |
Definition at line 844 of file StemClass.cpp.
References dropped, findCompoundVariable(), RexxVariable::getVariableValue(), OREF_NULL, and value.
Referenced by compoundVariableExists().
RexxObject * RexxStem::remove | ( | RexxObject ** | tailElements, |
size_t | argCount, | ||
size_t | named_argCount | ||
) |
Remove an item from the collection. This is essentially equivalent to a drop operation on the stem variable.
tails | The set of tail indexes. |
argCount | The number of indexes. |
Definition at line 296 of file StemClass.cpp.
References RexxVariable::drop(), findCompoundVariable(), getName(), RexxVariable::getVariableValue(), OREF_NULL, OrefSet, TheNilObject, and value.
Referenced by RexxMemory::createImage().
RexxObject * RexxStem::removeItem | ( | RexxObject * | target | ) |
Remove an item from the collection.
target | The object of interest. |
Definition at line 345 of file StemClass.cpp.
References RexxVariable::drop(), findByValue(), RexxVariable::getVariableValue(), OREF_NULL, and TheNilObject.
Referenced by RexxMemory::createImage().
RexxObject * RexxStem::request | ( | RexxString * | makeclass | ) |
Definition at line 509 of file StemClass.cpp.
References ARG_ONE, isOfClass, makeArray(), RexxObject::sendMessage(), RexxString::strCompare(), stringArgument(), RexxString::upper(), and value.
Referenced by RexxMemory::createImage().
void RexxStem::setCompoundVariable | ( | RexxCompoundTail * | name, |
RexxObject * | value | ||
) |
Definition at line 681 of file StemClass.cpp.
References getCompoundVariable(), and RexxVariable::set().
Referenced by RexxActivation::assignLocalCompoundVariable(), RexxVariableDictionary::setCompoundVariable(), and RexxActivation::setLocalCompoundVariable().
void RexxStem::setElement | ( | const char * | _tail, |
RexxObject * | _value | ||
) |
Set a single stem variable object using a simple string value tail as a result of an api call.
tail | The index of the target value. |
value | The new value to assign. |
Definition at line 1092 of file StemClass.cpp.
References getCompoundVariable(), and RexxVariable::set().
void RexxStem::setElement | ( | size_t | _tail, |
RexxObject * | _value | ||
) |
Set a single stem variable object using a simple string value tail as a result of an api call.
tail | The index of the target value. |
value | The new value to assign. |
Definition at line 1107 of file StemClass.cpp.
References getCompoundVariable(), and RexxVariable::set().
void RexxStem::setValue | ( | RexxObject * | value | ) |
Definition at line 153 of file StemClass.cpp.
References dropped, OrefSet, and value.
Referenced by RexxStemVariable::assign(), and RexxStemVariable::set().
bool RexxStem::sort | ( | RexxString * | prefix, |
int | order, | ||
int | type, | ||
size_t | start, | ||
size_t | end, | ||
size_t | firstcol, | ||
size_t | lastcol | ||
) |
Definition at line 1457 of file StemClass.cpp.
References SortData::columnLength, compare_asc(), compare_asc_cols(), compare_asc_i(), compare_asc_i_cols(), compare_desc(), compare_desc_cols(), compare_desc_i(), compare_desc_i_cols(), RexxArray::data(), Numerics::DEFAULT_DIGITS, findCompoundVariable(), RexxArray::get(), RexxVariable::getVariableValue(), mergeSort(), new_array(), OREF_NULL, RexxArray::put(), REQUEST_STRING(), RexxVariable::set(), SIZE_MAX, SORT_ASCENDING, SORT_CASEIGNORE, SORT_CASESENSITIVE, SortData::startColumn, type, and RexxObject::unsignedNumberValue().
Referenced by RexxStemVariable::sort().
|
virtual |
Reimplemented from RexxObject.
Definition at line 442 of file StemClass.cpp.
References RexxObject::stringValue(), and value.
RexxSupplier * RexxStem::supplier | ( | void | ) |
Create a supplier for the stem, returning the tail names as the indexes and the values as the items.
Definition at line 1023 of file StemClass.cpp.
References RexxCompoundTable::first(), RexxVariable::getName(), RexxVariable::getVariableValue(), new_array(), new_supplier(), RexxCompoundTable::next(), OREF_NULL, RexxArray::put(), and tails.
Referenced by RexxMemory::createImage().
RexxString* RexxStem::tail | ( | RexxArray * | , |
size_t | |||
) |
RexxArray * RexxStem::tailArray | ( | ) |
Definition at line 693 of file StemClass.cpp.
References RexxCompoundTable::first(), RexxVariable::getName(), RexxVariable::getVariableValue(), items(), new_array(), RexxCompoundTable::next(), OREF_NULL, RexxArray::put(), and tails.
Referenced by allIndexes(), and makeArray().
RexxDirectory * RexxStem::toDirectory | ( | ) |
Create a directory from the stem. Each tail with an assigned value will be an entry within the directory.
Definition at line 1066 of file StemClass.cpp.
References RexxCompoundTable::first(), RexxVariable::getName(), RexxVariable::getVariableValue(), new_directory(), RexxCompoundTable::next(), OREF_NULL, RexxDirectory::put(), and tails.
Referenced by RexxMemory::createImage().
|
virtual |
Reimplemented from RexxObject.
Definition at line 185 of file StemClass.cpp.
References RexxDirectory::appendAllIndexesItemsTo(), ARG_ONE, ARG_TWO, RexxArray::copy(), RexxArray::data(), Error_Execution_user_defined, Error_Incorrect_method_noarray, IntegerTwo, RexxDirectory::items(), OREF_NULL, reportException(), REQUEST_ARRAY(), RexxObject::requestDirectory(), requiredArgument(), RexxObject::sendMessage(), RexxArray::size(), stringArgument(), TheNilObject, and value.
|
virtual |
Reimplemented from RexxObject.
Definition at line 475 of file StemClass.cpp.
References RexxObject::unsignedNumberValue(), and value.
|
virtual |
Reimplemented from RexxObject.
Definition at line 467 of file StemClass.cpp.
References RexxObject::unsignedNumberValue(), and value.
|
friend |
Definition at line 71 of file StemClass.hpp.
Definition at line 154 of file StemClass.hpp.
|
protected |
Definition at line 161 of file StemClass.hpp.
Referenced by bracketEqual(), dropValue(), evaluateCompoundVariableValue(), exposeCompoundVariable(), getCompoundVariableRealValue(), getCompoundVariableValue(), realCompoundVariableValue(), RexxStem(), and setValue().
|
protected |
Definition at line 158 of file StemClass.hpp.
Referenced by bracket(), createCompoundName(), dropValue(), evaluateCompoundVariableValue(), getCompoundVariableValue(), getName(), live(), liveGeneral(), and RexxStem().
|
protected |
Definition at line 159 of file StemClass.hpp.
Referenced by allItems(), bracketEqual(), copy(), copyFrom(), empty(), expose(), exposeCompoundVariable(), findByValue(), findCompoundVariable(), first(), getCompoundVariable(), init(), items(), nextVariable(), RexxStem(), RexxCompoundTable::setParent(), RexxCompoundTable::setRoot(), supplier(), tailArray(), and toDirectory().
|
protected |
Definition at line 160 of file StemClass.hpp.
Referenced by bracket(), bracketEqual(), doubleValue(), dropValue(), evaluateCompoundVariableValue(), exposeCompoundVariable(), getCompoundVariableRealValue(), getCompoundVariableValue(), getStemValue(), integerValue(), live(), liveGeneral(), numberString(), numberValue(), realCompoundVariableValue(), remove(), request(), RexxStem(), setValue(), stringValue(), unknown(), and unsignedNumberValue().