RexxStemVariable Class Reference

#include <ExpressionStem.hpp>

Inheritance diagram for RexxStemVariable:
[legend]

Public Member Functions

void * operator new (size_t)
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *)
 
void operator delete (void *, void *)
 
 RexxStemVariable (RESTORETYPE restoreType)
 
 RexxStemVariable (RexxString *, size_t)
 
void live (size_t)
 
void liveGeneral (int reason)
 
void flatten (RexxEnvelope *)
 
RexxObject * evaluate (RexxActivation *, RexxExpressionStack *)
 
RexxObject * getValue (RexxVariableDictionary *)
 
RexxObject * getValue (RexxActivation *)
 
RexxObject * getRealValue (RexxVariableDictionary *)
 
RexxObject * getRealValue (RexxActivation *)
 
bool exists (RexxActivation *)
 
void set (RexxActivation *, RexxObject *)
 
void set (RexxVariableDictionary *, RexxObject *)
 
void assign (RexxActivation *, RexxExpressionStack *, RexxObject *)
 
void drop (RexxActivation *)
 
void drop (RexxVariableDictionary *)
 
void setGuard (RexxActivation *)
 
void clearGuard (RexxActivation *)
 
void expose (RexxActivation *, RexxExpressionStack *, RexxVariableDictionary *)
 
void procedureExpose (RexxActivation *, RexxActivation *, RexxExpressionStack *)
 
bool sort (RexxActivation *context, RexxString *prefix, int order, int type, size_t start, size_t end, size_t firstcol, size_t lastcol)
 
size_t getIndex ()
 
void upper (RexxActivation *)
 
RexxString * getName ()
 
- Public Member Functions inherited from RexxVariableBase
 RexxVariableBase ()
 
virtual bool isAllowedForUseNamed ()
 
- Public Member Functions inherited from RexxInternalObject
void * operator new (size_t, RexxClass *)
 
void * operator new (size_t, RexxClass *, RexxObject **, size_t, size_t)
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *)
 
void operator delete (void *p, void *ptr)
 
 RexxInternalObject ()
 
 RexxInternalObject (RESTORETYPE restoreType)
 
virtual ~RexxInternalObject ()
 
 operator RexxObject * ()
 
size_t getObjectSize ()
 
void setObjectSize (size_t s)
 
size_t getObjectDataSize ()
 
void * getObjectDataSpace ()
 
void clearObject ()
 
void clearObject (size_t l)
 
void setVirtualFunctions (void *t)
 
void setInitHeader (size_t s, size_t markword)
 
void setInitHeader (size_t markword)
 
void setObjectLive (size_t markword)
 
void setHasReferences ()
 
void setHasNoReferences ()
 
bool hasReferences ()
 
bool hasNoReferences ()
 
void setPrimitive ()
 
void setNonPrimitive ()
 
bool isPrimitive ()
 
bool isNonPrimitive ()
 
void setInRexxPackage ()
 
bool isInRexxPackage ()
 
bool isObjectMarked (size_t markword)
 
void setObjectMark (size_t markword)
 
void clearObjectMark ()
 
bool isObjectLive (size_t mark)
 
bool isObjectDead (size_t mark)
 
bool isOldSpace ()
 
bool isNewSpace ()
 
void setNewSpace ()
 
void setOldSpace ()
 
void makeProxiedObject ()
 
bool isProxyObject ()
 
bool isSubClassOrEnhanced ()
 
bool isBaseClass ()
 
size_t getObjectTypeNumber ()
 
RexxBehaviour * getObjectType ()
 
bool isObjectType (RexxBehaviour *b)
 
bool isObjectType (size_t t)
 
bool isSameType (RexxInternalObject *o)
 
void setBehaviour (RexxBehaviour *b)
 
virtual RexxObject * makeProxy (RexxEnvelope *)
 
virtual RexxObject * copy ()
 
virtual void uninit ()
 
virtual HashCode hash ()
 
virtual HashCode getHashValue ()
 
HashCode identityHash ()
 
virtual bool truthValue (int)
 
virtual bool logicalValue (logical_t &)
 
virtual RexxString * makeString ()
 
virtual RexxText * makeText ()
 
virtual void copyIntoTail (RexxCompoundTail *buffer)
 
virtual RexxString * primitiveMakeString ()
 
virtual RexxText * primitiveMakeText ()
 
virtual RexxArray * makeArray ()
 
virtual RexxString * stringValue ()
 
virtual RexxText * textValue ()
 
virtual RexxInteger * integerValue (size_t)
 
virtual bool numberValue (wholenumber_t &result, size_t precision)
 
virtual bool numberValue (wholenumber_t &result)
 
virtual bool unsignedNumberValue (stringsize_t &result, size_t precision)
 
virtual bool unsignedNumberValue (stringsize_t &result)
 
virtual bool doubleValue (double &result)
 
virtual RexxNumberString * numberString ()
 
virtual bool isEqual (RexxObject *)
 
virtual bool isInstanceOf (RexxClass *)
 
virtual RexxMethod * instanceMethod (RexxString *)
 
virtual RexxSupplier * instanceMethods (RexxClass *)
 
virtual RexxObject * dynamicTarget (RexxObject **arguments, size_t count, size_t named_count)
 
void hasUninit ()
 
void removedUninit ()
 
void printObject ()
 
RexxObject * clone ()
 
- Public Member Functions inherited from RexxVirtualBase
virtual RexxObject * unflatten (RexxEnvelope *)
 

Public Attributes

RexxString * stem
 
size_t index
 
- Public Attributes inherited from RexxInternalObject
ObjectHeader header
 
RexxBehaviour * behaviour
 

Additional Inherited Members

- Static Public Member Functions inherited from RexxInternalObject
static size_t getObjectHeaderSize ()
 
- Protected Member Functions inherited from RexxVirtualBase
virtual ~RexxVirtualBase ()
 
virtual void baseVirtual ()
 

Detailed Description

Definition at line 49 of file ExpressionStem.hpp.

Constructor & Destructor Documentation

◆ RexxStemVariable() [1/2]

RexxStemVariable::RexxStemVariable ( RESTORETYPE  restoreType)
inline

Definition at line 56 of file ExpressionStem.hpp.

◆ RexxStemVariable() [2/2]

RexxStemVariable::RexxStemVariable ( RexxString *  stemName,
size_t  var_index 
)

Definition at line 55 of file ExpressionStem.cpp.

References index, OrefSet, and stem.

Member Function Documentation

◆ assign()

void RexxStemVariable::assign ( RexxActivation *  context,
RexxExpressionStack *  stack,
RexxObject *  value 
)
virtual

◆ clearGuard()

void RexxStemVariable::clearGuard ( RexxActivation *  context)
virtual

◆ drop() [1/2]

void RexxStemVariable::drop ( RexxActivation *  context)
virtual

Reimplemented from RexxVariableBase.

Definition at line 246 of file ExpressionStem.cpp.

References RexxActivation::dropLocalStem(), index, stem, and RexxActivation::traceAssignment().

◆ drop() [2/2]

void RexxStemVariable::drop ( RexxVariableDictionary *  dictionary)
virtual

Drop a variable that's directly in a variable dictionary.

Parameters
dictionaryThe target dictionary

Reimplemented from RexxVariableBase.

Definition at line 263 of file ExpressionStem.cpp.

References RexxVariableDictionary::dropStemVariable(), and stem.

◆ evaluate()

RexxObject * RexxStemVariable::evaluate ( RexxActivation *  context,
RexxExpressionStack *  stack 
)
virtual

◆ exists()

bool RexxStemVariable::exists ( RexxActivation *  context)
virtual

Reimplemented from RexxVariableBase.

Definition at line 212 of file ExpressionStem.cpp.

References index, RexxActivation::localStemVariableExists(), and stem.

◆ expose()

void RexxStemVariable::expose ( RexxActivation *  context,
RexxExpressionStack *  stack,
RexxVariableDictionary *  object_dictionary 
)
virtual

◆ flatten()

void RexxStemVariable::flatten ( RexxEnvelope *  envelope)
virtual

Reimplemented from RexxVirtualBase.

Definition at line 83 of file ExpressionStem.cpp.

References cleanUpFlatten, flatten_reference, and setUpFlatten.

◆ getIndex()

size_t RexxStemVariable::getIndex ( )
inline

Definition at line 77 of file ExpressionStem.hpp.

References index.

◆ getName()

RexxString* RexxStemVariable::getName ( )
inlinevirtual

Reimplemented from RexxVariableBase.

Definition at line 79 of file ExpressionStem.hpp.

References stem.

◆ getRealValue() [1/2]

RexxObject * RexxStemVariable::getRealValue ( RexxActivation *  context)
virtual

Retrieve the real value of a stem variable. Stem variables will always be created on first reference, so there is no difference between getValue() and getRealValue().

Parameters
contextThe current execution context.
Returns
The stem object representing this variable.

Reimplemented from RexxInternalObject.

Definition at line 161 of file ExpressionStem.cpp.

References RexxActivation::getLocalStem(), index, and stem.

◆ getRealValue() [2/2]

RexxObject * RexxStemVariable::getRealValue ( RexxVariableDictionary *  dictionary)
virtual

Retrieve the real value of a stem variable. Stem variables will always be created on first reference, so there is no difference between getValue() and getRealValue().

Parameters
dictionaryThe source variable dictionary.
Returns
The stem object representing this variable.

Reimplemented from RexxInternalObject.

Definition at line 147 of file ExpressionStem.cpp.

References RexxVariableDictionary::getStem(), and stem.

◆ getValue() [1/2]

RexxObject * RexxStemVariable::getValue ( RexxActivation *  context)
virtual

Reimplemented from RexxInternalObject.

Definition at line 127 of file ExpressionStem.cpp.

References RexxActivation::getLocalStem(), index, and stem.

◆ getValue() [2/2]

RexxObject * RexxStemVariable::getValue ( RexxVariableDictionary *  dictionary)
virtual

Reimplemented from RexxInternalObject.

Definition at line 116 of file ExpressionStem.cpp.

References RexxVariableDictionary::getStem(), and stem.

Referenced by upper().

◆ live()

void RexxStemVariable::live ( size_t  liveMark)
virtual

Reimplemented from RexxVirtualBase.

Definition at line 67 of file ExpressionStem.cpp.

References memory_mark, and stem.

◆ liveGeneral()

void RexxStemVariable::liveGeneral ( int  reason)
virtual

Reimplemented from RexxVirtualBase.

Definition at line 75 of file ExpressionStem.cpp.

References memory_mark_general, and stem.

◆ operator delete() [1/2]

void RexxStemVariable::operator delete ( void *  )
inline

Definition at line 53 of file ExpressionStem.hpp.

◆ operator delete() [2/2]

void RexxStemVariable::operator delete ( void *  ,
void *   
)
inline

Definition at line 54 of file ExpressionStem.hpp.

◆ operator new() [1/2]

void* RexxStemVariable::operator new ( size_t  size,
void *  ptr 
)
inline

Definition at line 52 of file ExpressionStem.hpp.

◆ operator new() [2/2]

void * RexxStemVariable::operator new ( size_t  size)

Definition at line 344 of file ExpressionStem.cpp.

References new_object(), and T_StemVariableTerm.

◆ procedureExpose()

void RexxStemVariable::procedureExpose ( RexxActivation *  context,
RexxActivation *  parent,
RexxExpressionStack *  stack 
)
virtual

◆ set() [1/2]

void RexxStemVariable::set ( RexxActivation *  context,
RexxObject *  value 
)
virtual

Reimplemented from RexxVariableBase.

Definition at line 166 of file ExpressionStem.cpp.

References RexxActivation::getLocalStemVariable(), index, isOfClass, RexxVariable::set(), RexxStem::setValue(), and stem.

Referenced by upper().

◆ set() [2/2]

void RexxStemVariable::set ( RexxVariableDictionary *  dictionary,
RexxObject *  value 
)
virtual

◆ setGuard()

void RexxStemVariable::setGuard ( RexxActivation *  context)
virtual

◆ sort()

bool RexxStemVariable::sort ( RexxActivation *  context,
RexxString *  prefix,
int  order,
int  type,
size_t  start,
size_t  end,
size_t  firstcol,
size_t  lastcol 
)

◆ upper()

void RexxStemVariable::upper ( RexxActivation *  context)
virtual

Reimplemented from RexxVariableBase.

Definition at line 353 of file ExpressionStem.cpp.

References getValue(), REQUEST_STRING(), set(), and RexxString::upper().

Member Data Documentation

◆ index

◆ stem


The documentation for this class was generated from the following files: