AttributeGetterCode Class Reference

#include <CPPCode.hpp>

Inheritance diagram for AttributeGetterCode:
[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 *)
 
 AttributeGetterCode (RexxVariableBase *a)
 
 AttributeGetterCode (RESTORETYPE restoreType)
 
void live (size_t)
 
void liveGeneral (int reason)
 
void flatten (RexxEnvelope *)
 
void run (RexxActivity *, RexxMethod *, RexxObject *, RexxString *, RexxObject **, size_t, size_t, ProtectedObject &)
 
BaseCodesetSourceObject (RexxSource *s)
 
RexxSourcegetSourceObject ()
 
- Public Member Functions inherited from BaseCode
virtual void call (RexxActivity *, RoutineClass *, RexxString *, RexxObject **, size_t, size_t, RexxString *, RexxString *, int, ProtectedObject &)
 
virtual void call (RexxActivity *, RoutineClass *, RexxString *, RexxObject **, size_t, size_t, ProtectedObject &)
 
virtual RexxArraygetSource ()
 
virtual RexxObjectsetSecurityManager (RexxObject *manager)
 
virtual RexxClassfindClass (RexxString *className)
 
virtual PackageClassgetPackage ()
 
bool isSamePackage (PackageClass *p)
 
- 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

RexxVariableBaseattribute
 
RexxSourcesource
 

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

Class for an attribute getter method

Definition at line 77 of file CPPCode.hpp.

Constructor & Destructor Documentation

◆ AttributeGetterCode() [1/2]

AttributeGetterCode::AttributeGetterCode ( RexxVariableBase a)
inline

Definition at line 84 of file CPPCode.hpp.

References attribute.

◆ AttributeGetterCode() [2/2]

AttributeGetterCode::AttributeGetterCode ( RESTORETYPE  restoreType)
inline

Definition at line 85 of file CPPCode.hpp.

Member Function Documentation

◆ flatten()

void AttributeGetterCode::flatten ( RexxEnvelope envelope)
virtual

Reimplemented from RexxVirtualBase.

Definition at line 298 of file CPPCode.cpp.

References cleanUpFlatten, flatten_reference, and setUpFlatten.

◆ getSourceObject()

RexxSource* AttributeGetterCode::getSourceObject ( )
inlinevirtual

Retrieve the source object associated with a code object.

Returns

Reimplemented from BaseCode.

Definition at line 92 of file CPPCode.hpp.

References source.

◆ live()

void AttributeGetterCode::live ( size_t  liveMark)
virtual

Reimplemented from RexxVirtualBase.

Definition at line 275 of file CPPCode.cpp.

References attribute, memory_mark, and source.

◆ liveGeneral()

void AttributeGetterCode::liveGeneral ( int  reason)
virtual

Reimplemented from RexxVirtualBase.

Definition at line 284 of file CPPCode.cpp.

References attribute, memory_mark_general, SAVINGIMAGE, RexxInternalObject::setInRexxPackage(), and source.

◆ operator delete() [1/2]

void AttributeGetterCode::operator delete ( void *  )
inline

Definition at line 82 of file CPPCode.hpp.

◆ operator delete() [2/2]

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

Definition at line 83 of file CPPCode.hpp.

◆ operator new() [1/2]

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

Definition at line 81 of file CPPCode.hpp.

◆ operator new() [2/2]

void * AttributeGetterCode::operator new ( size_t  size)

Allocate a new attribute getter code object.

Parameters
sizethe allocation size.
Returns
A pointer to the newly allocated object.

Definition at line 269 of file CPPCode.cpp.

References new_object(), and T_AttributeGetterCode.

◆ run()

void AttributeGetterCode::run ( RexxActivity activity,
RexxMethod method,
RexxObject receiver,
RexxString messageName,
RexxObject **  argPtr,
size_t  count,
size_t  named_count,
ProtectedObject result 
)
virtual

Execute an attribute-get operation.

Parameters
activityThe current activity.
methodThe method we're invoking.
receiverThe receiver object.
messageNameThe name of the message used to invoke the method.
argPtrThe pointer to the arguments.
countThe argument count.
resultThe returned result.

Reimplemented from BaseCode.

Reimplemented in AttributeSetterCode.

Definition at line 324 of file CPPCode.cpp.

References attribute, Error_Incorrect_method_maxarg, RexxObject::getObjectVariables(), RexxMethod::getScope(), RexxInternalObject::getValue(), RexxMethod::isGuarded(), RexxVariableDictionary::release(), reportException(), and RexxVariableDictionary::reserve().

◆ setSourceObject()

BaseCode* AttributeGetterCode::setSourceObject ( RexxSource s)
inlinevirtual

Set a source object into a code context. The default implementation is just to return the same object without setting a source. This is used mostly for attaching a source context to native code methods and routines defined on directives.

Parameters
sThe new source object.
Returns
Either the same object, or a new copy of the code object.

Reimplemented from BaseCode.

Definition at line 91 of file CPPCode.hpp.

References source.

Member Data Documentation

◆ attribute

RexxVariableBase* AttributeGetterCode::attribute
protected

Definition at line 95 of file CPPCode.hpp.

Referenced by AttributeGetterCode(), live(), liveGeneral(), run(), and AttributeSetterCode::run().

◆ source

RexxSource* AttributeGetterCode::source
protected

Definition at line 96 of file CPPCode.hpp.

Referenced by getSourceObject(), live(), liveGeneral(), and setSourceObject().


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