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, sizeB_t off)
 
void setEnd (size_t line, sizeB_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 ()
 
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 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 *)
 

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,
sizeB_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,
sizeB_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: