RexxInstruction Class Reference

#include <RexxInstruction.hpp>

Inheritance diagram for RexxInstruction:
[legend]

Public Member Functions

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 ()
 
void live (size_t)
 
void liveGeneral (int reason)
 
void flatten (RexxEnvelope *)
 
const SourceLocationgetLocation ()
 
void setLocation (SourceLocation &l)
 
virtual void execute (RexxActivation *, RexxExpressionStack *)
 
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 *)
 

Public Attributes

uint16_t instructionType
 
uint16_t instructionFlags
 
SourceLocation instructionLocation
 
RexxInstructionnextInstruction
 
- Public Attributes inherited from RexxInternalObject
ObjectHeader header
 
RexxBehaviourbehaviour
 

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 54 of file RexxInstruction.hpp.

Constructor & Destructor Documentation

◆ RexxInstruction() [1/3]

RexxInstruction::RexxInstruction ( RexxClause clause,
int  type 
)

◆ RexxInstruction() [2/3]

RexxInstruction::RexxInstruction ( RESTORETYPE  restoreType)
inline

Definition at line 62 of file RexxInstruction.hpp.

◆ RexxInstruction() [3/3]

RexxInstruction::RexxInstruction ( )
inline

Definition at line 63 of file RexxInstruction.hpp.

Member Function Documentation

◆ execute()

◆ flatten()

void RexxInstruction::flatten ( RexxEnvelope envelope)
virtual

◆ getLineNumber()

◆ getLocation()

◆ getType()

size_t RexxInstruction::getType ( )
inline

◆ isType()

bool RexxInstruction::isType ( size_t  type)
inline

Definition at line 78 of file RexxInstruction.hpp.

References instructionType, and type.

Referenced by RexxActivation::run(), and RexxActivation::trap().

◆ live()

void RexxInstruction::live ( size_t  liveMark)
virtual

◆ liveGeneral()

void RexxInstruction::liveGeneral ( int  reason)
virtual

◆ operator delete() [1/2]

void RexxInstruction::operator delete ( void *  )
inline

Definition at line 58 of file RexxInstruction.hpp.

◆ operator delete() [2/2]

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

Definition at line 59 of file RexxInstruction.hpp.

◆ operator new() [1/2]

void* RexxInstruction::operator new ( size_t  size,
void *  objectPtr 
)
inline

Definition at line 57 of file RexxInstruction.hpp.

◆ operator new() [2/2]

void * RexxInstruction::operator new ( size_t  size)

Definition at line 98 of file RexxInstruction.cpp.

References new_object(), and T_Instruction.

◆ setEnd()

void RexxInstruction::setEnd ( size_t  line,
size_t  off 
)
inline

◆ setLocation()

◆ setNext()

void RexxInstruction::setNext ( RexxInstruction next)
inline

Definition at line 73 of file RexxInstruction.hpp.

References nextInstruction, and OrefSet.

Referenced by RexxSource::addClause().

◆ setStart()

void RexxInstruction::setStart ( size_t  line,
size_t  off 
)
inline

Definition at line 74 of file RexxInstruction.hpp.

References instructionLocation, line, and SourceLocation::setStart().

◆ setType()

void RexxInstruction::setType ( size_t  type)
inline

Member Data Documentation

◆ instructionFlags

◆ instructionLocation

SourceLocation RexxInstruction::instructionLocation

◆ instructionType

◆ nextInstruction

RexxInstruction* RexxInstruction::nextInstruction

Definition at line 85 of file RexxInstruction.hpp.

Referenced by RexxInstructionEndIf::execute(), RexxInstructionIf::execute(), RexxCode::getSource(), RexxInstructionAddress::live(), RexxInstructionAssignment::live(), RexxInstructionCall::live(), ClassDirective::live(), RexxInstructionDo::live(), RexxInstructionDrop::live(), RexxInstructionElse::live(), RexxInstructionEndIf::live(), RexxInstructionEnd::live(), RexxInstructionExpose::live(), ExtensionDirective::live(), RexxInstructionForward::live(), RexxInstructionGuard::live(), RexxInstructionIf::live(), RexxInstructionLeave::live(), LibraryDirective::live(), RexxInstructionMessage::live(), RexxInstructionParse::live(), RexxInstructionProcedure::live(), RexxInstructionRaise::live(), RequiresDirective::live(), live(), RexxInstructionExpression::live(), RexxInstructionSelect::live(), RexxInstructionSignal::live(), RexxInstructionThen::live(), RexxInstructionTrace::live(), RexxInstructionUpper::live(), RexxInstructionUseStrict::live(), RexxInstructionAddress::liveGeneral(), RexxInstructionAssignment::liveGeneral(), RexxInstructionCall::liveGeneral(), ClassDirective::liveGeneral(), RexxInstructionDo::liveGeneral(), RexxInstructionDrop::liveGeneral(), RexxInstructionElse::liveGeneral(), RexxInstructionEndIf::liveGeneral(), RexxInstructionEnd::liveGeneral(), RexxInstructionExpose::liveGeneral(), ExtensionDirective::liveGeneral(), RexxInstructionForward::liveGeneral(), RexxInstructionGuard::liveGeneral(), RexxInstructionIf::liveGeneral(), RexxInstructionLeave::liveGeneral(), LibraryDirective::liveGeneral(), RexxInstructionMessage::liveGeneral(), RexxInstructionParse::liveGeneral(), RexxInstructionProcedure::liveGeneral(), RexxInstructionRaise::liveGeneral(), RequiresDirective::liveGeneral(), liveGeneral(), RexxInstructionExpression::liveGeneral(), RexxInstructionSelect::liveGeneral(), RexxInstructionSignal::liveGeneral(), RexxInstructionThen::liveGeneral(), RexxInstructionTrace::liveGeneral(), RexxInstructionUpper::liveGeneral(), RexxInstructionUseStrict::liveGeneral(), RexxInstructionDo::reExecute(), RexxActivation::run(), setNext(), RexxInstructionDo::terminate(), RexxInstructionSelect::terminate(), and RexxSource::translateBlock().


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