RexxMethod Class Reference

#include <MethodClass.hpp>

Inheritance diagram for RexxMethod:
[legend]

Public Member Functions

void * operator new (size_t)
 
void * operator new (size_t size, void *ptr)
 
 RexxMethod (RexxString *name, BaseCode *_code)
 
 RexxMethod (RexxString *name, RexxSource *source)
 
 RexxMethod (RexxString *name)
 
 RexxMethod (RexxString *name, RexxBuffer *source)
 
 RexxMethod (RexxString *name, const char *data, size_t length)
 
 RexxMethod (RexxString *name, RexxArray *source)
 
 RexxMethod (RESTORETYPE restoreType)
 
void execute (RexxObject *, RexxObject *)
 
void live (size_t)
 
void liveGeneral (int reason)
 
void flatten (RexxEnvelope *)
 
void run (RexxActivity *, RexxObject *, RexxString *, RexxObject **, size_t, size_t, ProtectedObject &)
 
RexxMethodnewScope (RexxClass *)
 
void setScope (RexxClass *)
 
RexxSmartBuffersaveMethod ()
 
RexxObjectsetUnguardedRexx ()
 
RexxObjectsetGuardedRexx ()
 
RexxObjectsetPrivateRexx ()
 
RexxObjectsetProtectedRexx ()
 
RexxObjectsetSecurityManager (RexxObject *)
 
RexxObjectisGuardedRexx ()
 
RexxObjectisPrivateRexx ()
 
RexxObjectisProtectedRexx ()
 
bool isGuarded ()
 
bool isPrivate ()
 
bool isProtected ()
 
bool isSpecial ()
 
void setUnguarded ()
 
void setGuarded ()
 
void setPrivate ()
 
void setProtected ()
 
void setAttributes (bool _private, bool _protected, bool _guarded)
 
RexxClassgetScope ()
 
BaseCodegetCode ()
 
RexxMethodnewRexx (RexxObject **, size_t, size_t)
 
RexxMethodnewFileRexx (RexxString *)
 
RexxMethodloadExternalMethod (RexxString *name, RexxString *descriptor)
 
- Public Member Functions inherited from BaseExecutable
RexxSourcegetSourceObject ()
 
BaseCodegetCode ()
 
RexxArraygetSource ()
 
PackageClassgetPackage ()
 
RexxArraysource ()
 
RexxClassfindClass (RexxString *className)
 
BaseExecutablesetSourceObject (RexxSource *s)
 
RexxStringgetName ()
 
void setName (RexxString *name)
 
- Public Member Functions inherited from RexxObject
void * operator new (size_t, RexxClass *)
 
void * operator new (size_t, RexxClass *, RexxObject **, size_t, size_t)
 
void * operator new (size_t size, void *objectPtr)
 
void operator delete (void *, void *)
 
void operator delete (void *)
 
void operator delete (void *, RexxClass *)
 
void operator delete (void *, RexxClass *, RexxObject **, size_t)
 
RexxObjectnewRexx (RexxObject **arguments, size_t argCount, size_t named_argCount)
 
RexxObjectnewObject ()
 
 operator RexxInternalObject * ()
 
 RexxObject ()
 
 RexxObject (RESTORETYPE restoreType)
 
void initializeNewObject (size_t size, size_t mark, void *vft, RexxBehaviour *b)
 
void initializeNewObject (size_t mark, void *vft, RexxBehaviour *b)
 
virtual ~RexxObject ()
 
virtual RexxObjectdefMethod (RexxString *, RexxMethod *, RexxString *a=OREF_NULL)
 
virtual RexxStringdefaultName ()
 
virtual RexxObjectunknown (RexxString *msg, RexxArray *args, RexxDirectory *named_args)
 
virtual RexxIntegerhasMethod (RexxString *msg)
 
bool hasUninitMethod ()
 
RexxObjectinit ()
 
void uninit ()
 
void live (size_t)
 
void liveGeneral (int reason)
 
void flatten (RexxEnvelope *)
 
RexxObjectcopy ()
 
HashCode hash ()
 
bool truthValue (int)
 
virtual bool logicalValue (logical_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)
 
RexxNumberStringnumberString ()
 
RexxIntegerintegerValue (size_t)
 
RexxStringmakeString ()
 
RexxStringprimitiveMakeString ()
 
void copyIntoTail (RexxCompoundTail *buffer)
 
RexxArraymakeArray ()
 
RexxStringstringValue ()
 
RexxStringrequestString ()
 
RexxStringrequestStringNoNOSTRING ()
 
RexxIntegerrequestInteger (size_t)
 
bool requestNumber (wholenumber_t &, size_t)
 
bool requestUnsignedNumber (stringsize_t &, size_t)
 
RexxArrayrequestArray ()
 
RexxDirectoryrequestDirectory ()
 
RexxStringrequiredString (RexxString *kind, size_t)
 
RexxStringrequiredString (RexxString *kind, const char *)
 
RexxStringrequiredString ()
 
RexxIntegerrequiredInteger (RexxString *kind, size_t, size_t)
 
wholenumber_t requiredNumber (RexxString *kind, size_t position, size_t precision=Numerics::ARGUMENT_DIGITS)
 
stringsize_t requiredPositive (RexxString *kind, size_t position, size_t precision=Numerics::ARGUMENT_DIGITS)
 
stringsize_t requiredNonNegative (RexxString *kind, size_t position, size_t precision=Numerics::ARGUMENT_DIGITS)
 
bool isEqual (RexxObject *)
 
bool isInstanceOf (RexxClass *)
 
RexxObjectisInstanceOfRexx (RexxClass *)
 
RexxMethodinstanceMethod (RexxString *)
 
RexxSupplierinstanceMethods (RexxClass *)
 
RexxMethodinstanceMethodRexx (RexxString *)
 
RexxSupplierinstanceMethodsRexx (RexxClass *)
 
RexxStringobjectName ()
 
RexxObjectobjectNameEquals (RexxObject *)
 
RexxClassclassObject ()
 
RexxObjectsetMethod (RexxString *, RexxMethod *, RexxString *a=OREF_NULL)
 
RexxObjectunsetMethod (RexxString *)
 
RexxObjectrequestRexx (RexxString *)
 
RexxMessagestart (RexxObject **, size_t, size_t)
 
RexxMessagestartWith (RexxObject *, RexxArray *, RexxObject **, size_t)
 
RexxObjectsend (RexxObject **, size_t, size_t)
 
RexxObjectsendWith (RexxObject *, RexxArray *, RexxObject **, size_t)
 
RexxMessagestartCommon (RexxObject *message, RexxObject **arguments, size_t argCount, size_t named_argCount)
 
RexxStringoref ()
 
RexxObjectpmdict ()
 
RexxObjectrun (RexxObject **, size_t, size_t)
 
bool messageSend (RexxString *, RexxObject **, size_t, size_t, ProtectedObject &, bool processUnknown=true)
 
bool messageSend (RexxString *, RexxObject **, size_t, size_t, RexxObject *, ProtectedObject &, bool processUnknown=true)
 
RexxMethodcheckPrivate (RexxMethod *)
 
void processUnknown (RexxString *, RexxObject **, size_t, size_t, ProtectedObject &)
 
void processProtectedMethod (RexxString *, RexxMethod *, RexxObject **, size_t, size_t, ProtectedObject &)
 
void sendMessage (RexxString *, RexxArray *, RexxDirectory *, ProtectedObject &)
 
void sendMessage (RexxString *message, RexxObject **args, size_t argCount, size_t named_argCount, ProtectedObject &result)
 
void sendMessage (RexxString *message, ProtectedObject &result)
 
void sendMessage (RexxString *message, RexxObject *argument1, ProtectedObject &result)
 
void sendMessage (RexxString *, RexxObject *, RexxObject *, ProtectedObject &)
 
void sendMessage (RexxString *, RexxObject *, RexxObject *, RexxObject *, ProtectedObject &)
 
void sendMessage (RexxString *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, ProtectedObject &)
 
void sendMessage (RexxString *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, ProtectedObject &)
 
RexxObjectsendMessage (RexxString *, RexxArray *, RexxDirectory *=OREF_NULL)
 
RexxObjectsendMessage (RexxString *message, RexxObject **args, size_t argCount, size_t named_argCount)
 
RexxObjectsendMessage (RexxString *message)
 
RexxObjectsendMessage (RexxString *message, RexxObject *argument1)
 
RexxObjectsendMessage (RexxString *, RexxObject *, RexxObject *)
 
RexxObjectsendMessage (RexxString *, RexxObject *, RexxObject *, RexxObject *)
 
RexxObjectsendMessage (RexxString *, RexxObject *, RexxObject *, RexxObject *, RexxObject *)
 
RexxObjectsendMessage (RexxString *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *)
 
RexxObjectdefMethods (RexxDirectory *)
 
void setObjectVariable (RexxString *, RexxObject *, RexxObject *)
 
RexxObjectgetObjectVariable (RexxString *)
 
RexxObjectgetObjectVariable (RexxString *, RexxObject *)
 
void addObjectVariables (RexxVariableDictionary *)
 
void copyObjectVariables (RexxObject *newObject)
 
RexxObjectsuperScope (RexxObject *)
 
RexxMethodsuperMethod (RexxString *, RexxObject *)
 
RexxObjectmdict ()
 
RexxObjectsetMdict (RexxObject *)
 
RexxBehaviourbehaviourObject ()
 
const char * idString ()
 
RexxStringid ()
 
RexxMethodmethodLookup (RexxString *name)
 
RexxVariableDictionarygetObjectVariables (RexxObject *)
 
void guardOn (RexxActivity *activity, RexxObject *scope)
 
void guardOff (RexxActivity *activity, RexxObject *scope)
 
RexxObjectequal (RexxObject *)
 
RexxObjectnotEqual (RexxObject *other)
 
RexxObjectstrictEqual (RexxObject *)
 
RexxObjectstrictNotEqual (RexxObject *other)
 
RexxIntegeridentityHashRexx ()
 
RexxObjecthashCode ()
 
RexxStringstringRexx ()
 
RexxStringconcatRexx (RexxObject *)
 
RexxStringconcatBlank (RexxObject *)
 
RexxObjectmakeStringRexx ()
 
RexxObjectmakeArrayRexx ()
 
RexxStringdefaultNameRexx ()
 
RexxObjectcopyRexx ()
 
RexxObjectunknownRexx (RexxString *, RexxArray *, RexxObject **, size_t)
 
RexxObjecthasMethodRexx (RexxString *)
 
void * getCSelf ()
 
void * getCSelf (RexxObject *scope)
 
bool equalValue (RexxObject *other)
 
virtual wholenumber_t compareTo (RexxObject *)
 
 koper (operator_plus) koper(operator_minus) koper(operator_multiply) koper(operator_divide) koper(operator_integerDivide) koper(operator_remainder) koper(operator_power) koper(operator_abuttal) koper(operator_concat) koper(operator_concatBlank) koper(operator_equal) koper(operator_notEqual) koper(operator_isGreaterThan) koper(operator_isBackslashGreaterThan) koper(operator_isLessThan) koper(operator_isBackslashLessThan) koper(operator_isGreaterOrEqual) koper(operator_isLessOrEqual) koper(operator_strictEqual) koper(operator_strictNotEqual) koper(operator_strictGreaterThan) koper(operator_strictBackslashGreaterThan) koper(operator_strictLessThan) koper(operator_strictBackslashLessThan) koper(operator_strictGreaterOrEqual) koper(operator_strictLessOrEqual) koper(operator_lessThanGreaterThan) koper(operator_greaterThanLessThan) koper(operator_and) koper(operator_or) koper(operator_xor) koper(operator_not) RexxVariableDictionary *objectVariables
 
- 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 RexxObjectevaluate (RexxActivation *, RexxExpressionStack *)
 
virtual RexxObjectgetValue (RexxActivation *)
 
virtual RexxObjectgetValue (RexxVariableDictionary *)
 
virtual RexxObjectgetRealValue (RexxActivation *)
 
virtual RexxObjectgetRealValue (RexxVariableDictionary *)
 
virtual HashCode getHashValue ()
 
HashCode identityHash ()
 
void hasUninit ()
 
void removedUninit ()
 
void printObject ()
 
RexxObjectclone ()
 
- Public Member Functions inherited from RexxVirtualBase
virtual RexxObjectunflatten (RexxEnvelope *)
 

Static Public Member Functions

static RexxMethodnewMethodObject (RexxString *, RexxObject *, RexxObject *, RexxSource *a, bool isBlock=false)
 
static RexxMethodrestore (RexxBuffer *, char *, size_t length)
 
static void createInstance ()
 
- Static Public Member Functions inherited from RexxObject
static void decodeMessageName (RexxObject *target, RexxObject *message, RexxString *&messageName, RexxObject *&startScope)
 
