RexxInstructionSelect Class Reference

#include <SelectInstruction.hpp>

Inheritance diagram for RexxInstructionSelect:
[legend]

Public Member Functions

void * operator new (size_t size, void *ptr)
 
void operator delete (void *)
 
void operator delete (void *, void *)
 
 RexxInstructionSelect (RexxString *)
 
 RexxInstructionSelect (RESTORETYPE restoreType)
 
void live (size_t)
 
void liveGeneral (int reason)
 
void flatten (RexxEnvelope *)
 
void execute (RexxActivation *, RexxExpressionStack *)
 
void matchEnd (RexxInstructionEnd *, RexxSource *)
 
bool isLabel (RexxString *name)
 
RexxStringgetLabel ()
 
bool isLoop ()
 
void terminate (RexxActivation *, RexxDoBlock *)
 
void setOtherwise (RexxInstructionOtherwise *)
 
void addWhen (RexxInstructionIf *)
 
- Public Member Functions inherited from RexxBlockInstruction
 RexxBlockInstruction ()
 
 RexxBlockInstruction (RESTORETYPE restoreType)
 
- Public Member Functions inherited from RexxInstruction
void * operator new (size_t)
 
void * operator new (size_t size, void *objectPtr)
 
void operator delete (void *)
 
void operator delete (void *, void *)
 
 RexxInstruction (RexxClause *clause, int type)
 
 RexxInstruction (RESTORETYPE restoreType)
 
 RexxInstruction ()
 
const SourceLocationgetLocation ()
 
void setLocation (SourceLocation &l)
 
void setNext (RexxInstruction *next)
 
void setStart (size_t line, size_t off)
 
void setEnd (size_t line, size_t off)
 
void setType (size_t type)
 
size_t getType ()
 
bool isType (size_t type)
 
size_t getLineNumber ()
 
- 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 RexxObjectevaluate (RexxActivation *, RexxExpressionStack *)
 
virtual RexxObjectgetValue (RexxActivation *)
 
virtual RexxObjectgetValue (RexxVariableDictionary *)
 
virtual RexxObjectgetRealValue (RexxActivation *)
 
virtual RexxObjectgetRealValue (RexxVariableDictionary *)
 
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

RexxQueuewhen_list
 
RexxInstructionEndend
 
RexxInstructionOtherwiseotherwise
 
RexxStringlabel
 

Additional Inherited Members

- Static Public Member Functions inherited from RexxInternalObject
static size_t getObjectHeaderSize ()
 
- Public Attributes inherited from RexxInstruction
uint16_t instructionType
 
uint16_t instructionFlags
 
SourceLocation instructionLocation
 
RexxInstructionnextInstruction
 
- Public Attributes inherited from RexxInternalObject
ObjectHeader header
 
RexxBehaviourbehaviour
 
- Protected Member Functions inherited from RexxVirtualBase
virtual ~RexxVirtualBase ()
 
virtual void baseVirtual ()
 

Detailed Description

Definition at line 51 of file SelectInstruction.hpp.

Constructor & Destructor Documentation

◆ RexxInstructionSelect() [1/2]

RexxInstructionSelect::RexxInstructionSelect ( RexxString name)

Definition at line 57 of file SelectInstruction.cpp.

References label, new_queue(), OrefSet, and when_list.

◆ RexxInstructionSelect() [2/2]

RexxInstructionSelect::RexxInstructionSelect ( RESTORETYPE  restoreType)
inline

Definition at line 59 of file SelectInstruction.hpp.

Member Function Documentation

◆ addWhen()

void RexxInstructionSelect::addWhen ( RexxInstructionIf when)

Definition at line 255 of file SelectInstruction.cpp.

References RexxQueue::pushRexx(), and when_list.

◆ execute()

void RexxInstructionSelect::execute ( RexxActivation context,
RexxExpressionStack stack 
)
virtual

◆ flatten()

void RexxInstructionSelect::flatten ( RexxEnvelope envelope)
virtual

Reimplemented from RexxInstruction.

Definition at line 94 of file SelectInstruction.cpp.

References cleanUpFlatten, flatten_reference, and setUpFlatten.

◆ getLabel()

RexxString * RexxInstructionSelect::getLabel ( )
virtual

Return the associated label.

Returns
The select label (which might be OREF_NULL)

Reimplemented from RexxBlockInstruction.

Definition at line 117 of file SelectInstruction.cpp.

References label.

Referenced by matchEnd().

◆ isLabel()

bool RexxInstructionSelect::isLabel ( RexxString name)
virtual

Check for a label match on a block instruction.

Parameters
nameThe target block name.
Returns
True if this is a name match, false otherwise.

Reimplemented from RexxBlockInstruction.

Definition at line 141 of file SelectInstruction.cpp.

References label.

◆ isLoop()

bool RexxInstructionSelect::isLoop ( )
virtual

Tests to see if this is a loop instruction.

Returns
True if this is a repetitive loop, false otherwise.

Reimplemented from RexxBlockInstruction.

Definition at line 128 of file SelectInstruction.cpp.

◆ live()

void RexxInstructionSelect::live ( size_t  liveMark)
virtual

Reimplemented from RexxInstruction.

Definition at line 69 of file SelectInstruction.cpp.

References end, label, memory_mark, RexxInstruction::nextInstruction, otherwise, and when_list.

◆ liveGeneral()

void RexxInstructionSelect::liveGeneral ( int  reason)
virtual

Reimplemented from RexxInstruction.

Definition at line 81 of file SelectInstruction.cpp.

References end, label, memory_mark_general, RexxInstruction::nextInstruction, otherwise, and when_list.

◆ matchEnd()

◆ operator delete() [1/2]

void RexxInstructionSelect::operator delete ( void *  )
inline

Definition at line 55 of file SelectInstruction.hpp.

◆ operator delete() [2/2]

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

Definition at line 56 of file SelectInstruction.hpp.

◆ operator new()

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

Definition at line 54 of file SelectInstruction.hpp.

◆ setOtherwise()

void RexxInstructionSelect::setOtherwise ( RexxInstructionOtherwise _otherwise)

Definition at line 265 of file SelectInstruction.cpp.

References OrefSet, and otherwise.

◆ terminate()

void RexxInstructionSelect::terminate ( RexxActivation context,
RexxDoBlock doblock 
)
virtual

Member Data Documentation

◆ end

RexxInstructionEnd* RexxInstructionSelect::end
protected

Definition at line 76 of file SelectInstruction.hpp.

Referenced by live(), liveGeneral(), matchEnd(), and terminate().

◆ label

RexxString* RexxInstructionSelect::label
protected

Definition at line 78 of file SelectInstruction.hpp.

Referenced by getLabel(), isLabel(), live(), liveGeneral(), and RexxInstructionSelect().

◆ otherwise

RexxInstructionOtherwise* RexxInstructionSelect::otherwise
protected

Definition at line 77 of file SelectInstruction.hpp.

Referenced by live(), liveGeneral(), matchEnd(), and setOtherwise().

◆ when_list

RexxQueue* RexxInstructionSelect::when_list
protected

Definition at line 75 of file SelectInstruction.hpp.

Referenced by addWhen(), live(), liveGeneral(), matchEnd(), and RexxInstructionSelect().


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