RexxParseVariable Class Reference

#include <ExpressionVariable.hpp>

Inheritance diagram for RexxParseVariable:
[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 *)
 
 RexxParseVariable (RESTORETYPE restoreType)
 
 RexxParseVariable (RexxString *, size_t)
 
void live (size_t)
 
void liveGeneral (int reason)
 
void flatten (RexxEnvelope *)
 
RexxObjectevaluate (RexxActivation *, RexxExpressionStack *)
 
RexxObjectgetValue (RexxVariableDictionary *)
 
RexxObjectgetValue (RexxActivation *)
 
RexxObjectgetRealValue (RexxVariableDictionary *)
 
RexxObjectgetRealValue (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 *)
 
RexxStringgetName ()
 
void upper (RexxActivation *)
 
- 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 ()
 
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 ()
 
RexxBehaviourgetObjectType ()
 
bool isObjectType (RexxBehaviour *b)
 
bool isObjectType (size_t t)
 
bool isSameType (RexxInternalObject *o)
 
void setBehaviour (RexxBehaviour *b)
 
virtual RexxObjectmakeProxy (RexxEnvelope *)
 
virtual RexxObjectcopy ()
 
virtual void uninit ()
 
virtual HashCode hash ()
 
virtual HashCode getHashValue ()
 
HashCode identityHash ()
 
virtual bool truthValue (int)
 
virtual bool logicalValue (logical_t &)
 
virtual RexxStringmakeString ()
 
virtual void copyIntoTail (RexxCompoundTail *buffer)
 
virtual RexxStringprimitiveMakeString ()
 
virtual RexxArraymakeArray ()
 
virtual RexxStringstringValue ()
 