static void createInstance ()
 
- Static Public Member Functions inherited from RexxInternalObject
static size_t getObjectHeaderSize ()
 

Static Public Attributes

static RexxClassclassInstance = OREF_NULL
 
- Static Public Attributes inherited from RexxObject
static PCPPM operatorMethods []
 
static RexxClassclassInstance = OREF_NULL
 

Protected Types

enum  { PRIVATE_FLAG = 0x01 , UNGUARDED_FLAG = 0x02 , PROTECTED_FLAG = 0x40 }
 

Protected Attributes

size_t methodFlags
 
RexxClassscope
 
- Protected Attributes inherited from BaseExecutable
RexxStringexecutableName
 
BaseCodecode
 

Additional Inherited Members

- Public Attributes inherited from RexxInternalObject
ObjectHeader header
 
RexxBehaviourbehaviour
 
- Protected Member Functions inherited from RexxVirtualBase
virtual ~RexxVirtualBase ()
 
virtual void baseVirtual ()
 

Detailed Description

Definition at line 102 of file MethodClass.hpp.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
PRIVATE_FLAG 
UNGUARDED_FLAG 
PROTECTED_FLAG 

Definition at line 159 of file MethodClass.hpp.

Constructor & Destructor Documentation

◆ RexxMethod() [1/7]

RexxMethod::RexxMethod ( RexxString name,
BaseCode codeObj 
)

Initialize a Routine object from a generated code object. Generally used for routines generated from ::METHOD directives.

Parameters
nameThe routine name.
codeObjThe associated code object.

Definition at line 179 of file MethodClass.cpp.

References BaseExecutable::code, BaseExecutable::executableName, and OrefSet.

◆ RexxMethod() [2/7]

RexxMethod::RexxMethod ( RexxString name,
RexxSource _source 
)

Generate a method directly from a source object.

Parameters
sourceThe source object.

Definition at line 158 of file MethodClass.cpp.

References BaseExecutable::code, BaseExecutable::executableName, RexxSource::generateCode(), and OrefSet.

◆ RexxMethod() [3/7]

RexxMethod::RexxMethod ( RexxString name)

Initialize a RexxMethod object from a file source.

Parameters
nameThe routine name (and the resolved name of the file).

Definition at line 191 of file MethodClass.cpp.

References BaseExecutable::code, BaseExecutable::executableName, RexxSource::generateCode(), and OrefSet.

◆ RexxMethod() [4/7]

RexxMethod::RexxMethod ( RexxString name,
RexxBuffer buf 
)

Initialize a Routine object using a buffered source.

Parameters
nameThe name of the routine.
sourcethe source buffer.

Definition at line 213 of file MethodClass.cpp.

References BaseExecutable::code, BaseExecutable::executableName, RexxSource::generateCode(), and OrefSet.

◆ RexxMethod() [5/7]

RexxMethod::RexxMethod ( RexxString name,
const char *  data,
size_t  length 
)

Initialize a Routine object using directly provided source.

Parameters
nameThe name of the routine.
dataThe source data buffer pointer.
lengththe length of the source buffer.

Definition at line 236 of file MethodClass.cpp.

References BaseExecutable::code, BaseExecutable::executableName, RexxSource::generateCode(), and OrefSet.

◆ RexxMethod() [6/7]

RexxMethod::RexxMethod ( RexxString name,
RexxArray s 
)

Initialize a Routine object using an array source.

Parameters
nameThe name of the routine.
sourcethe source buffer.

Definition at line 258 of file MethodClass.cpp.

References BaseExecutable::code, BaseExecutable::executableName, RexxSource::generateCode(), and OrefSet.

◆ RexxMethod() [7/7]

RexxMethod::RexxMethod ( RESTORETYPE  restoreType)
inline

Definition at line 113 of file MethodClass.hpp.

Member Function Documentation

◆ createInstance()

void RexxMethod::createInstance ( )
static

Create initial class object at bootstrap time.

Definition at line 74 of file MethodClass.cpp.

References CLASS_CREATE.

Referenced by RexxMemory::createImage().

◆ execute()

void RexxMethod::execute ( RexxObject ,
RexxObject  
)

◆ flatten()

void RexxMethod::flatten ( RexxEnvelope envelope)
virtual

Reimplemented from RexxVirtualBase.

Definition at line 295 of file MethodClass.cpp.

References cleanUpFlatten, flatten_reference, and setUpFlatten.

◆ getCode()

BaseCode* RexxMethod::getCode ( )
inline

Definition at line 147 of file MethodClass.hpp.

References BaseExecutable::code.

◆ getScope()

◆ isGuarded()

bool RexxMethod::isGuarded ( )
inline

◆ isGuardedRexx()

RexxObject * RexxMethod::isGuardedRexx ( )

Return the Guarded setting for a method object.

Returns
.true if the method is guarded. .false otherwise.

Definition at line 412 of file MethodClass.cpp.

References TheFalseObject, and TheTrueObject.

Referenced by RexxMemory::createImage().

◆ isPrivate()

bool RexxMethod::isPrivate ( )
inline

Definition at line 135 of file MethodClass.hpp.

References methodFlags, and PRIVATE_FLAG.

Referenced by RexxObject::messageSend().

◆ isPrivateRexx()

RexxObject * RexxMethod::isPrivateRexx ( )

Return the Private setting for a method object.

Returns
.true if the method is private. .false otherwise.

Definition at line 422 of file MethodClass.cpp.

References TheFalseObject, and TheTrueObject.

Referenced by RexxMemory::createImage().

◆ isProtected()

bool RexxMethod::isProtected ( )
inline

Definition at line 136 of file MethodClass.hpp.

References methodFlags, and PROTECTED_FLAG.

Referenced by RexxObject::messageSend().

◆ isProtectedRexx()

RexxObject * RexxMethod::isProtectedRexx ( )

Return the Protected setting for a method object.

Returns
.true if the method is protected. .false otherwise.

Definition at line 432 of file MethodClass.cpp.

References TheFalseObject, and TheTrueObject.

Referenced by RexxMemory::createImage().

◆ isSpecial()

bool RexxMethod::isSpecial ( )
inline

Definition at line 137 of file MethodClass.hpp.

References methodFlags, PRIVATE_FLAG, and PROTECTED_FLAG.

Referenced by RexxObject::messageSend().

◆ live()

void RexxMethod::live ( size_t  liveMark)
virtual

Reimplemented from RexxVirtualBase.

Definition at line 273 of file MethodClass.cpp.

References BaseExecutable::code, BaseExecutable::executableName, and memory_mark.

◆ liveGeneral()

void RexxMethod::liveGeneral ( int  reason)
virtual

Reimplemented from RexxVirtualBase.

Definition at line 284 of file MethodClass.cpp.

References BaseExecutable::code, BaseExecutable::executableName, and memory_mark_general.

◆ loadExternalMethod()

RexxMethod * RexxMethod::loadExternalMethod ( RexxString name,
RexxString descriptor 
)

Create a method from an external library source.

Parameters
nameThe method name.
Returns
The resolved method object, or OREF_NULL if unable to load the routine.

Definition at line 871 of file MethodClass.cpp.

References Error_Translation_bad_external, RexxArray::get(), RexxString::getBLength(), RexxString::getStringData(), PackageManager::loadMethod(), OREF_NULL, reportException(), RexxArray::size(), stringArgument(), TheNilObject, and StringUtil::words().

Referenced by RexxMemory::createImage().

◆ newFileRexx()

◆ newMethodObject()

RexxMethod * RexxMethod::newMethodObject ( RexxString pgmname,
RexxObject source,
RexxObject position,
RexxSource parentSource,
bool  isBlock = false 
)
static

Static method used for constructing new method objects in various contexts (such as the define method on the Class class).

Parameters
pgmnameThe name of the method we're creating.
sourceThe method source (either a string or an array).
positionThe position used for reporting errors. This is the position of the source argument for the calling method context.
parentScopeThe parent code we inherit routine scope from. This overrides anything that might be defined in single method code.
Returns
The constructed method object.

Definition at line 504 of file MethodClass.cpp.

References ActivityManager::currentActivity, Error_Incorrect_method_no_method, Error_Incorrect_method_noarray, Error_Incorrect_method_nostring_inarray, RexxArray::get(), RexxActivity::getCurrentRexxFrame(), RexxArray::getDimension(), BaseExecutable::getSourceObject(), RexxActivation::getSourceObject(), RexxSource::inheritSourceContext(), IntegerTwo, RexxObject::makeString(), RexxArray::makeString(), new_array(), OREF_NULL, RexxArray::put(), reportException(), RexxObject::requestArray(), RexxSource::setIsBlock(), RexxArray::size(), BaseExecutable::source(), and TheNilObject.

