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 ()
 
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 ()
 
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 RexxTextmakeText ()
 
virtual void copyIntoTail (RexxCompoundTail *buffer)
 
virtual RexxStringprimitiveMakeString ()
 
virtual RexxTextprimitiveMakeText ()
 
virtual RexxArraymakeArray ()
 
virtual RexxStringstringValue ()
 
virtual RexxTexttextValue ()
 
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 *)
 
virtual RexxObjectdynamicTarget (RexxObject **arguments, size_t count, size_t named_count)
 
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: