#include <CallInstruction.hpp>
Public Types | |
enum | { call_nointernal = 0x01 , call_type_mask = 0x0e , call_internal = 0x02 , call_builtin = 0x06 , call_external = 0x0e , call_dynamic = 0x10 , call_on_off = 0x20 } |
Protected Attributes | |
RexxObject * | arguments [1] |
Additional Inherited Members | |
Static Public Member Functions inherited from RexxInternalObject | |
static size_t | getObjectHeaderSize () |
Public Attributes inherited from RexxInstructionCallBase | |
RexxObject * | name |
RexxInstruction * | target |
RexxString * | condition |
uint16_t | argumentCount |
uint16_t | namedArgumentCount |
uint16_t | builtinIndex |
Public Attributes inherited from RexxInstruction | |
uint16_t | instructionType |
uint16_t | instructionFlags |
SourceLocation | instructionLocation |
RexxInstruction * | nextInstruction |
Public Attributes inherited from RexxInternalObject | |
ObjectHeader | header |
RexxBehaviour * | behaviour |
Protected Member Functions inherited from RexxVirtualBase | |
virtual | ~RexxVirtualBase () |
virtual void | baseVirtual () |
Definition at line 64 of file CallInstruction.hpp.
anonymous enum |
Enumerator | |
---|---|
call_nointernal | |
call_type_mask | |
call_internal | |
call_builtin | |
call_external | |
call_dynamic | |
call_on_off |
Definition at line 66 of file CallInstruction.hpp.
RexxInstructionCall::RexxInstructionCall | ( | RexxObject * | _name, |
RexxString * | _condition, | ||
size_t | argCount, | ||
RexxQueue * | argList, | ||
size_t | namedArgCount, | ||
RexxQueue * | namedArgList, | ||
size_t | flags, | ||
size_t | builtin_index | ||
) |
Definition at line 56 of file CallInstruction.cpp.
References RexxInstructionCallBase::argumentCount, arguments, RexxInstructionCallBase::builtinIndex, RexxInstructionCallBase::condition, RexxInstruction::instructionFlags, RexxInstructionCallBase::name, RexxInstructionCallBase::namedArgumentCount, OrefSet, and RexxQueue::pop().
|
inline |
Definition at line 82 of file CallInstruction.hpp.
|
virtual |
Reimplemented from RexxInstruction.
Definition at line 179 of file CallInstruction.cpp.
References RexxInstructionCallBase::argumentCount, RexxExpressionStack::arguments(), arguments, RexxDirectory::at(), RexxInstructionCallBase::builtinIndex, RexxSource::builtinTable, RoutineClass::call(), call_builtin, call_dynamic, call_external, call_internal, call_nointernal, call_on_off, call_type_mask, RexxActivity::checkStackSpace(), RexxInstructionCallBase::condition, ActivityManager::currentActivity, RexxActivation::dropLocalVariable(), RexxInternalObject::evaluate(), EXTERNALCALL, RexxActivation::externalCall(), RexxActivation::getLabels(), RexxInstruction::instructionFlags, RexxActivation::internalCall(), RexxInstructionCallBase::name, RexxInstructionCallBase::namedArgumentCount, NO_BUILTIN, OREF_NULL, RexxActivation::pauseInstruction(), RexxExpressionStack::push(), REQUEST_STRING(), RexxSource::resolveBuiltin(), RexxActivation::setLocalVariable(), RexxInstructionCallBase::target, TheFunctionsDirectory, RexxExpressionStack::toss(), TRACE_PREFIX_ARGUMENT, TRACE_PREFIX_NAMED_ARGUMENT, RexxActivation::traceInstruction(), RexxActivation::traceIntermediate(), RexxActivation::traceResult(), RexxActivation::trapOff(), RexxActivation::trapOn(), type, and VARIABLE_RESULT.
|
virtual |
Reimplemented from RexxVirtualBase.
Definition at line 130 of file CallInstruction.cpp.
References RexxInstructionCallBase::argumentCount, cleanUpFlatten, flatten_reference, RexxInstructionCallBase::namedArgumentCount, and setUpFlatten.
|
virtual |
Reimplemented from RexxVirtualBase.
Definition at line 93 of file CallInstruction.cpp.
References RexxInstructionCallBase::argumentCount, arguments, RexxInstructionCallBase::condition, memory_mark, RexxInstructionCallBase::name, RexxInstructionCallBase::namedArgumentCount, RexxInstruction::nextInstruction, and RexxInstructionCallBase::target.
|
virtual |
Reimplemented from RexxVirtualBase.
Definition at line 111 of file CallInstruction.cpp.
References RexxInstructionCallBase::argumentCount, arguments, RexxInstructionCallBase::condition, memory_mark_general, RexxInstructionCallBase::name, RexxInstructionCallBase::namedArgumentCount, RexxInstruction::nextInstruction, and RexxInstructionCallBase::target.
|
inline |
Definition at line 78 of file CallInstruction.hpp.
|
inline |
Definition at line 79 of file CallInstruction.hpp.
|
inline |
Definition at line 77 of file CallInstruction.hpp.
|
virtual |
Reimplemented from RexxInstructionCallBase.
Definition at line 150 of file CallInstruction.cpp.
References RexxDirectory::at(), RexxInstructionCallBase::builtinIndex, call_builtin, call_dynamic, call_external, call_internal, call_nointernal, RexxInstruction::instructionFlags, RexxInstructionCallBase::name, NO_BUILTIN, OREF_NULL, OrefSet, and RexxInstructionCallBase::target.
|
virtual |
Reimplemented from RexxInstructionCallBase.
Definition at line 339 of file CallInstruction.cpp.
References RexxInstructionCallBase::builtinIndex, RexxSource::builtinTable, RoutineClass::call(), call_builtin, call_external, call_internal, call_nointernal, call_type_mask, RexxInstructionCallBase::condition, ActivityManager::currentActivity, EXTERNALCALL, RexxActivation::externalCall(), RexxActivation::getStack(), RexxInstruction::instructionFlags, RexxActivation::internalCallTrap(), RexxInstructionCallBase::name, OREF_NULL, RexxInstructionCallBase::target, TheFunctionsDirectory, RexxActivation::trapDelay(), and RexxActivation::trapUndelay().
|
protected |
Definition at line 94 of file CallInstruction.hpp.
Referenced by execute(), live(), liveGeneral(), and RexxInstructionCall().