Referenced by RexxClass::defineMethod(), RexxClass::methodDictionaryCreate(), newRexx(), RexxObject::run(), RexxDirectory::setMethod(), and RexxObject::setMethod().

◆ newRexx()

◆ newScope()

◆ operator new() [1/2]

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

Definition at line 106 of file MethodClass.hpp.

◆ operator new() [2/2]

void * RexxMethod::operator new ( size_t  size)

Definition at line 479 of file MethodClass.cpp.

References new_object(), and T_Method.

◆ restore()

RexxMethod * RexxMethod::restore ( RexxBuffer buffer,
char *  startPointer,
size_t  length 
)
static

Definition at line 688 of file MethodClass.cpp.

References RexxEnvelope::getReceiver(), and RexxEnvelope::puff().

◆ run()

◆ saveMethod()

RexxSmartBuffer * RexxMethod::saveMethod ( )

Definition at line 464 of file MethodClass.cpp.

References RexxEnvelope::getBuffer(), and RexxEnvelope::pack().

◆ setAttributes()

void RexxMethod::setAttributes ( bool  _private,
bool  _protected,
bool  _guarded 
)

Set the entire set of method attributes with one call. Used during source compilation.

Parameters
_privateThe private setting.
_protectedThe protected setting.
_guardedThe guarded setting.

Definition at line 446 of file MethodClass.cpp.

Referenced by RexxSource::attributeDirective(), RexxSource::createAbstractMethod(), RexxSource::createAttributeGetterMethod(), RexxSource::createAttributeSetterMethod(), RexxSource::createMethod(), and RexxSource::methodDirective().

◆ setGuarded()

void RexxMethod::setGuarded ( )
inline

Definition at line 140 of file MethodClass.hpp.

References methodFlags, and UNGUARDED_FLAG.

◆ setGuardedRexx()

RexxObject * RexxMethod::setGuardedRexx ( )

Definition at line 380 of file MethodClass.cpp.

References OREF_NULL.

Referenced by RexxMemory::createImage().

◆ setPrivate()

void RexxMethod::setPrivate ( )
inline

Definition at line 142 of file MethodClass.hpp.

References methodFlags, and PRIVATE_FLAG.

Referenced by RexxMemory::definePrivateKernelMethod().

◆ setPrivateRexx()

RexxObject * RexxMethod::setPrivateRexx ( )

Definition at line 389 of file MethodClass.cpp.

References OREF_NULL.

Referenced by RexxMemory::createImage().

◆ setProtected()

void RexxMethod::setProtected ( )
inline

Definition at line 143 of file MethodClass.hpp.

References methodFlags, and PROTECTED_FLAG.

Referenced by RexxMemory::defineProtectedKernelMethod().

◆ setProtectedRexx()

RexxObject * RexxMethod::setProtectedRexx ( )

Definition at line 398 of file MethodClass.cpp.

References OREF_NULL.

Referenced by RexxMemory::createImage().

◆ setScope()

void RexxMethod::setScope ( RexxClass _scope)

◆ setSecurityManager()

RexxObject * RexxMethod::setSecurityManager ( RexxObject manager)

Definition at line 352 of file MethodClass.cpp.

References BaseExecutable::code, and BaseCode::setSecurityManager().

Referenced by RexxMemory::createImage().

◆ setUnguarded()

void RexxMethod::setUnguarded ( )
inline

Definition at line 139 of file MethodClass.hpp.

References methodFlags, and UNGUARDED_FLAG.

Referenced by RexxSource::createConstantGetterMethod().

◆ setUnguardedRexx()

RexxObject * RexxMethod::setUnguardedRexx ( )

Definition at line 371 of file MethodClass.cpp.

References OREF_NULL.

Referenced by RexxMemory::createImage().

Member Data Documentation

◆ classInstance

RexxClass * RexxMethod::classInstance = OREF_NULL
static

Definition at line 156 of file MethodClass.hpp.

◆ methodFlags

size_t RexxMethod::methodFlags
protected

◆ scope

RexxClass* RexxMethod::scope
protected

Definition at line 167 of file MethodClass.hpp.

Referenced by getScope(), and newScope().


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