#include <RexxCode.hpp>
Protected Attributes | |
RexxSource * | source |
RexxInstruction * | start |
RexxDirectory * | labels |
size_t | maxStack |
size_t | vdictSize |
Additional Inherited Members | |
Static Public Member Functions inherited from RexxInternalObject | |
static size_t | getObjectHeaderSize () |
Public Attributes inherited from RexxInternalObject | |
ObjectHeader | header |
RexxBehaviour * | behaviour |
Protected Member Functions inherited from RexxVirtualBase | |
virtual | ~RexxVirtualBase () |
virtual void | baseVirtual () |
Definition at line 58 of file RexxCode.hpp.
RexxCode::RexxCode | ( | RexxSource * | _source, |
RexxInstruction * | _start, | ||
RexxDirectory * | _labels, | ||
size_t | maxstack, | ||
size_t | variable_index | ||
) |
|
inline |
Definition at line 67 of file RexxCode.hpp.
|
virtual |
Process a detached ::requires type call.
activity | The current activity, |
routine | The routine object we're executing. |
msgname | The name this was invoked under. |
argPtr | The pointer to the call arguments, |
argcount | The count of arguments, |
result | The returned result. |
Reimplemented from BaseCode.
Definition at line 88 of file RexxCode.cpp.
References call(), EXTERNALCALL, and OREF_NULL.
|
virtual |
Invoke a code element as a call target. This form is generally only used for calls from Rexx code to Rexx code or for top level program invocation.
activity | The activity we're running under. |
msgname | The name of the program or name used to invoke the routine. |
arguments | The arguments to the method. |
argcount | The count of positional arguments. |
named_argcount | The count of named arguments. |
ct | The call context. |
env | The current address environment. |
context | The type of call being made (program call, internal call, interpret, etc.) |
result | The returned result. |
Reimplemented from BaseCode.
Definition at line 95 of file RexxCode.cpp.
References RexxActivity::checkStackSpace(), RexxActivity::getCurrentRexxFrame(), ActivityManager::newActivation(), OREF_NULL, RexxActivity::pushStackFrame(), and RexxActivation::run().
Referenced by call().
|
inline |
Definition at line 85 of file RexxCode.hpp.
References RexxSource::extract(), and source.
|
inline |
Definition at line 91 of file RexxCode.hpp.
References RexxSource::findRoutine(), and source.
Referenced by RexxActivation::externalCall().
|
virtual |
Reimplemented from RexxVirtualBase.
Definition at line 167 of file RexxCode.cpp.
References cleanUpFlatten, flatten_reference, and setUpFlatten.
|
inline |
|
inline |
Definition at line 76 of file RexxCode.hpp.
References labels.
Referenced by RexxActivation::getLabels().
|
inline |
Definition at line 79 of file RexxCode.hpp.
References RexxSource::getLocalRoutines(), and source.
Referenced by RexxActivation::addLocalRoutine().
|
inline |
Definition at line 78 of file RexxCode.hpp.
References vdictSize.
Referenced by RexxActivation::RexxActivation().
|
inline |
Definition at line 77 of file RexxCode.hpp.
References maxStack.
Referenced by RexxActivation::RexxActivation().
|
inline |
Definition at line 89 of file RexxCode.hpp.
References RexxSource::getMethods(), and source.
Referenced by RexxActivation::rexxVariable().
RexxString * RexxCode::getProgramName | ( | ) |
REXX
Definition at line 208 of file RexxCode.cpp.
References RexxSource::getProgramName(), and source.
Referenced by RexxActivation::getProgramName().
|
inline |
Definition at line 80 of file RexxCode.hpp.
References RexxSource::getPublicRoutines(), and source.
Referenced by RexxActivation::getPublicRoutines().
|
inline |
Definition at line 90 of file RexxCode.hpp.
References RexxSource::getRoutines(), and source.
Referenced by RexxActivation::rexxVariable().
|
inline |
Definition at line 86 of file RexxCode.hpp.
References RexxSource::getSecurityManager(), and source.
Referenced by RexxActivation::RexxActivation().
|
virtual |
Return source informaton for a BaseCode object. If not representing an element in a source file, this returns an empty array.
Reimplemented from BaseCode.
Definition at line 181 of file RexxCode.cpp.
References RexxSource::extractSource(), SourceLocation::getEndLine(), SourceLocation::getEndOffset(), RexxInstruction::getLocation(), new_array(), RexxInstruction::nextInstruction, OREF_NULL, SourceLocation::setEndLine(), SourceLocation::setEndOffset(), source, and start.
|
inlinevirtual |
Retrieve the source object associated with a code object.
Reimplemented from BaseCode.
Definition at line 74 of file RexxCode.hpp.
References source.
Referenced by RexxActivation::addLocalRoutine(), RexxActivation::RexxActivation(), and RexxActivation::traceClause().
|
inline |
Definition at line 87 of file RexxCode.hpp.
References RexxSource::install(), and source.
Referenced by RexxActivation::run().
|
inline |
Definition at line 88 of file RexxCode.hpp.
References RexxSource::interpret(), labels, and source.
Referenced by RexxActivation::debugInterpret(), and RexxActivation::interpret().
|
inline |
Definition at line 84 of file RexxCode.hpp.
References RexxSource::isInterpret(), and source.
|
inline |
Definition at line 83 of file RexxCode.hpp.
References RexxSource::isTraceable(), and source.
Referenced by RexxActivation::debugPause(), RexxActivation::traceClause(), RexxActivation::traceCompoundValue(), RexxActivation::traceOperatorValue(), RexxActivation::traceTaggedValue(), and RexxActivation::traceValue().
|
virtual |
Reimplemented from RexxVirtualBase.
Definition at line 142 of file RexxCode.cpp.
References labels, memory_mark, source, and start.
|
virtual |
Reimplemented from RexxVirtualBase.
Definition at line 152 of file RexxCode.cpp.
References labels, memory_mark_general, SAVINGIMAGE, RexxInternalObject::setInRexxPackage(), source, and start.
|
inline |
Definition at line 93 of file RexxCode.hpp.
References RexxSource::mergeRequired(), and source.
Referenced by RexxActivation::callExternalRexx().
|
inline |
Definition at line 63 of file RexxCode.hpp.
|
inline |
Definition at line 64 of file RexxCode.hpp.
|
inline |
Definition at line 62 of file RexxCode.hpp.
void * RexxCode::operator new | ( | size_t | size | ) |
Definition at line 218 of file RexxCode.cpp.
References new_object(), and T_RexxCode.
|
inline |
Definition at line 92 of file RexxCode.hpp.
References RexxSource::resolveProgramName(), and source.
Referenced by RexxActivation::resolveProgramName().
|
virtual |
Run this code as a method invocation.
activity | The current activity. |
method | The method we're invoking. |
receiver | The method target object. |
msgname | The name the method was invoked under. |
argCount | The count of positional arguments. |
named_argCount | The count of named arguments. |
arguments | The argument pointer. |
result | The returned result. |
Reimplemented from BaseCode.
Definition at line 120 of file RexxCode.cpp.
References RexxActivity::getCurrentRexxFrame(), ActivityManager::newActivation(), OREF_NULL, RexxActivity::pushStackFrame(), RexxActivity::relinquish(), and RexxActivation::run().
|
inline |
Definition at line 81 of file RexxCode.hpp.
References RexxSource::setLocalRoutines(), and source.
|
inline |
Definition at line 82 of file RexxCode.hpp.
References RexxSource::setPublicRoutines(), and source.
|
virtual |
Set the security manager in the code source context.
manager | The new security manager. |
Reimplemented from BaseCode.
Definition at line 227 of file RexxCode.cpp.
References RexxSource::setSecurityManager(), source, and TheTrueObject.
|
protected |
Definition at line 102 of file RexxCode.hpp.
Referenced by getLabels(), interpret(), live(), liveGeneral(), and RexxCode().
|
protected |
Definition at line 103 of file RexxCode.hpp.
Referenced by getMaxStackSize(), and RexxCode().
|
protected |
Definition at line 100 of file RexxCode.hpp.
Referenced by extract(), findRoutine(), getLocalRoutines(), getMethods(), getProgramName(), getPublicRoutines(), getRoutines(), getSecurityManager(), getSource(), getSourceObject(), install(), interpret(), isInterpret(), isTraceable(), live(), liveGeneral(), mergeRequired(), resolveProgramName(), RexxCode(), setLocalRoutines(), setPublicRoutines(), and setSecurityManager().
|
protected |
Definition at line 101 of file RexxCode.hpp.
Referenced by getFirstInstruction(), getSource(), live(), liveGeneral(), and RexxCode().
|
protected |
Definition at line 104 of file RexxCode.hpp.
Referenced by getLocalVariableSize(), and RexxCode().