virtual RexxIntegerintegerValue (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 RexxNumberStringnumberString ()
 
virtual bool isEqual (RexxObject *)
 
virtual bool isInstanceOf (RexxClass *)
 
virtual RexxMethodinstanceMethod (RexxString *)
 
virtual RexxSupplierinstanceMethods (RexxClass *)
 
void hasUninit ()
 
void removedUninit ()
 
void printObject ()
 
RexxObjectclone ()
 
- Public Member Functions inherited from RexxVirtualBase
virtual RexxObjectunflatten (RexxEnvelope *)
 

Protected Attributes

RexxStringvariableName
 
size_t index
 

Additional Inherited Members

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

Detailed Description

Definition at line 49 of file ExpressionVariable.hpp.

Constructor & Destructor Documentation

◆ RexxParseVariable() [1/2]

RexxParseVariable::RexxParseVariable ( RESTORETYPE  restoreType)
inline

Definition at line 56 of file ExpressionVariable.hpp.

◆ RexxParseVariable() [2/2]

RexxParseVariable::RexxParseVariable ( RexxString variable_name,
size_t  var_index 
)

Definition at line 53 of file ExpressionVariable.cpp.

References index, OrefSet, and variableName.

Member Function Documentation

◆ assign()

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

◆ clearGuard()

void RexxParseVariable::clearGuard ( RexxActivation context)
virtual

◆ drop() [1/2]

void RexxParseVariable::drop ( RexxActivation context)
virtual

◆ drop() [2/2]

void RexxParseVariable::drop ( RexxVariableDictionary dictionary)
virtual

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

Parameters
dictionaryThe target dictionary

Reimplemented from RexxVariableBase.

Definition at line 243 of file ExpressionVariable.cpp.

References RexxVariable::drop(), RexxVariableDictionary::getVariable(), and variableName.

◆ evaluate()

◆ exists()

bool RexxParseVariable::exists ( RexxActivation context)
virtual

Reimplemented from RexxVariableBase.

Definition at line 204 of file ExpressionVariable.cpp.

References index, RexxActivation::localVariableExists(), and variableName.

◆ expose()

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

◆ flatten()

void RexxParseVariable::flatten ( RexxEnvelope envelope)
virtual

Reimplemented from RexxVirtualBase.

Definition at line 81 of file ExpressionVariable.cpp.

References cleanUpFlatten, flatten_reference, and setUpFlatten.

◆ getName()

RexxString * RexxParseVariable::getName ( )
virtual

Return the name of this variable.

Returns
The string value of the variable name.

Reimplemented from RexxVariableBase.

Definition at line 307 of file ExpressionVariable.cpp.

References variableName.

◆ getRealValue() [1/2]

RexxObject * RexxParseVariable::getRealValue ( RexxActivation context)
virtual

Get the value of a variable without applying a default value to it. Used in the apis so the caller can more easily detect an uninitialized variable.

Parameters
contextThe current context.
Returns
The value of the variable. Returns OREF_NULL if the variable has not been assigned a value.

Reimplemented from RexxInternalObject.

Definition at line 175 of file ExpressionVariable.cpp.

References RexxActivation::getLocalVariable(), RexxVariable::getVariableValue(), index, and variableName.

◆ getRealValue() [2/2]

RexxObject * RexxParseVariable::getRealValue ( RexxVariableDictionary dictionary)
virtual

Retrieve an object variable value, returning OREF_NULL if the variable does not have a value.

Parameters
dictionaryThe source variable dictionary.
Returns
The variable value, or OREF_NULL if the variable is not assigned.

Reimplemented from RexxInternalObject.

Definition at line 157 of file ExpressionVariable.cpp.

References RexxVariableDictionary::getVariable(), RexxVariable::getVariableValue(), and variableName.

◆ getValue() [1/2]

RexxObject * RexxParseVariable::getValue ( RexxActivation context)
virtual

◆ getValue() [2/2]

RexxObject * RexxParseVariable::getValue ( RexxVariableDictionary dictionary)
virtual

◆ live()

void RexxParseVariable::live ( size_t  liveMark)
virtual

Reimplemented from RexxVirtualBase.

Definition at line 65 of file ExpressionVariable.cpp.

References memory_mark, and variableName.

◆ liveGeneral()

void RexxParseVariable::liveGeneral ( int  reason)
virtual

Reimplemented from RexxVirtualBase.

Definition at line 73 of file ExpressionVariable.cpp.

References memory_mark_general, and variableName.

◆ operator delete() [1/2]

void RexxParseVariable::operator delete ( void *  )
inline

Definition at line 53 of file ExpressionVariable.hpp.

◆ operator delete() [2/2]

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

Definition at line 54 of file ExpressionVariable.hpp.

◆ operator new() [1/2]

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

Definition at line 52 of file ExpressionVariable.hpp.

◆ operator new() [2/2]

void * RexxParseVariable::operator new ( size_t  size)

Definition at line 313 of file ExpressionVariable.cpp.

References new_object(), and T_VariableTerm.

◆ procedureExpose()

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

◆ set() [1/2]

void RexxParseVariable::set ( RexxActivation context,
RexxObject value 
)
virtual

Reimplemented from RexxVariableBase.

Definition at line 193 of file ExpressionVariable.cpp.

References index, RexxActivation::setLocalVariable(), and variableName.

Referenced by upper().

◆ set() [2/2]

void RexxParseVariable::set ( RexxVariableDictionary dictionary,
RexxObject value 
)
virtual

Reimplemented from RexxVariableBase.

Definition at line 181 of file ExpressionVariable.cpp.

References RexxVariableDictionary::getVariable(), RexxVariable::set(), and variableName.

◆ setGuard()

void RexxParseVariable::setGuard ( RexxActivation context)
virtual

◆ upper()

void RexxParseVariable::upper ( RexxActivation context)
virtual

Reimplemented from RexxVariableBase.

Definition at line 321 of file ExpressionVariable.cpp.

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

Member Data Documentation

◆ index

size_t RexxParseVariable::index
protected

◆ variableName


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