#include <RexxActivation.hpp>
Static Public Member Functions | |
static size_t | processTraceSetting (size_t traceSetting) |
static RoutineClass * | getMacroCode (RexxString *macroName) |
Static Public Member Functions inherited from RexxInternalObject | |
static size_t | getObjectHeaderSize () |
Protected Attributes | |
ActivationSettings | settings |
RexxExpressionStack | stack |
RexxCode * | code |
RexxSource * | sourceObject |
RexxClass * | scope |
RexxObject * | receiver |
RexxActivity * | activity |
RexxActivation * | parent |
RexxArray * | arguments |
RexxObject ** | arglist |
size_t | argcount |
size_t | named_argcount |
RexxDoBlock * | dostack |
RexxInstruction * | current |
RexxInstruction * | next |
bool | debug_pause |
int | object_scope |
RexxObject * | result |
RexxArray * | trapinfo |
RexxContext * | contextObject |
int | execution_state |
int | activation_context |
RexxMessage * | objnotify |
RexxList * | environmentList |
size_t | pending_count |
RexxQueue * | handler_queue |
RexxQueue * | condition_queue |
uint64_t | random_seed |
bool | random_set |
size_t | blockNest |
size_t | lookaside_size |
Protected Attributes inherited from RexxActivationBase | |
RexxActivationBase * | previous |
BaseExecutable * | executable |
Static Protected Attributes | |
static const size_t | trace_off = 0x00000000 |
static const size_t | trace_debug = 0x00000001 |
static const size_t | trace_all = 0x00000002 |
static const size_t | trace_results = 0x00000004 |
static const size_t | trace_intermediates = 0x00000008 |
static const size_t | trace_commands = 0x00000010 |
static const size_t | trace_labels = 0x00000020 |
static const size_t | trace_errors = 0x00000040 |
static const size_t | trace_failures = 0x00000080 |
static const size_t | trace_suppress = 0x00000100 |
static const size_t | trace_flags = 0x000001ff |
static const size_t | default_trace_flags = trace_failures |
static const size_t | trace_all_flags = (trace_all | trace_labels | trace_commands) |
static const size_t | trace_results_flags = (trace_all | trace_labels | trace_results | trace_commands) |
static const size_t | trace_intermediates_flags = (trace_all | trace_labels | trace_results | trace_commands | trace_intermediates) |
static const bool | default_enable_commands = true |
static const bool | default_enable_macrospace = true |
static const size_t | single_step = 0x00000800 |
static const size_t | single_step_nested = 0x00001000 |
static const size_t | debug_prompt_issued = 0x00002000 |
static const size_t | debug_bypass = 0x00004000 |
static const size_t | procedure_valid = 0x00008000 |
static const size_t | clause_boundary = 0x00010000 |
static const size_t | halt_condition = 0x00020000 |
static const size_t | trace_on = 0x00040000 |
static const size_t | source_traced = 0x00080000 |
static const size_t | clause_exits = 0x00100000 |
static const size_t | external_yield = 0x00200000 |
static const size_t | forwarded = 0x00400000 |
static const size_t | reply_issued = 0x00800000 |
static const size_t | set_trace_on = 0x01000000 |
static const size_t | set_trace_off = 0x02000000 |
static const size_t | traps_copied = 0x04000000 |
static const size_t | return_status_set = 0x08000000 |
static const size_t | transfer_failed = 0x10000000 |
static const size_t | elapsed_reset = 0x20000000 |
static const size_t | guarded_method = 0x40000000 |
Friends | |
class | RexxSource |
Additional Inherited Members | |
Public Attributes inherited from RexxInternalObject | |
ObjectHeader | header |
RexxBehaviour * | behaviour |
Protected Member Functions inherited from RexxVirtualBase | |
virtual | ~RexxVirtualBase () |
virtual void | baseVirtual () |
Definition at line 164 of file RexxActivation.hpp.
|
inline |
Definition at line 172 of file RexxActivation.hpp.
RexxActivation::RexxActivation | ( | ) |
Initialize an activation for direct caching in the activation cache. At this time, this is not an executable activation
Definition at line 175 of file RexxActivation.cpp.
References RexxInternalObject::setHasNoReferences().
RexxActivation::RexxActivation | ( | RexxActivity * | _activity, |
RexxActivation * | _parent, | ||
RexxMethod * | _method, | ||
RexxCode * | _code | ||
) |
Initialize an activation for a method invocation.
_activity | The activity we're running under. |
_method | The method being invoked. |
_code | The code to execute. |
Definition at line 188 of file RexxActivation.cpp.
References activation_context, activationSettingsTemplate, ACTIVE, activity, RexxActivity::allocateLocalVariableFrame(), RexxActivity::allocateStackFrame(), ActivationSettings::alternate_env, ActivationSettings::calltype, RexxInternalObject::clearObject(), code, ActivationSettings::current_env, NumericSettings::digits, ActivationSettings::enableCommands, ActivationSettings::enableMacrospace, RexxActivationBase::executable, execution_state, ActivationSettings::externalTraceDepth, ActivationSettings::externalTraceFlags, ActivationSettings::externalTraceOption, NumericSettings::form, NumericSettings::fuzz, InterpreterInstance::getDefaultEnvironment(), RexxSource::getDigits(), RexxSource::getEnableCommands(), RexxSource::getEnableMacrospace(), RexxSource::getForm(), RexxSource::getFuzz(), RexxActivity::getInstance(), RexxActivity::getInstanceSecurityManager(), RexxCode::getLocalVariableSize(), RexxCode::getMaxStackSize(), BaseExecutable::getName(), RexxActivity::getRandomSeed(), RexxMethod::getScope(), RexxCode::getSecurityManager(), RexxSource::getSecurityManager(), BaseExecutable::getSourceObject(), RexxString::getStringData(), RexxSource::getTraceFlags(), RexxSource::getTraceSetting(), RexxLocalVariables::init(), ActivationSettings::intermediate_trace, RexxSource::isBlock, RexxMethod::isGuarded(), RexxInternalObject::isOldSpace(), ActivationSettings::local_variables, METHODCALL, ActivationSettings::numericSettings, object_scope, OREF_NULL, parent, ActivationSettings::parent_code, RexxSource::parentSource, ActivationSettings::propagateNumericSettings, random_seed, RexxObject::requestString(), scope, SCOPE_RELEASED, ActivationSettings::securityManager, setGuarded(), RexxInternalObject::setHasNoReferences(), RexxInternalObject::setHasReferences(), settings, setTrace(), sourceObject, stack, TheNilObject, and ActivationSettings::traceOption.
RexxActivation::RexxActivation | ( | RexxActivity * | _activity, |
RexxActivation * | _parent, | ||
RoutineClass * | _routine, | ||
RexxCode * | _code, | ||
RexxString * | calltype, | ||
RexxString * | env, | ||
int | context | ||
) |
Create a top-level activation of Rexx code. This will either a toplevel program or an external call.
_activity | The current thread we're running on. |
_routine | The routine to invoke. |
_code | The code object to be executed. |
calltype | Type type of call being made (function or subroutine) |
env | The default address environment |
context | The type of call context. |
Definition at line 390 of file RexxActivation.cpp.
References activation_context, activationSettingsTemplate, ACTIVE, activity, adjustRandomSeed(), RexxActivity::allocateLocalVariableFrame(), RexxActivity::allocateStackFrame(), ActivationSettings::alternate_env, ActivationSettings::calltype, RexxInternalObject::clearObject(), code, ActivationSettings::current_env, NumericSettings::digits, ActivationSettings::enableCommands, ActivationSettings::enableMacrospace, RexxActivationBase::executable, execution_state, ActivationSettings::externalTraceDepth, ActivationSettings::externalTraceFlags, ActivationSettings::externalTraceOption, NumericSettings::form, NumericSettings::fuzz, InterpreterInstance::getDefaultEnvironment(), RexxSource::getDigits(), RexxSource::getEnableCommands(), RexxSource::getEnableMacrospace(), RexxSource::getForm(), RexxSource::getFuzz(), RexxActivity::getInstance(), RexxActivity::getInstanceSecurityManager(), RexxCode::getLocalVariableSize(), RexxCode::getMaxStackSize(), RexxActivity::getRandomSeed(), RexxCode::getSecurityManager(), RexxSource::getSecurityManager(), BaseExecutable::getSourceObject(), RexxSource::getTraceFlags(), RexxSource::getTraceSetting(), RexxLocalVariables::init(), ActivationSettings::intermediate_trace, RexxSource::isBlock, RexxInternalObject::isOldSpace(), ActivationSettings::local_variables, ActivationSettings::numericSettings, object_scope, OREF_NULL, parent, ActivationSettings::parent_code, RexxSource::parentSource, ActivationSettings::propagateNumericSettings, random_seed, SCOPE_RELEASED, ActivationSettings::securityManager, setDefaultAddress(), RexxInternalObject::setHasNoReferences(), RexxInternalObject::setHasReferences(), settings, setTrace(), sourceObject, stack, and ActivationSettings::traceOption.
RexxActivation::RexxActivation | ( | RexxActivity * | _activity, |
RexxActivation * | _parent, | ||
RexxCode * | _code, | ||
int | context | ||
) |
Create a new Rexx activation for an internal level call. An internal level call is an internal call, a call trap, an Interpret statement, or a debug pause execution.
_activity | The current activity. |
_parent | The parent activation. |
_code | The code to be executed. For interpret and debug pauses, this is a new code object. For call activations, this is the parent code object. |
context | The type of call being made. |
Definition at line 313 of file RexxActivation.cpp.
References activation_context, ACTIVE, activity, adjustRandomSeed(), RexxActivity::allocateStackFrame(), RexxInternalObject::clearObject(), code, debug_pause, DEBUGPAUSE, RexxActivationBase::executable, execution_state, ActivationSettings::externalTraceDepth, ActivationSettings::flags, RexxActivationBase::getExecutable(), RexxCode::getMaxStackSize(), BaseExecutable::getSourceObject(), RexxCode::getSourceObject(), ActivationSettings::intermediate_trace, INTERNALCALL, INTERPRET, ActivationSettings::local_variables, object_scope, parent, putSettings(), reply_issued, SCOPE_RELEASED, RexxInternalObject::setHasNoReferences(), RexxInternalObject::setHasReferences(), RexxLocalVariables::setNested(), settings, sourceObject, stack, ActivationSettings::timestamp, ActivationSettings::traceindent, ActivationSettings::traceOption, traps_copied, and RexxDateTime::valid.
|
inline |
Definition at line 397 of file RexxActivation.hpp.
References blockNest, and indent().
Referenced by RexxInstructionDo::execute().
void RexxActivation::addLocalRoutine | ( | RexxString * | name, |
RexxMethod * | _method | ||
) |
Add a local routine to the current activation's routine set.
name | The name to add this under. |
method | The method associated with the name. |
Definition at line 4324 of file RexxActivation.cpp.
References RexxCode::getLocalRoutines(), RexxCode::getSourceObject(), new_directory(), OREF_NULL, ActivationSettings::parent_code, RexxDirectory::setEntry(), RexxSource::setLocalRoutines(), and settings.
|
inline |
Definition at line 350 of file RexxActivation.hpp.
References random_seed.
Referenced by RexxActivation().
void RexxActivation::assignLocalCompoundVariable | ( | RexxString * | stemName, |
size_t | index, | ||
RexxObject ** | tail, | ||
size_t | tailCount, | ||
RexxObject * | value | ||
) |
Definition at line 4538 of file RexxActivation.cpp.
References getLocalStem(), RexxStem::setCompoundVariable(), traceCompoundAssignment(), traceCompoundName(), and tracingIntermediates().
Referenced by RexxCompoundVariable::assign().
|
inline |
Definition at line 629 of file RexxActivation.hpp.
References RexxVariable::cache(), memoryObject, and RexxMemory::variableCache.
Referenced by cleanupLocalVariables().
bool RexxActivation::callExternalRexx | ( | RexxString * | target, |
RexxObject ** | _arguments, | ||
size_t | _argcount, | ||
size_t | _named_argcount, | ||
RexxString * | calltype, | ||
ProtectedObject & | resultObj | ||
) |
Call an external program as a function or subroutine.
target | The target function name. |
parent | The name of the parent program (used for resolving extensions). |
_arguments | The arguments to the call. |
_argcount | The count of positional arguments for the call. |
calltype | The type of call (FUNCTION or SUBROUTINE) |
resultObj | The returned result. |
Definition at line 2955 of file RexxActivation.cpp.
References activity, RoutineClass::call(), ActivationSettings::current_env, EXTERNALCALL, RoutineClass::fromFile(), BaseExecutable::getSourceObject(), RexxCode::mergeRequired(), OREF_NULL, ActivationSettings::parent_code, RexxExpressionStack::pop(), RexxExpressionStack::push(), resolveProgramName(), settings, and stack.
Referenced by SystemInterpreter::invokeExternalFunction().
bool RexxActivation::callMacroSpaceFunction | ( | RexxString * | target, |
RexxObject ** | _arguments, | ||
size_t | _argcount, | ||
size_t | _named_argcount, | ||
RexxString * | calltype, | ||
int | order, | ||
ProtectedObject & | _result | ||
) |
Attempt to call a function stored in the macrospace.
target | The target function name. |
arguments | The argument pointer. |
argcount | The count of positional arguments, |
calltype | The type of call (FUNCTION or SUBROUTINE) |
order | The macrospace order flag. |
result | The function result. |
Definition at line 2841 of file RexxActivation.cpp.
References activity, RoutineClass::call(), enableMacrospace(), EXTERNALCALL, getMacroCode(), BaseExecutable::getSourceObject(), getSourceObject(), RexxString::getStringData(), RexxSource::mergeRequired(), MS_PREORDER, OREF_NULL, RexxQueryMacro(), and RXMACRO_SEARCH_AFTER.
Referenced by SystemInterpreter::invokeExternalFunction().
void RexxActivation::checkTrapTable | ( | ) |
Definition at line 1620 of file RexxActivation.cpp.
References RexxDirectory::copy(), ActivationSettings::flags, isInternalCall(), new_directory(), OREF_NULL, settings, ActivationSettings::traps, and traps_copied.
Referenced by trapDelay(), trapOff(), trapOn(), and trapUndelay().
|
inline |
Definition at line 635 of file RexxActivation.hpp.
References cacheLocalVariable(), RexxLocalVariables::get(), RexxLocalVariables::getNestedDictionary(), isInternalLevelCall(), RexxVariable::isLocal(), RexxLocalVariables::isNested(), ActivationSettings::local_variables, OREF_NULL, parent, setLocalVariableDictionary(), settings, and RexxLocalVariables::size.
Referenced by termination().
|
inline |
Definition at line 405 of file RexxActivation.hpp.
References ActivationSettings::flags, ActivationSettings::intermediate_trace, settings, and trace_flags.
Referenced by setTrace().
void RexxActivation::closeStreams | ( | ) |
Definition at line 4417 of file RexxActivation.cpp.
References RexxDirectory::at(), RexxHashTableCollection::first(), RexxHashTableCollection::index(), isProgramOrMethod(), RexxHashTableCollection::next(), OREF_NULL, RexxObject::sendMessage(), settings, and ActivationSettings::streams.
Referenced by termination().
void RexxActivation::command | ( | RexxString * | address, |
RexxString * | commandString | ||
) |
Issue a command to a named host evironment
commandString | The command to issue |
address | The target address |
Definition at line 4130 of file RexxActivation.cpp.
References activity, RexxDirectory::at(), CommandHandler::call(), RexxActivity::callCommandExit(), RexxString::concatToCstring(), RexxString::concatWithCstring(), RexxActivity::createConditionObject(), current, debug_pause, debugPause(), inDebug(), new_integer(), RexxObject::numberValue(), OREF_NULL, RexxDirectory::put(), RexxActivity::raiseCondition(), RexxActivity::resolveCommandHandler(), RETURN_STATUS_ERROR, RETURN_STATUS_FAILURE, RETURN_STATUS_NORMAL, RXSUBCOM_NOTREG, setLocalVariable(), setReturnStatus(), RexxString::strCompare(), RexxObject::stringValue(), TheFalseObject, TRACE_PREFIX_CLAUSE, TRACE_PREFIX_ERROR, TRACE_PREFIX_RESULT, traceClause(), traceValue(), tracingAll(), tracingCommands(), tracingErrors(), tracingFailures(), and VARIABLE_RC.
Referenced by RexxInstructionAddress::execute(), and RexxInstructionCommand::execute().
|
inline |
Definition at line 459 of file RexxActivation.hpp.
References ActivationSettings::flags, settings, trace_all, and trace_debug.
Referenced by RexxInstructionDo::execute(), RexxInstructionInterpret::execute(), and RexxInstructionSelect::execute().
StackFrameClass * RexxActivation::createStackFrame | ( | ) |
Create a stack frame for exception tracebacks.
Definition at line 4641 of file RexxActivation.cpp.
References arguments, FRAME_INTERNAL_CALL, FRAME_INTERPRET, FRAME_METHOD, FRAME_PROGRAM, FRAME_ROUTINE, getArguments(), getContextLineNumber(), RexxActivationBase::getExecutableObject(), getMessageName(), getTraceBack(), isInternalCall(), isInterpret(), isMethod(), isProgram(), isRoutine(), OREF_NULL, receiver, and type.
Referenced by RexxActivationFrame::createStackFrame().
size_t RexxActivation::currentLine | ( | ) |
Definition at line 1373 of file RexxActivation.cpp.
References current, RexxInstruction::getLineNumber(), and OREF_NULL.
Referenced by RexxString::checkTE(), and RexxActivity::reraiseException().
void RexxActivation::debugInterpret | ( | RexxString * | codestring | ) |
Definition at line 2619 of file RexxActivation.cpp.
References activity, argcount, arglist, arguments, code, current, debug_pause, DEBUGPAUSE, RexxInstruction::getLineNumber(), RexxCode::interpret(), ActivationSettings::msgname, named_argcount, ActivityManager::newActivation(), OREF_NULL, RexxActivity::pushStackFrame(), receiver, run(), and settings.
Referenced by debugPause().
bool RexxActivation::debugPause | ( | RexxInstruction * | instr = OREF_NULL | ) |
Definition at line 4012 of file RexxActivation.cpp.
References activity, code, current, debug_bypass, debug_pause, debug_prompt_issued, debugInterpret(), ActivationSettings::flags, RexxString::getChar(), RexxString::getLength(), SystemInterpreter::getMessageText(), RexxCode::isTraceable(), Message_Translations_debug_prompt, next, settings, ActivationSettings::trace_skip, trace_suppress, RexxActivity::traceInput(), and RexxActivity::traceOutput().
Referenced by command(), pauseCommand(), pauseInstruction(), and pauseLabel().
void RexxActivation::debugSkip | ( | wholenumber_t | skipcount, |
bool | notrace | ||
) |
Definition at line 873 of file RexxActivation.cpp.
References debug_bypass, debug_pause, Error_Invalid_trace_debug, ActivationSettings::flags, reportException(), settings, ActivationSettings::trace_skip, and trace_suppress.
Referenced by RexxInstructionTrace::execute().
|
virtual |
Reimplemented from RexxActivationBase.
Definition at line 2106 of file RexxActivation.cpp.
References NumericSettings::digits, ActivationSettings::numericSettings, and settings.
Referenced by RexxInstructionDo::controlSetup(), RexxNativeActivation::digits(), RexxInstructionDo::execute(), RexxInstructionNumeric::execute(), and RexxContext::getDigits().
RexxVariableBase* RexxActivation::directRetriever | ( | RexxString * | ) |
|
virtual |
Reimplemented from RexxActivationBase.
Definition at line 506 of file RexxActivation.cpp.
References argcount, arglist, arguments, ActivationSettings::msgname, named_argcount, OREF_NULL, receiver, run(), and settings.
void RexxActivation::dropLocalCompoundVariable | ( | RexxString * | stemName, |
size_t | index, | ||
RexxObject ** | tail, | ||
size_t | tailCount | ||
) |
Definition at line 4567 of file RexxActivation.cpp.
References RexxStem::dropCompoundVariable(), getLocalStem(), traceCompoundAssignment(), traceCompoundName(), and tracingIntermediates().
Referenced by RexxCompoundVariable::drop().
|
inline |
Definition at line 552 of file RexxActivation.hpp.
References getLocalStemVariable(), and RexxVariable::set().
Referenced by RexxStemVariable::drop().
|
inline |
Definition at line 591 of file RexxActivation.hpp.
References RexxVariable::drop(), and getLocalVariable().
Referenced by RexxParseVariable::drop(), RexxInstructionCall::execute(), RexxInstructionCommand::execute(), RexxInstructionForward::execute(), and RexxInstructionMessage::execute().
bool RexxActivation::enableCommands | ( | ) |
Definition at line 2138 of file RexxActivation.cpp.
References ActivationSettings::enableCommands, and settings.
Referenced by RexxInstructionCommand::execute(), and RexxInstructionOptions::execute().
void RexxActivation::enableCommands | ( | bool | status | ) |
Definition at line 2220 of file RexxActivation.cpp.
References ActivationSettings::enableCommands, and settings.
void RexxActivation::enableExternalTrace | ( | const char * | option | ) |
Turn on external trace at program startup (e.g, because RXTRACE is set)
Definition at line 3926 of file RexxActivation.cpp.
References DEBUG_ON, new_string(), setTrace(), SIZE_MAX, RexxString::strCaselessCompare(), trace_debug, TRACE_RESULTS, and trace_results_flags.
Referenced by SysInterpreterInstance::setupProgram().
bool RexxActivation::enableMacrospace | ( | ) |
Definition at line 2146 of file RexxActivation.cpp.
References ActivationSettings::enableMacrospace, and settings.
Referenced by callMacroSpaceFunction(), and RexxInstructionOptions::execute().
void RexxActivation::enableMacrospace | ( | bool | status | ) |
Definition at line 2228 of file RexxActivation.cpp.
References ActivationSettings::enableMacrospace, and settings.
RexxObject * RexxActivation::evaluateLocalCompoundVariable | ( | RexxString * | stemName, |
size_t | index, | ||
RexxObject ** | tail, | ||
size_t | tailCount | ||
) |
Definition at line 4470 of file RexxActivation.cpp.
References RexxStem::evaluateCompoundVariableValue(), getLocalStem(), traceCompound(), traceCompoundName(), and tracingIntermediates().
Referenced by RexxCompoundVariable::evaluate().
void RexxActivation::exitFrom | ( | RexxObject * | resultObj | ) |
Definition at line 1517 of file RexxActivation.cpp.
References activity, RexxActivity::callTerminationExit(), ActivityManager::currentActivity, debug_bypass, Error_Execution_reply_exit, execution_state, exitFrom(), ActivationSettings::flags, RexxActivity::getCurrentRexxFrame(), isProgramLevelCall(), isTopLevel(), isTopLevelCall(), next, OREF_NULL, RexxActivity::popStackFrame(), reply_issued, reportException(), result, RETURNED, settings, termination(), and trace_debug.
Referenced by RexxInstructionExit::execute(), exitFrom(), implicitExit(), and raiseExit().
void RexxActivation::expose | ( | RexxVariableBase ** | variables, |
size_t | count | ||
) |
Definition at line 1418 of file RexxActivation.cpp.
References RexxVariableBase::expose(), getObjectVariables(), and stack.
Referenced by RexxInstructionExpose::execute().
RexxCompoundElement * RexxActivation::exposeLocalCompoundVariable | ( | RexxString * | stemName, |
size_t | index, | ||
RexxObject ** | tail, | ||
size_t | tailCount | ||
) |
Definition at line 4518 of file RexxActivation.cpp.
References RexxStem::exposeCompoundVariable(), and getLocalStem().
Referenced by RexxCompoundVariable::procedureExpose().
RexxActivation * RexxActivation::external | ( | ) |
Definition at line 1683 of file RexxActivation.cpp.
References external(), isInternalLevelCall(), and parent.
Referenced by external().
RexxObject * RexxActivation::externalCall | ( | RexxString * | target, |
RexxObject ** | _arguments, | ||
size_t | _argcount, | ||
size_t | _named_argcount, | ||
RexxString * | calltype, | ||
ProtectedObject & | resultObj | ||
) |
Main method for performing an external routine call. This orchestrates the search order for locating an external routine.
target | The target function name. |
_argcount | The count of positional arguments for the call. |
_stack | The expression stack holding the arguments. |
calltype | The type of call (FUNCTION or SUBROUTINE) |
resultObj | The returned result. |
Definition at line 2887 of file RexxActivation.cpp.
References activity, RoutineClass::call(), RexxActivity::callFunctionExit(), RexxActivity::callObjectFunctionExit(), RexxActivity::callScriptingExit(), Error_Routine_not_found_name, EXTERNALCALL, RexxCode::findRoutine(), SystemInterpreter::invokeExternalFunction(), OREF_NULL, ActivationSettings::parent_code, reportException(), settings, and TheFunctionsDirectory.
Referenced by RexxExpressionFunction::evaluate(), RexxInstructionCall::execute(), and RexxInstructionCall::trap().
void RexxActivation::externalTraceOff | ( | ) |
Definition at line 4000 of file RexxActivation.cpp.
References clause_boundary, ActivationSettings::flags, set_trace_off, and settings.
Referenced by RexxActivity::callTraceTestExit(), and RexxActivity::setTrace().
void RexxActivation::externalTraceOn | ( | ) |
Definition at line 3987 of file RexxActivation.cpp.
References clause_boundary, DEBUG_ON, ActivationSettings::flags, set_trace_on, settings, setTrace(), trace_debug, TRACE_RESULTS, and trace_results_flags.
Referenced by RexxActivity::callTraceTestExit(), and RexxActivity::setTrace().
RexxClass * RexxActivation::findClass | ( | RexxString * | name | ) |
Resolve a class in this activation's context.
name | The name to resolve. |
Definition at line 3050 of file RexxActivation.cpp.
References RexxSource::findClass(), getSourceObject(), RexxObject::isInstanceOf(), OREF_NULL, and TheClassClass.
Referenced by RexxNativeActivation::findCallerClass().
|
virtual |
Return the Rexx context this operates under. Depending on the context, this could be null.
Reimplemented from RexxActivationBase.
Definition at line 2255 of file RexxActivation.cpp.
|
virtual |
Reimplemented from RexxActivationBase.
Definition at line 2122 of file RexxActivation.cpp.
References NumericSettings::form, ActivationSettings::numericSettings, and settings.
Referenced by RexxNativeActivation::form(), and RexxContext::getForm().
RexxString * RexxActivation::formatSourcelessTraceLine | ( | RexxString * | packageName | ) |
Format a more informative trace line when giving traceback information for code when no source code is available.
packageName | The package name to use (could be "REXX" for internal code) |
Definition at line 4693 of file RexxActivation.cpp.
References activity, RexxActivity::buildMessage(), RexxClass::getId(), getMessageName(), isMethod(), isRoutine(), Message_Translations_sourceless_method_invocation, Message_Translations_sourceless_program_invocation, Message_Translations_sourceless_routine_invocation, new_array(), RexxObject::requestString(), scope, and TheNilObject.
Referenced by RexxSource::traceBack().
RexxString * RexxActivation::formatTrace | ( | RexxInstruction * | instruction, |
RexxSource * | _source | ||
) |
Definition at line 3821 of file RexxActivation.cpp.
References RexxInstruction::getLocation(), MAX_TRACEBACK_INDENT, OREF_NULL, settings, RexxSource::traceBack(), and ActivationSettings::traceindent.
Referenced by getTraceBack(), and traceClause().
RexxObject * RexxActivation::forward | ( | RexxObject * | target, |
RexxString * | message, | ||
RexxObject * | superClass, | ||
RexxObject ** | _arguments, | ||
size_t | _argcount, | ||
size_t | _named_argcount, | ||
bool | continuing | ||
) |
Definition at line 1435 of file RexxActivation.cpp.
References argcount, arglist, debug_bypass, Error_Execution_reply_exit, execution_state, ActivationSettings::flags, forwarded, RexxObject::messageSend(), ActivationSettings::msgname, named_argcount, next, OREF_NULL, receiver, reply_issued, reportException(), result, RETURNED, settings, termination(), and trace_debug.
Referenced by RexxInstructionForward::execute().
|
virtual |
Reimplemented from RexxActivationBase.
Definition at line 2114 of file RexxActivation.cpp.
References NumericSettings::fuzz, ActivationSettings::numericSettings, and settings.
Referenced by RexxInstructionNumeric::execute(), RexxNativeActivation::fuzz(), and RexxContext::getFuzz().
|
inline |
Definition at line 407 of file RexxActivation.hpp.
References activity.
Referenced by RexxInstructionSay::execute().
|
inline |
Definition at line 413 of file RexxActivation.hpp.
References ActivationSettings::current_env, and settings.
Referenced by RexxInstructionCommand::execute().
|
inline |
Definition at line 524 of file RexxActivation.hpp.
References RexxVariableDictionary::getAllVariables(), and getLocalVariables().
Referenced by RexxNativeActivation::getAllContextVariables(), and RexxContext::getVariables().
|
inline |
Definition at line 497 of file RexxActivation.hpp.
References argcount, arglist, and new_array().
Referenced by createStackFrame().
|
inline |
Definition at line 409 of file RexxActivation.hpp.
References ActivationSettings::msgname, and settings.
Referenced by RexxInstructionUseStrict::executeNamedArguments(), RexxInstructionUseStrict::executePositionalArguments(), and RexxContext::getName().
|
inline |
Definition at line 414 of file RexxActivation.hpp.
References ActivationSettings::conditionObj, and settings.
Referenced by RexxInstructionRaise::execute(), and RexxContext::getCondition().
RexxObject * RexxActivation::getContextLine | ( | ) |
Return the line context information for a context.
Definition at line 2760 of file RexxActivation.cpp.
References current, getContextLine(), RexxInstruction::getLineNumber(), isInterpret(), new_integer(), and parent.
Referenced by getContextLine(), and RexxContext::getLine().
size_t RexxActivation::getContextLineNumber | ( | ) |
Return the line context information for a context.
Definition at line 2781 of file RexxActivation.cpp.
References current, getContextLineNumber(), RexxInstruction::getLineNumber(), isInterpret(), and parent.
Referenced by createStackFrame(), and getContextLineNumber().
RexxObject * RexxActivation::getContextObject | ( | ) |
Get the context object for this activation.
Definition at line 2743 of file RexxActivation.cpp.
References contextObject, and OREF_NULL.
Referenced by RexxSourceLiteral::evaluate(), getParentContextObject(), RexxNativeActivation::getRexxContextObject(), and rexxVariable().
RexxObject * RexxActivation::getContextReturnStatus | ( | ) |
Return the RS context information for a activation.
Definition at line 2802 of file RexxActivation.cpp.
References ActivationSettings::flags, new_integer(), ActivationSettings::return_status, return_status_set, settings, and TheNilObject.
Referenced by RexxContext::getRS().
|
inline |
Definition at line 410 of file RexxActivation.hpp.
References current.
|
inline |
Definition at line 379 of file RexxActivation.hpp.
References RexxActivationBase::executable, RexxSource::getPackage(), BaseExecutable::getSourceObject(), isInterpret(), and sourceObject.
SecurityManager * RexxActivation::getEffectiveSecurityManager | ( | ) |
Get the security manager in used by this activation.
Definition at line 4603 of file RexxActivation.cpp.
References activity, RexxActivity::getInstanceSecurityManager(), OREF_NULL, ActivationSettings::securityManager, and settings.
Referenced by RexxActivity::callCommandExit(), RexxActivity::callObjectFunctionExit(), and resolveStream().
|
inline |
Definition at line 365 of file RexxActivation.hpp.
References RexxActivationBase::executable, BaseExecutable::getSourceObject(), isInterpret(), and sourceObject.
Referenced by RexxActivationFrame::getSource().
int64_t RexxActivation::getElapsed | ( | ) |
Definition at line 3249 of file RexxActivation.cpp.
References ActivationSettings::elapsed_time, RexxDateTime::getUTCBaseTime(), settings, and ActivationSettings::timestamp.
|
inline |
Definition at line 403 of file RexxActivation.hpp.
References settings, and ActivationSettings::traceindent.
Referenced by RexxInstructionDo::execute(), and RexxInstructionSelect::execute().
RexxDirectory * RexxActivation::getLabels | ( | ) |
Definition at line 4300 of file RexxActivation.cpp.
References code, and RexxCode::getLabels().
Referenced by RexxInstructionCall::execute(), and signalValue().
RexxCompoundElement * RexxActivation::getLocalCompoundVariable | ( | RexxString * | stemName, |
size_t | index, | ||
RexxObject ** | tail, | ||
size_t | tailCount | ||
) |
Definition at line 4508 of file RexxActivation.cpp.
References RexxStem::getCompoundVariable(), and getLocalStem().
Referenced by RexxCompoundVariable::clearGuard(), and RexxCompoundVariable::setGuard().
RexxObject * RexxActivation::getLocalCompoundVariableRealValue | ( | RexxString * | localstem, |
size_t | index, | ||
RexxObject ** | tail, | ||
size_t | tailCount | ||
) |
Definition at line 4498 of file RexxActivation.cpp.
References RexxStem::getCompoundVariableRealValue(), and getLocalStem().
Referenced by RexxCompoundVariable::getRealValue().
RexxObject * RexxActivation::getLocalCompoundVariableValue | ( | RexxString * | stemName, |
size_t | index, | ||
RexxObject ** | tail, | ||
size_t | tailCount | ||
) |
Definition at line 4488 of file RexxActivation.cpp.
References RexxStem::getCompoundVariableValue(), and getLocalStem().
Referenced by RexxCompoundVariable::getValue().
RexxObject * RexxActivation::getLocalEnvironment | ( | RexxString * | name | ) |
Retrieve a value from the instance local environment.
name | The name of the .local object. |
Definition at line 4621 of file RexxActivation.cpp.
References activity, and RexxActivity::getLocalEnvironment().
Referenced by novalueHandler(), and resolveStream().
|
inline |
Definition at line 547 of file RexxActivation.hpp.
References getLocalStemVariable(), and RexxVariable::getVariableValue().
Referenced by assignLocalCompoundVariable(), dropLocalCompoundVariable(), RexxStemVariable::evaluate(), evaluateLocalCompoundVariable(), RexxCompoundVariable::expose(), exposeLocalCompoundVariable(), getLocalCompoundVariable(), getLocalCompoundVariableRealValue(), getLocalCompoundVariableValue(), RexxStemVariable::getRealValue(), RexxStemVariable::getValue(), localCompoundVariableExists(), RexxCompoundVariable::procedureExpose(), setLocalCompoundVariable(), and RexxStemVariable::sort().
|
inline |
Definition at line 538 of file RexxActivation.hpp.
References RexxLocalVariables::get(), ActivationSettings::local_variables, RexxLocalVariables::lookupStemVariable(), OREF_NULL, and settings.
Referenced by RexxStemVariable::assign(), RexxStemVariable::clearGuard(), dropLocalStem(), getLocalStem(), RexxStemVariable::procedureExpose(), RexxStemVariable::set(), and RexxStemVariable::setGuard().
|
inline |
Definition at line 529 of file RexxActivation.hpp.
References RexxLocalVariables::get(), ActivationSettings::local_variables, RexxLocalVariables::lookupVariable(), OREF_NULL, and settings.
Referenced by RexxParseVariable::clearGuard(), dropLocalVariable(), RexxParseVariable::evaluate(), RexxParseVariable::getRealValue(), RexxParseVariable::getValue(), RexxParseVariable::procedureExpose(), RexxParseVariable::setGuard(), and setLocalVariable().
|
inline |
Definition at line 519 of file RexxActivation.hpp.
References RexxLocalVariables::getDictionary(), ActivationSettings::local_variables, and settings.
Referenced by RexxNativeActivation::fetchNext(), and getAllLocalVariables().
|
static |
Retrieve a macro image file from the macro space.
macroName | The name of the macro to retrieve. |
Definition at line 3002 of file RexxActivation.cpp.
References RexxString::getStringData(), OREF_NULL, SystemInterpreter::releaseResultMemory(), RoutineClass::restore(), RexxResolveMacroFunction(), and _RXSTRING::strptr.
Referenced by callMacroSpaceFunction(), and PackageManager::getMacroSpaceRequires().
|
inline |
Definition at line 408 of file RexxActivation.hpp.
References ActivationSettings::msgname, and settings.
Referenced by createStackFrame(), formatSourcelessTraceLine(), RexxActivationFrame::messageName(), and traceEntry().
|
inline |
Definition at line 487 of file RexxActivation.hpp.
References arglist, getMethodArgumentCount(), OREF_NULL, and RexxSource::position().
|
inline |
Definition at line 485 of file RexxActivation.hpp.
References argcount.
Referenced by RexxInstructionForward::execute(), RexxInstructionParse::execute(), RexxInstructionUseStrict::executeNamedArguments(), RexxInstructionUseStrict::executePositionalArguments(), RexxContext::getArgs(), getMethodArgument(), and RexxContext::getNamedArgs().
|
inline |
Definition at line 484 of file RexxActivation.hpp.
References arglist.
Referenced by RexxInstructionForward::execute(), RexxInstructionParse::execute(), RexxInstructionUseStrict::executeNamedArguments(), RexxInstructionUseStrict::executePositionalArguments(), RexxContext::getArgs(), and RexxContext::getNamedArgs().
|
inline |
Definition at line 486 of file RexxActivation.hpp.
References named_argcount.
Referenced by RexxInstructionForward::execute(), RexxInstructionUseStrict::executeNamedArguments(), and RexxContext::getNamedArgs().
|
inline |
Definition at line 416 of file RexxActivation.hpp.
References next.
|
virtual |
Get the numeric settings for the current context.
Reimplemented from RexxActivationBase.
Definition at line 2277 of file RexxActivation.cpp.
References ActivationSettings::numericSettings, and settings.
Referenced by RexxNativeActivation::getNumericSettings().
RexxVariableDictionary * RexxActivation::getObjectVariables | ( | ) |
Definition at line 1845 of file RexxActivation.cpp.
References activity, RexxObject::getObjectVariables(), isGuarded(), object_scope, ActivationSettings::object_variables, OREF_NULL, receiver, RexxVariableDictionary::reserve(), scope, SCOPE_RESERVED, and settings.
Referenced by expose().
|
virtual |
Retrieve the package for the current execution context.
Reimplemented from RexxActivationBase.
Definition at line 4464 of file RexxActivation.cpp.
References RexxActivationBase::executable, and BaseExecutable::getPackage().
Referenced by RexxContext::getPackage(), and traceEntry().
|
inline |
Definition at line 371 of file RexxActivation.hpp.
References RexxSource::getPackage(), and sourceObject.
RexxObject * RexxActivation::getParentContextObject | ( | ) |
Get the context object for the parent of this activation.
Definition at line 2821 of file RexxActivation.cpp.
References getContextObject(), OREF_NULL, senderActivation(), and TheNilObject.
Referenced by RexxContext::getParentContextObject().
|
inline |
Definition at line 503 of file RexxActivation.hpp.
References getProgramArgumentCount(), OREF_NULL, ActivationSettings::parent_arglist, RexxSource::position(), and settings.
Referenced by RexxNativeActivation::variablePoolFetchPrivate().
|
inline |
Definition at line 500 of file RexxActivation.hpp.
References ActivationSettings::parent_argcount, and settings.
Referenced by getProgramArgument(), and RexxNativeActivation::variablePoolFetchPrivate().
|
inline |
Definition at line 499 of file RexxActivation.hpp.
References ActivationSettings::parent_arglist, and settings.
RexxString * RexxActivation::getProgramName | ( | ) |
Definition at line 4292 of file RexxActivation.cpp.
References code, and RexxCode::getProgramName().
|
inline |
Definition at line 501 of file RexxActivation.hpp.
References ActivationSettings::parent_named_argcount, and settings.
RexxDirectory * RexxActivation::getPublicRoutines | ( | ) |
Retrieve the directory of public routines associated with the current activation.
Definition at line 4347 of file RexxActivation.cpp.
References code, and RexxCode::getPublicRoutines().
uint64_t RexxActivation::getRandomSeed | ( | RexxInteger * | seed | ) |
Definition at line 3284 of file RexxActivation.cpp.
References activity, Error_Incorrect_call_nonnegative, getRandomSeed(), RexxInteger::getValue(), IntegerThree, isInternalLevelCall(), OREF_NULL, parent, random_seed, RANDOMIZE(), reportException(), and RexxActivity::setRandomSeed().
Referenced by getRandomSeed(), and random().
|
virtual |
Get the message receiver
Reimplemented from RexxActivationBase.
Definition at line 2289 of file RexxActivation.cpp.
References getReceiver(), isInterpret(), parent, and receiver.
Referenced by RexxExpressionMessage::assign(), RexxExpressionMessage::evaluate(), RexxInstructionMessage::execute(), and getReceiver().
|
inline |
Definition at line 471 of file RexxActivation.hpp.
References RexxVariableDictionary::getReserveCount(), and getVariableDictionary().
|
virtual |
Return the Rexx context this operates under. Depending on the context, this could be null.
Reimplemented from RexxActivationBase.
Definition at line 2243 of file RexxActivation.cpp.
|
virtual |
Get the security manager in effect for a given context.
Implements RexxActivationBase.
Definition at line 4591 of file RexxActivation.cpp.
References ActivationSettings::securityManager, and settings.
|
inline |
|
inline |
Definition at line 364 of file RexxActivation.hpp.
References sourceObject.
Referenced by callMacroSpaceFunction(), findClass(), getTraceBack(), loadRequires(), RexxMethod::newMethodObject(), RoutineClass::newRoutineObject(), RexxActivity::reraiseException(), and resolveDotVariable().
|
inline |
Definition at line 421 of file RexxActivation.hpp.
References stack.
Referenced by RexxVariableReference::drop(), RexxInstructionCall::trap(), and RexxVariableReference::upper().
RexxArray * RexxActivation::getStackFrames | ( | bool | skipFirst | ) |
Generate the stack frames for the current context.
Definition at line 4727 of file RexxActivation.cpp.
References activity, and RexxActivity::generateStackFrames().
Referenced by RexxContext::getStackFrames().
RexxDirectory * RexxActivation::getStreams | ( | ) |
Definition at line 1963 of file RexxActivation.cpp.
References RexxActivationBase::getPreviousStackFrame(), isProgramOrMethod(), RexxActivationBase::isRexxContext(), new_directory(), OREF_NULL, settings, and ActivationSettings::streams.
Referenced by resolveStream().
RexxDirectory * RexxActivation::getThreadLocal | ( | ) |
Definition at line 4630 of file RexxActivation.cpp.
References activity, and RexxActivity::getThreadLocal().
Referenced by rexxVariable().
RexxDateTime RexxActivation::getTime | ( | ) |
Definition at line 3218 of file RexxActivation.cpp.
References ActivationSettings::elapsed_time, SystemInterpreter::getCurrentTime(), RexxDateTime::getUTCBaseTime(), isElapsedTimerReset(), setElapsedTimerValid(), settings, ActivationSettings::timestamp, and RexxDateTime::valid.
RexxString * RexxActivation::getTraceBack | ( | ) |
Get a traceback line for the current instruction.
Definition at line 3212 of file RexxActivation.cpp.
References current, formatTrace(), and getSourceObject().
Referenced by createStackFrame().
|
inline |
Definition at line 473 of file RexxActivation.hpp.
References RexxObject::getObjectVariables(), receiver, and scope.
Referenced by GetConcurrencyInfos(), and getReserveCount().
|
inline |
Definition at line 199 of file RexxActivation.hpp.
References activity, object_scope, ActivationSettings::object_variables, RexxVariableDictionary::release(), SCOPE_RELEASED, SCOPE_RESERVED, and settings.
Referenced by RexxInstructionGuard::execute(), and termination().
void RexxActivation::guardOn | ( | ) |
Definition at line 2085 of file RexxActivation.cpp.
References activity, RexxObject::getObjectVariables(), object_scope, ActivationSettings::object_variables, OREF_NULL, receiver, RexxVariableDictionary::reserve(), scope, SCOPE_RELEASED, SCOPE_RESERVED, and settings.
Referenced by RexxInstructionGuard::execute().
void RexxActivation::guardWait | ( | ) |
Definition at line 3181 of file RexxActivation.cpp.
References activity, RexxActivity::guardWait(), object_scope, ActivationSettings::object_variables, RexxVariableDictionary::release(), RexxVariableDictionary::reserve(), SCOPE_RELEASED, SCOPE_RESERVED, and settings.
Referenced by RexxInstructionGuard::execute().
bool RexxActivation::halt | ( | RexxString * | description | ) |
Halt the activation
description | The description for the halt condition (if any). |
Definition at line 3956 of file RexxActivation.cpp.
References clause_boundary, ActivationSettings::flags, halt_condition, ActivationSettings::halt_description, and settings.
Referenced by RexxActivity::callHaltTestExit(), and RexxActivity::halt().
RexxObject * RexxActivation::handleNovalueEvent | ( | RexxString * | name, |
RexxObject * | defaultValue, | ||
RexxVariable * | variable | ||
) |
Process a NOVALUE event for a variable.
name | The variable name triggering the event. |
variable | The resolved variable object for the variable. |
Definition at line 2497 of file RexxActivation.cpp.
References activity, RexxActivity::callNovalueExit(), novalueEnabled(), novalueHandler(), OREF_NULL, reportNovalue(), RexxVariable::set(), and TheNilObject.
Referenced by RexxParseVariable::evaluate(), and RexxStem::handleNovalue().
|
inline |
Definition at line 398 of file RexxActivation.hpp.
References blockNest.
Referenced by RexxInstructionEnd::execute(), and RexxInstructionOtherwise::execute().
|
inline |
Definition at line 311 of file RexxActivation.hpp.
References activation_context, activity, RexxActivity::callTerminationExit(), execution_state, exitFrom(), INTERPRET, OREF_NULL, PROGRAM_LEVEL_CALL, RETURNED, and TOP_LEVEL_CALL.
Referenced by run().
|
inline |
Definition at line 419 of file RexxActivation.hpp.
References debug_pause, ActivationSettings::flags, settings, and trace_debug.
Referenced by command(), and RexxInstructionTrace::execute().
|
inline |
Definition at line 400 of file RexxActivation.hpp.
References settings, and ActivationSettings::traceindent.
Referenced by addBlock(), RexxInstructionElse::execute(), RexxInstructionOtherwise::execute(), RexxInstructionThen::execute(), and RexxInstructionDo::reExecute().
|
inline |
Definition at line 399 of file RexxActivation.hpp.
References activation_context, and METHODCALL.
Referenced by RexxInstructionExpose::execute(), RexxInstructionForward::execute(), RexxInstructionGuard::execute(), RexxInstructionReply::execute(), RexxInstructionUseStrict::executeNamedArguments(), and RexxInstructionUseStrict::executePositionalArguments().
RexxObject * RexxActivation::internalCall | ( | RexxString * | name, |
RexxInstruction * | target, | ||
RexxObject ** | _arguments, | ||
size_t | _argcount, | ||
size_t | _named_argcount, | ||
ProtectedObject & | returnObject | ||
) |
Process an internal function or subroutine call.
name | The name of the target label. |
target | The target instruction where we start executing (this is the label) |
_argcount | The count of positional arguments |
_stack | The context stack holding the arguments |
returnObject | A holder for the return value |
Definition at line 3132 of file RexxActivation.cpp.
References activity, current, RexxInstruction::getLineNumber(), INTERNALCALL, new_integer(), ActivityManager::newActivation(), OREF_NULL, ActivationSettings::parent_code, RexxActivity::pushStackFrame(), receiver, run(), setLocalVariable(), settings, and VARIABLE_SIGL.
Referenced by RexxExpressionFunction::evaluate(), and RexxInstructionCall::execute().
RexxObject * RexxActivation::internalCallTrap | ( | RexxString * | name, |
RexxInstruction * | target, | ||
RexxDirectory * | conditionObj, | ||
ProtectedObject & | resultObj | ||
) |
Processing a call to an internal trap subroutine.
name | The label name of the internal call. |
target | The target instruction for the call (the label) |
conditionObj | The associated condition object |
resultObj | A holder for a result object |
Definition at line 3161 of file RexxActivation.cpp.
References activity, current, RexxInstruction::getLineNumber(), INTERNALCALL, new_integer(), ActivityManager::newActivation(), OREF_NULL, ActivationSettings::parent_code, RexxExpressionStack::push(), RexxActivity::pushStackFrame(), run(), setConditionObj(), setLocalVariable(), settings, stack, and VARIABLE_SIGL.
Referenced by RexxInstructionCall::trap().
bool RexxActivation::internalMethod | ( | ) |
void RexxActivation::interpret | ( | RexxString * | codestring | ) |
Definition at line 2600 of file RexxActivation.cpp.
References activity, argcount, arglist, arguments, RexxActivity::checkStackSpace(), code, current, ActivityManager::currentActivity, RexxInstruction::getLineNumber(), INTERPRET, RexxCode::interpret(), named_argcount, ActivityManager::newActivation(), OREF_NULL, RexxActivity::pushStackFrame(), and run().
Referenced by RexxInstructionInterpret::execute().
|
inline |
Definition at line 480 of file RexxActivation.hpp.
References elapsed_reset, ActivationSettings::flags, and settings.
Referenced by getTime().
|
inline |
Definition at line 475 of file RexxActivation.hpp.
References ActivationSettings::flags, settings, and trace_on.
Referenced by processClauseBoundary().
|
inlinevirtual |
Reimplemented from RexxActivationBase.
Definition at line 466 of file RexxActivation.hpp.
References ActivationSettings::flags, forwarded, and settings.
Referenced by RexxActivity::raiseException().
|
inline |
Definition at line 467 of file RexxActivation.hpp.
References ActivationSettings::flags, guarded_method, and settings.
Referenced by getObjectVariables(), and run().
|
inline |
Definition at line 212 of file RexxActivation.hpp.
References activation_context, and INTERNALCALL.
Referenced by checkTrapTable(), createStackFrame(), run(), and trapOff().
|
inline |
Definition at line 218 of file RexxActivation.hpp.
References activation_context, and INTERNAL_LEVEL_CALL.
Referenced by cleanupLocalVariables(), external(), and getRandomSeed().
|
inline |
Definition at line 211 of file RexxActivation.hpp.
References activation_context, and INTERPRET.
Referenced by createStackFrame(), getContextLine(), getContextLineNumber(), getEffectivePackageObject(), getEffectiveSourceObject(), getReceiver(), propagateNumericSettings(), returnFrom(), rexxVariable(), run(), setDigits(), setForm(), setFuzz(), signalTo(), trap(), and unwindTrap().
|
inline |
Definition at line 213 of file RexxActivation.hpp.
References activation_context, and METHODCALL.
Referenced by createStackFrame(), formatSourcelessTraceLine(), isMethodOrRoutine(), and traceEntry().
|
inline |
Definition at line 220 of file RexxActivation.hpp.
References isMethod(), and isRoutine().
Referenced by run().
|
inline |
Definition at line 469 of file RexxActivation.hpp.
References object_scope, and SCOPE_RESERVED.
Referenced by GetConcurrencyInfos().
|
inline |
Definition at line 215 of file RexxActivation.hpp.
References activation_context, and PROGRAMCALL.
Referenced by createStackFrame().
|
inline |
Definition at line 217 of file RexxActivation.hpp.
References activation_context, and PROGRAM_LEVEL_CALL.
Referenced by exitFrom(), raiseExit(), returnFrom(), and run().
|
inline |
Definition at line 219 of file RexxActivation.hpp.
References activation_context, and PROGRAM_OR_METHOD.
Referenced by closeStreams(), and getStreams().
|
virtual |
Indicate whether this activation is a Rexx context or not.
Reimplemented from RexxActivationBase.
Definition at line 2266 of file RexxActivation.cpp.
|
inline |
Definition at line 214 of file RexxActivation.hpp.
References activation_context, and EXTERNALCALL.
Referenced by createStackFrame(), formatSourcelessTraceLine(), isMethodOrRoutine(), and traceEntry().
|
inline |
Definition at line 465 of file RexxActivation.hpp.
References activation_context, and TOP_LEVEL_CALL.
Referenced by exitFrom().
|
inline |
Definition at line 216 of file RexxActivation.hpp.
References activation_context, and TOP_LEVEL_CALL.
Referenced by exitFrom(), popEnvironment(), pushEnvironment(), raiseExit(), and run().
void RexxActivation::iterate | ( | RexxString * | name | ) |
Definition at line 1277 of file RexxActivation.cpp.
References Error_Invalid_leave_iterate, Error_Invalid_leave_iterate_name, Error_Invalid_leave_iteratevar, RexxDoBlock::getIndent(), RexxDoBlock::getParent(), RexxBlockInstruction::isLabel(), RexxBlockInstruction::isLoop(), OREF_NULL, popBlock(), removeBlock(), reportException(), setIndent(), stack, and topBlock().
Referenced by RexxInstructionLeave::execute().
void RexxActivation::leaveLoop | ( | RexxString * | name | ) |
Definition at line 1329 of file RexxActivation.cpp.
References Error_Invalid_leave_leave, Error_Invalid_leave_leavevar, RexxDoBlock::getParent(), RexxBlockInstruction::isLabel(), RexxBlockInstruction::isLoop(), OREF_NULL, popBlock(), removeBlock(), reportException(), RexxBlockInstruction::terminate(), and topBlock().
Referenced by RexxInstructionLeave::execute().
|
virtual |
Reimplemented from RexxVirtualBase.
Definition at line 1098 of file RexxActivation.cpp.
References activity, ActivationSettings::alternate_env, argcount, arglist, arguments, ActivationSettings::calltype, code, condition_queue, ActivationSettings::conditionObj, contextObject, current, ActivationSettings::current_env, dostack, environmentList, RexxActivationBase::executable, ActivationSettings::halt_description, handler_queue, RexxLocalVariables::live(), RexxExpressionStack::live(), ActivationSettings::local_variables, memory_mark, ActivationSettings::msgname, named_argcount, next, ActivationSettings::object_variables, objnotify, OREF_NULL, parent, ActivationSettings::parent_argcount, ActivationSettings::parent_arglist, ActivationSettings::parent_arguments, ActivationSettings::parent_code, ActivationSettings::parent_named_argcount, RexxActivationBase::previous, receiver, result, scope, ActivationSettings::securityManager, settings, stack, ActivationSettings::streams, trapinfo, and ActivationSettings::traps.
|
virtual |
Reimplemented from RexxVirtualBase.
Definition at line 1158 of file RexxActivation.cpp.
References activity, ActivationSettings::alternate_env, argcount, arglist, arguments, ActivationSettings::calltype, code, condition_queue, ActivationSettings::conditionObj, contextObject, current, ActivationSettings::current_env, dostack, environmentList, RexxActivationBase::executable, ActivationSettings::halt_description, handler_queue, RexxLocalVariables::liveGeneral(), RexxExpressionStack::liveGeneral(), ActivationSettings::local_variables, memory_mark_general, ActivationSettings::msgname, named_argcount, next, ActivationSettings::object_variables, objnotify, OREF_NULL, parent, ActivationSettings::parent_argcount, ActivationSettings::parent_arglist, ActivationSettings::parent_arguments, ActivationSettings::parent_code, ActivationSettings::parent_named_argcount, RexxActivationBase::previous, receiver, result, ActivationSettings::securityManager, settings, stack, ActivationSettings::streams, trapinfo, and ActivationSettings::traps.
void RexxActivation::loadLibrary | ( | RexxString * | target, |
RexxInstruction * | instruction | ||
) |
Load a package defined by a ::REQUIRES name LIBRARY directive.
target | The name of the package. |
instruction | The ::REQUIRES directive being loaded. |
Definition at line 3111 of file RexxActivation.cpp.
References current, and PackageManager::getLibrary().
Referenced by LibraryDirective::install().
PackageClass * RexxActivation::loadRequires | ( | RexxString * | target, |
RexxInstruction * | instruction | ||
) |
Load a ::REQUIRES directive when the source file is first invoked.
target | The name of the ::REQUIRES |
instruction | The directive instruction being processed. |
Definition at line 3093 of file RexxActivation.cpp.
References activity, current, getSourceObject(), and RexxSource::loadRequires().
Referenced by RequiresDirective::install().
RexxDirectory* RexxActivation::local | ( | ) |
bool RexxActivation::localCompoundVariableExists | ( | RexxString * | stemName, |
size_t | index, | ||
RexxObject ** | tail, | ||
size_t | tailCount | ||
) |
Definition at line 4528 of file RexxActivation.cpp.
References RexxStem::compoundVariableExists(), and getLocalStem().
Referenced by RexxCompoundVariable::exists().
|
inline |
Definition at line 559 of file RexxActivation.hpp.
References RexxLocalVariables::find(), ActivationSettings::local_variables, OREF_NULL, and settings.
Referenced by RexxStemVariable::exists().
|
inline |
Definition at line 567 of file RexxActivation.hpp.
References RexxLocalVariables::find(), RexxVariable::getVariableValue(), ActivationSettings::local_variables, OREF_NULL, and settings.
Referenced by RexxParseVariable::exists().
void RexxActivation::mergeTraps | ( | RexxQueue * | source_condition_queue, |
RexxQueue * | source_handler_queue | ||
) |
Definition at line 2526 of file RexxActivation.cpp.
References RexxList::addLast(), condition_queue, RexxList::getSize(), handler_queue, OREF_NULL, pending_count, and RexxQueue::pullRexx().
Referenced by run(), trap(), and unwindTrap().
|
inline |
Definition at line 395 of file RexxActivation.hpp.
References blockNest, pushBlock(), settings, and ActivationSettings::traceindent.
Referenced by RexxInstructionDo::execute(), and RexxInstructionSelect::execute().
|
inline |
Definition at line 615 of file RexxActivation.hpp.
References RexxVariable::getNext(), memoryObject, new_variable(), OREF_NULL, RexxVariable::reset(), RexxVariable::setCreator(), and RexxMemory::variableCache.
Referenced by RexxLocalVariables::lookupStemVariable(), and RexxLocalVariables::lookupVariable().
|
inline |
Definition at line 607 of file RexxActivation.hpp.
References RexxLocalVariables::getNovalue(), ActivationSettings::local_variables, and settings.
Referenced by handleNovalueEvent().
RexxObject * RexxActivation::novalueHandler | ( | RexxString * | name | ) |
Definition at line 4442 of file RexxActivation.cpp.
References getLocalEnvironment(), OREF_NULL, RexxObject::sendMessage(), and TheNilObject.
Referenced by handleNovalueEvent().
|
inline |
Definition at line 169 of file RexxActivation.hpp.
|
inline |
Definition at line 170 of file RexxActivation.hpp.
|
inline |
Definition at line 168 of file RexxActivation.hpp.
void * RexxActivation::operator new | ( | size_t | size | ) |
Definition at line 161 of file RexxActivation.cpp.
References new_object(), and T_Activation.
|
inline |
Definition at line 461 of file RexxActivation.hpp.
References debugPause(), ActivationSettings::flags, settings, trace_commands, and trace_debug.
|
inline |
Definition at line 458 of file RexxActivation.hpp.
References debugPause(), ActivationSettings::flags, settings, trace_all, and trace_debug.
Referenced by RexxInstructionAddress::execute(), RexxInstructionAssignment::execute(), RexxInstructionCall::execute(), RexxInstructionDrop::execute(), RexxInstructionExpose::execute(), RexxInstructionForward::execute(), RexxInstructionIf::execute(), RexxInstructionLeave::execute(), RexxInstructionMessage::execute(), RexxInstructionNop::execute(), RexxInstructionNumeric::execute(), RexxInstructionOptions::execute(), RexxInstructionParse::execute(), RexxInstructionProcedure::execute(), RexxInstructionQueue::execute(), RexxInstructionReply::execute(), RexxInstructionSay::execute(), RexxInstructionSignal::execute(), RexxInstructionTrace::execute(), RexxInstructionUpper::execute(), RexxInstructionUseStrict::executeNamedArguments(), and RexxInstructionUseStrict::executePositionalArguments().
|
inline |
Definition at line 460 of file RexxActivation.hpp.
References debugPause(), ActivationSettings::flags, settings, trace_debug, and trace_labels.
Referenced by RexxInstructionLabel::execute(), and run().
|
inline |
Definition at line 391 of file RexxActivation.hpp.
References dostack, RexxDoBlock::getPrevious(), and RexxInternalObject::setHasNoReferences().
Referenced by iterate(), leaveLoop(), RexxInstructionDo::reExecute(), and terminateBlock().
RexxObject* RexxActivation::popControl | ( | ) |
RexxObject * RexxActivation::popEnvironment | ( | ) |
Definition at line 4389 of file RexxActivation.cpp.
References environmentList, isTopLevelCall(), parent, popEnvironment(), RexxList::removeFirst(), and TheNilObject.
Referenced by popEnvironment(), and SystemInterpreter::popEnvironment().
void RexxActivation::procedureExpose | ( | RexxVariableBase ** | variables, |
size_t | count | ||
) |
Definition at line 1389 of file RexxActivation.cpp.
References activity, RexxActivity::allocateLocalVariableFrame(), Error_Unexpected_procedure_call, ActivationSettings::flags, ActivationSettings::local_variables, parent, RexxLocalVariables::procedure(), procedure_valid, RexxVariableBase::procedureExpose(), reportException(), settings, and stack.
Referenced by RexxInstructionProcedure::execute().
void RexxActivation::processClauseBoundary | ( | ) |
Definition at line 3847 of file RexxActivation.cpp.
References activity, RexxActivity::callHaltTestExit(), RexxActivity::callTraceTestExit(), clause_boundary, clause_exits, DEBUG_OFF, DEBUG_ON, Error_Program_interrupted_condition, external_yield, ActivationSettings::flags, halt_condition, ActivationSettings::halt_description, isExternalTraceOn(), OREF_NULL, pending_count, processTraps(), RexxActivity::raiseCondition(), RexxActivity::relinquish(), reportException(), set_trace_off, set_trace_on, setExternalTraceOff(), setExternalTraceOn(), settings, setTrace(), trace_debug, trace_off, TRACE_OFF, TRACE_RESULTS, and trace_results_flags.
Referenced by run().
|
static |
Process a trace setting and reduce it to the component flag settings that can be used to set defaults.
traceSetting | The input trace setting. |
Definition at line 1031 of file RexxActivation.cpp.
References RexxSource::DEBUG_IGNORE, RexxSource::DEBUG_OFF, RexxSource::DEBUG_ON, RexxSource::DEBUG_TOGGLE, trace_all, RexxSource::TRACE_ALL, trace_commands, RexxSource::TRACE_COMMANDS, trace_debug, TRACE_DEBUG_MASK, trace_errors, RexxSource::TRACE_ERRORS, trace_failures, RexxSource::TRACE_FAILURES, RexxSource::TRACE_IGNORE, trace_intermediates, RexxSource::TRACE_INTERMEDIATES, trace_labels, RexxSource::TRACE_LABELS, RexxSource::TRACE_NORMAL, trace_off, RexxSource::TRACE_OFF, trace_results, RexxSource::TRACE_RESULTS, RexxSource::TRACE_SETTING_MASK, and traceSetting().
Referenced by RexxSource::parseTraceSetting().
void RexxActivation::processTraps | ( | ) |
Definition at line 821 of file RexxActivation.cpp.
References RexxList::addLast(), RexxDirectory::at(), condition_queue, RexxArray::get(), handler_queue, OREF_NULL, pending_count, RexxQueue::pullRexx(), setLocalVariable(), trap(), trapState(), and VARIABLE_RC.
Referenced by processClauseBoundary(), and run().
void RexxActivation::propagateExit | ( | RexxObject * | ) |
bool RexxActivation::propagateNumericSettings | ( | ) |
Definition at line 2130 of file RexxActivation.cpp.
References ActivationSettings::propagateNumericSettings, and settings.
Referenced by RexxInstructionNumeric::execute(), RexxContext::getDigitsPropagate(), and propagateNumericSettings().
void RexxActivation::propagateNumericSettings | ( | bool | status | ) |
Definition at line 2210 of file RexxActivation.cpp.
References isInterpret(), parent, ActivationSettings::propagateNumericSettings, propagateNumericSettings(), and settings.
|
inline |
Definition at line 390 of file RexxActivation.hpp.
References dostack, and RexxDoBlock::setPrevious().
Referenced by newDo().
void RexxActivation::pushControl | ( | RexxObject * | ) |
void RexxActivation::pushEnvironment | ( | RexxObject * | environment | ) |
Definition at line 4364 of file RexxActivation.cpp.
References RexxList::addFirst(), environmentList, isTopLevelCall(), new_list(), parent, and pushEnvironment().
Referenced by SystemInterpreter::pushEnvironment(), and pushEnvironment().
|
inline |
Definition at line 575 of file RexxActivation.hpp.
References ActivationSettings::local_variables, RexxLocalVariables::putVariable(), and settings.
Referenced by RexxStemVariable::expose(), RexxParseVariable::expose(), RexxStemVariable::procedureExpose(), and RexxParseVariable::procedureExpose().
|
inline |
Definition at line 412 of file RexxActivation.hpp.
References settings.
Referenced by RexxActivation(), and unwindTrap().
void RexxActivation::raise | ( | RexxString * | condition, |
RexxObject * | rc, | ||
RexxString * | description, | ||
RexxObject * | additional, | ||
RexxObject * | resultObj, | ||
RexxDirectory * | conditionobj | ||
) |
Definition at line 1744 of file RexxActivation.cpp.
References activity, RexxDirectory::at(), ActivityManager::currentActivity, Error_Program_interrupted_condition, RexxInternalObject::getValue(), new_directory(), OREF_NULL, RexxActivity::popStackFrame(), RexxDirectory::put(), RexxActivity::raiseException(), reportException(), RexxActivity::reraiseException(), returnFrom(), senderActivation(), RexxString::strCompare(), termination(), TheFalseObject, TheTrueObject, and trap().
Referenced by RexxInstructionRaise::execute().
void RexxActivation::raiseExit | ( | RexxString * | condition, |
RexxObject * | rc, | ||
RexxString * | description, | ||
RexxObject * | additional, | ||
RexxObject * | resultObj, | ||
RexxDirectory * | conditionobj | ||
) |
Definition at line 1702 of file RexxActivation.cpp.
References activity, RexxActivity::callTerminationExit(), exitFrom(), isProgramLevelCall(), isTopLevelCall(), OREF_NULL, parent, RexxActivity::popStackFrame(), raiseExit(), and termination().
Referenced by RexxInstructionRaise::execute(), and raiseExit().
RexxInteger * RexxActivation::random | ( | RexxInteger * | randmin, |
RexxInteger * | randmax, | ||
RexxInteger * | randseed | ||
) |
Definition at line 3321 of file RexxActivation.cpp.
References DEFAULT_MAX, DEFAULT_MIN, Error_Incorrect_call_random, Error_Incorrect_call_random_range, getRandomSeed(), RexxInteger::getValue(), MAX_DIFFERENCE, new_integer(), OREF_NULL, reportException(), and work.
|
inline |
Definition at line 396 of file RexxActivation.hpp.
References blockNest, and unindent().
Referenced by RexxInstructionDo::execute(), RexxInstructionEnd::execute(), iterate(), leaveLoop(), and RexxInstructionDo::reExecute().
void RexxActivation::reply | ( | RexxObject * | resultObj | ) |
Definition at line 1218 of file RexxActivation.cpp.
References Error_Execution_reply, execution_state, ActivationSettings::flags, next, OREF_NULL, REPLIED, reply_issued, reportException(), result, and settings.
Referenced by RexxInstructionReply::execute().
void RexxActivation::resetElapsed | ( | ) |
Definition at line 3266 of file RexxActivation.cpp.
References setElapsedTimerInvalid().
RexxObject * RexxActivation::resolveDotVariable | ( | RexxString * | name | ) |
Resolve a class in this activation's context.
name | The name to resolve. |
Definition at line 3069 of file RexxActivation.cpp.
References activation_context, RexxSource::findClass(), getSourceObject(), INTERPRET, parent, and resolveDotVariable().
Referenced by RexxDotVariable::evaluate(), RexxDotVariable::getValue(), and resolveDotVariable().
RexxString * RexxActivation::resolveProgramName | ( | RexxString * | name | ) |
This is resolved in the context of the calling program.
name | The name to resolve. |
Definition at line 3037 of file RexxActivation.cpp.
References activity, code, and RexxCode::resolveProgramName().
Referenced by callExternalRexx().
RexxObject * RexxActivation::resolveStream | ( | RexxString * | name, |
bool | input, | ||
RexxString ** | fullName, | ||
bool * | added | ||
) |
Resolve a stream name for a BIF call.
name | The name of the stream. |
stack | The expression stack. |
input | The input/output flag. |
fullName | The returned full name of the stream. |
added | A flag indicating we added this. |
Definition at line 1879 of file RexxActivation.cpp.
References RexxDirectory::at(), SecurityManager::checkStreamAccess(), getEffectiveSecurityManager(), RexxString::getLength(), getLocalEnvironment(), getStreams(), OREF_NULL, RexxDirectory::put(), SystemInterpreter::qualifyFileSystemName(), RexxObject::sendMessage(), RexxString::strCaselessCompare(), and TheEnvironment.
RexxVariableBase* RexxActivation::retriever | ( | RexxString * | ) |
void RexxActivation::returnFrom | ( | RexxObject * | result | ) |
Definition at line 1238 of file RexxActivation.cpp.
References activity, RexxActivity::callTerminationExit(), debug_bypass, Error_Execution_reply_return, execution_state, ActivationSettings::flags, isInterpret(), isProgramLevelCall(), next, OREF_NULL, parent, reply_issued, reportException(), result, RETURNED, returnFrom(), settings, and trace_debug.
Referenced by RexxInstructionReturn::execute(), raise(), and returnFrom().
RexxObject * RexxActivation::rexxVariable | ( | RexxString * | name | ) |
Definition at line 2652 of file RexxActivation.cpp.
References ActivityManager::addWaitingActivityCounter(), RexxString::concatToCstring(), current, ActivationSettings::flags, getAPIManagerCounter(), getContextObject(), RexxInstruction::getLineNumber(), RexxCode::getMethods(), RexxCode::getRoutines(), getThreadLocal(), isInterpret(), new_integer(), OREF_NULL, parent, ActivationSettings::parent_code, ActivityManager::relinquishCounter(), RexxActivity::requestAccessCounter(), ActivationSettings::return_status, return_status_set, rexxVariable(), settings, RexxString::strCompare(), and ActivityManager::yieldCounter().
Referenced by RexxDotVariable::evaluate(), RexxDotVariable::getValue(), and rexxVariable().
|
inline |
Definition at line 249 of file RexxActivation.hpp.
RexxObject * RexxActivation::run | ( | RexxObject * | _receiver, |
RexxString * | msgname, | ||
RexxArray * | _arguments, | ||
RexxObject ** | _arglist, | ||
size_t | _argcount, | ||
size_t | _named_argcount, | ||
RexxInstruction * | start, | ||
ProtectedObject & | resultObj | ||
) |
Definition at line 517 of file RexxActivation.cpp.
References ACTIVE, activity, RexxActivity::allocateFrame(), argcount, arglist, arguments, RexxActivity::callInitializationExit(), RexxMemory::checkUninitQueue(), clause_boundary, clause_exits, RexxExpressionStack::clear(), RexxLocalVariables::clearNested(), code, condition_queue, current, debug_pause, RexxInstruction::execute(), execution_state, ActivationSettings::flags, RexxCode::getFirstInstruction(), RexxExpressionStack::getFrame(), RexxActivity::getInstance(), RexxObject::getObjectVariables(), getSettings(), RexxList::getSize(), handler_queue, Interpreter::hasTimeSliceElapsed(), implicitExit(), RexxCode::install(), isGuarded(), isInternalCall(), isInterpret(), isMethodOrRoutine(), RexxLocalVariables::isNested(), RexxInternalObject::isOldSpace(), isProgramLevelCall(), isTopLevelCall(), RexxInstruction::isType(), KEYWORD_LABEL, KEYWORD_PROCEDURE, ActivationSettings::local_variables, MAX_INSTRUCTIONS, memoryObject, mergeTraps(), RexxLocalVariables::migrate(), RexxExpressionStack::migrate(), ActivationSettings::msgname, named_argcount, next, RexxInstruction::nextInstruction, object_scope, ActivationSettings::object_variables, OREF_NULL, parent, ActivationSettings::parent_argcount, ActivationSettings::parent_arglist, ActivationSettings::parent_arguments, ActivationSettings::parent_named_argcount, pauseLabel(), pending_count, RexxActivity::popStackFrame(), procedure_valid, processClauseBoundary(), processTraps(), RexxActivity::pushStackFrame(), receiver, RexxActivity::releaseStackFrame(), RexxActivity::relinquish(), REPLIED, RexxVariableDictionary::reserve(), result, RETURNED, RexxActivity::run(), scope, SCOPE_RESERVED, setLocalVariable(), settings, InterpreterInstance::setupProgram(), RexxActivity::spawnReply(), stack, RexxObject::superScope(), termination(), ActivationSettings::timestamp, traceEntry(), tracingAll(), tracingLabels(), RexxVariableDictionary::transfer(), transfer_failed, RexxActivity::unwindToFrame(), RexxDateTime::valid, VARIABLE_SELF, and VARIABLE_SUPER.
Referenced by RexxCode::call(), debugInterpret(), dispatch(), internalCall(), internalCallTrap(), interpret(), RexxCode::run(), and run().
RexxActivation * RexxActivation::senderActivation | ( | ) |
Definition at line 2585 of file RexxActivation.cpp.
References RexxActivationBase::getPreviousStackFrame(), isOfClass, and OREF_NULL.
Referenced by getParentContextObject(), and raise().
void RexxActivation::setAddress | ( | RexxString * | address | ) |
Definition at line 2036 of file RexxActivation.cpp.
References ActivationSettings::alternate_env, ActivationSettings::current_env, and settings.
Referenced by RexxInstructionAddress::execute().
void RexxActivation::setArguments | ( | RexxArray * | positionalArguments, |
RexxDirectory * | namedArguments | ||
) |
Store user-redefined arguments.
Definition at line 4736 of file RexxActivation.cpp.
References RexxDirectory::appendAllIndexesItemsTo(), argcount, arglist, arguments, RexxArray::copy(), RexxArray::data(), named_argcount, OREF_NULL, RexxArray::size(), and TheNilObject.
Referenced by RexxContext::setArgs().
|
inline |
Definition at line 389 of file RexxActivation.hpp.
References ActivationSettings::calltype, settings, and type.
|
inline |
Definition at line 415 of file RexxActivation.hpp.
References RexxSource::condition(), ActivationSettings::conditionObj, and settings.
Referenced by internalCallTrap(), and RexxInstructionSignal::trap().
|
inline |
Definition at line 418 of file RexxActivation.hpp.
References current.
Referenced by ClassDirective::install(), and ExtensionDirective::install().
void RexxActivation::setDefaultAddress | ( | RexxString * | address | ) |
Definition at line 2049 of file RexxActivation.cpp.
References ActivationSettings::alternate_env, ActivationSettings::current_env, and settings.
Referenced by RexxActivation().
void RexxActivation::setDigits | ( | ) |
Set the digits setting to the package-defined default
Definition at line 2157 of file RexxActivation.cpp.
References RexxSource::getDigits(), and sourceObject.
|
virtual |
Reimplemented from RexxActivationBase.
Definition at line 2162 of file RexxActivation.cpp.
References NumericSettings::digits, isInterpret(), ActivationSettings::numericSettings, parent, setDigits(), and settings.
Referenced by RexxInstructionNumeric::execute(), setDigits(), and RexxNativeActivation::setDigits().
|
inline |
Definition at line 481 of file RexxActivation.hpp.
References elapsed_reset, ActivationSettings::flags, and settings.
Referenced by resetElapsed().
|
inline |
Definition at line 482 of file RexxActivation.hpp.
References elapsed_reset, ActivationSettings::flags, and settings.
Referenced by getTime().
|
inline |
Definition at line 477 of file RexxActivation.hpp.
References ActivationSettings::flags, settings, and trace_on.
Referenced by processClauseBoundary().
|
inline |
Definition at line 476 of file RexxActivation.hpp.
References ActivationSettings::flags, settings, and trace_on.
Referenced by processClauseBoundary().
void RexxActivation::setForm | ( | ) |
Set the form setting to the package-defined default
Definition at line 2193 of file RexxActivation.cpp.
References RexxSource::getForm(), and sourceObject.
|
virtual |
Reimplemented from RexxActivationBase.
Definition at line 2200 of file RexxActivation.cpp.
References NumericSettings::form, isInterpret(), ActivationSettings::numericSettings, parent, setForm(), and settings.
Referenced by RexxInstructionNumeric::execute(), setForm(), and RexxNativeActivation::setForm().
void RexxActivation::setFuzz | ( | ) |
Set the fuzz setting to the package-defined default
Definition at line 2174 of file RexxActivation.cpp.
References RexxSource::getFuzz(), and sourceObject.
|
virtual |
Reimplemented from RexxActivationBase.
Definition at line 2181 of file RexxActivation.cpp.
References NumericSettings::fuzz, isInterpret(), ActivationSettings::numericSettings, parent, setFuzz(), and settings.
Referenced by RexxInstructionNumeric::execute(), setFuzz(), and RexxNativeActivation::setFuzz().
|
inline |
Definition at line 468 of file RexxActivation.hpp.
References ActivationSettings::flags, guarded_method, and settings.
Referenced by RexxActivation().
|
inline |
Definition at line 402 of file RexxActivation.hpp.
References settings, and ActivationSettings::traceindent.
Referenced by RexxInstructionEnd::execute(), and iterate().
void RexxActivation::setLocalCompoundVariable | ( | RexxString * | stemName, |
size_t | index, | ||
RexxObject ** | tail, | ||
size_t | tailCount, | ||
RexxObject * | value | ||
) |
Definition at line 4556 of file RexxActivation.cpp.
References getLocalStem(), and RexxStem::setCompoundVariable().
Referenced by RexxCompoundVariable::set().
|
inline |
Definition at line 585 of file RexxActivation.hpp.
References getLocalVariable(), and RexxVariable::set().
Referenced by RexxParseVariable::assign(), command(), RexxInstructionCall::execute(), RexxInstructionCommand::execute(), RexxInstructionForward::execute(), RexxInstructionMessage::execute(), internalCall(), internalCallTrap(), processTraps(), run(), RexxParseVariable::set(), and signalTo().
|
inline |
Definition at line 659 of file RexxActivation.hpp.
References ActivationSettings::local_variables, RexxLocalVariables::setDictionary(), and settings.
Referenced by cleanupLocalVariables().
|
inline |
Definition at line 417 of file RexxActivation.hpp.
References next.
Referenced by RexxInstructionDo::execute(), RexxInstructionEndIf::execute(), RexxInstructionIf::execute(), RexxInstructionDo::reExecute(), RexxInstructionDo::terminate(), and RexxInstructionSelect::terminate().
|
virtual |
Reimplemented from RexxActivationBase.
Definition at line 4354 of file RexxActivation.cpp.
References objnotify.
void RexxActivation::setReturnStatus | ( | int | status | ) |
Set the return status flag for an activation context.
status | The new status value. |
Definition at line 4285 of file RexxActivation.cpp.
References ActivationSettings::flags, ActivationSettings::return_status, return_status_set, and settings.
Referenced by command().
void RexxActivation::setTrace | ( | RexxString * | setting, |
bool | externalTrace = false , |
||
size_t | depth = 0 |
||
) |
Set the trace using a dynamically evaluated string.
setting | The new trace setting. |
Definition at line 916 of file RexxActivation.cpp.
References Error_Invalid_trace_trace, ActivationSettings::externalTraceDepth, ActivationSettings::externalTraceFlags, ActivationSettings::externalTraceOption, new_string(), RexxSource::parseTraceSetting(), reportException(), settings, and setTrace().
void RexxActivation::setTrace | ( | size_t | traceOption, |
size_t | traceFlags | ||
) |
Set a new trace setting for the context.
traceOption | The new trace setting option. This includes the setting option and any debug flag options, ANDed together. |
Definition at line 945 of file RexxActivation.cpp.
References clearTraceSettings(), debug_bypass, DEBUG_ON, RexxSource::DEBUG_ON, debug_pause, debug_prompt_issued, RexxSource::DEBUG_TOGGLE, ActivationSettings::flags, ActivationSettings::intermediate_trace, settings, trace_debug, trace_flags, trace_intermediates, ActivationSettings::trace_skip, trace_suppress, and ActivationSettings::traceOption.
Referenced by enableExternalTrace(), RexxInstructionTrace::execute(), externalTraceOn(), processClauseBoundary(), RexxActivation(), and setTrace().
void RexxActivation::signalTo | ( | RexxInstruction * | target | ) |
Definition at line 1998 of file RexxActivation.cpp.
References blockNest, current, dostack, execution_state, RexxInstruction::getLineNumber(), isInterpret(), new_integer(), next, OREF_NULL, parent, RETURNED, setLocalVariable(), settings, signalTo(), ActivationSettings::traceindent, and VARIABLE_SIGL.
Referenced by RexxInstructionSignal::execute(), signalTo(), signalValue(), and RexxInstructionSignal::trap().
void RexxActivation::signalValue | ( | RexxString * | name | ) |
Definition at line 2062 of file RexxActivation.cpp.
References RexxDirectory::at(), Error_Label_not_found_name, getLabels(), OREF_NULL, reportException(), and signalTo().
Referenced by RexxInstructionSignal::execute().
RexxString * RexxActivation::sourceString | ( | ) |
Definition at line 4308 of file RexxActivation.cpp.
References ActivationSettings::calltype, SystemInterpreter::getSourceString(), and settings.
Referenced by RexxInstructionParse::execute(), traceSourceString(), and RexxNativeActivation::variablePoolFetchPrivate().
|
inline |
Definition at line 394 of file RexxActivation.hpp.
References blockNest, dostack, RexxDoBlock::getIndent(), popBlock(), settings, and ActivationSettings::traceindent.
|
inline |
Definition at line 393 of file RexxActivation.hpp.
References blockNest, popBlock(), settings, and ActivationSettings::traceindent.
Referenced by RexxInstructionEndIf::execute(), RexxInstructionEnd::execute(), RexxInstructionDo::terminate(), and RexxInstructionSelect::terminate().
|
virtual |
Reimplemented from RexxActivationBase.
Definition at line 1589 of file RexxActivation.cpp.
References activity, cleanupLocalVariables(), closeStreams(), contextObject, RexxContext::detach(), environmentList, RexxExpressionStack::getFrame(), RexxList::getSize(), guardOff(), RexxList::lastItem(), OREF_NULL, RexxActivity::releaseStackFrame(), SystemInterpreter::restoreEnvironment(), and stack.
Referenced by exitFrom(), forward(), raise(), raiseExit(), and run().
void RexxActivation::toggleAddress | ( | ) |
Definition at line 2024 of file RexxActivation.cpp.
References ActivationSettings::alternate_env, ActivationSettings::current_env, and settings.
Referenced by RexxInstructionAddress::execute().
|
inline |
Definition at line 392 of file RexxActivation.hpp.
References dostack.
Referenced by RexxInstructionEnd::execute(), iterate(), and leaveLoop().
|
inline |
Definition at line 442 of file RexxActivation.hpp.
References ASSIGNMENT_MARKER, ActivationSettings::intermediate_trace, settings, TRACE_PREFIX_ASSIGNMENT, and traceTaggedValue().
Referenced by RexxExpressionMessage::assign(), RexxStemVariable::assign(), RexxParseVariable::assign(), RexxStemVariable::drop(), and RexxParseVariable::drop().
void RexxActivation::traceClause | ( | RexxInstruction * | clause, |
int | prefix | ||
) |
Definition at line 4091 of file RexxActivation.cpp.
References activity, code, ActivationSettings::flags, formatTrace(), RexxCode::getSourceObject(), RexxCode::isTraceable(), line, OREF_NULL, settings, source_traced, trace_debug, trace_suppress, RexxActivity::traceOutput(), and traceSourceString().
Referenced by command(), traceCommand(), traceInstruction(), and traceLabel().
|
inline |
Definition at line 455 of file RexxActivation.hpp.
References ActivationSettings::flags, settings, trace_commands, TRACE_PREFIX_CLAUSE, and traceClause().
Referenced by RexxInstructionCommand::execute().
|
inline |
Definition at line 446 of file RexxActivation.hpp.
References ActivationSettings::intermediate_trace, settings, TRACE_PREFIX_VARIABLE, traceCompoundValue(), and VALUE_MARKER.
Referenced by evaluateLocalCompoundVariable().
|
inline |
Definition at line 447 of file RexxActivation.hpp.
References ASSIGNMENT_MARKER, ActivationSettings::intermediate_trace, settings, TRACE_PREFIX_ASSIGNMENT, and traceCompoundValue().
Referenced by assignLocalCompoundVariable(), and dropLocalCompoundVariable().
|
inline |
Definition at line 444 of file RexxActivation.hpp.
References RexxCompoundTail::createCompoundName(), ActivationSettings::intermediate_trace, settings, TRACE_PREFIX_COMPOUND, traceCompoundValue(), and VALUE_MARKER.
Referenced by assignLocalCompoundVariable(), dropLocalCompoundVariable(), evaluateLocalCompoundVariable(), RexxCompoundVariable::expose(), and RexxCompoundVariable::procedureExpose().
|
inline |
Definition at line 445 of file RexxActivation.hpp.
References RexxString::concat(), ActivationSettings::intermediate_trace, settings, TRACE_PREFIX_COMPOUND, traceCompoundValue(), and VALUE_MARKER.
void RexxActivation::traceCompoundValue | ( | int | prefix, |
RexxString * | stemName, | ||
RexxObject ** | tails, | ||
size_t | tailCount, | ||
const char * | marker, | ||
RexxObject * | value, | ||
bool | quoteValue = true |
||
) |
Trace a compound variable entry that's of the form 'tag => "value"'.
prefix | The trace prefix tag to use. |
stem | The stem name of the compound. |
tails | The array of tail elements (unresolved). |
tailCount | The count of tail elements. |
value | The associated trace value. @quoteValue Indicates whether the value should be quoted or not. |
Definition at line 3714 of file RexxActivation.cpp.
References activity, code, ActivationSettings::flags, RexxString::getLength(), RexxCompoundTail::getLength(), RexxCompoundTail::getTail(), INDENT_SPACING, RexxCode::isTraceable(), OREF_NULL, PREFIX_LENGTH, PREFIX_OFFSET, RexxString::put(), RexxString::putChar(), raw_string(), RexxString::set(), settings, RexxObject::stringValue(), TRACE_OVERHEAD, trace_prefix_table, trace_suppress, ActivationSettings::traceindent, and RexxActivity::traceOutput().
void RexxActivation::traceCompoundValue | ( | int | prefix, |
RexxString * | stemName, | ||
RexxObject ** | tails, | ||
size_t | tailCount, | ||
RexxCompoundTail * | tail | ||
) |
Trace a compound variable entry that's of the form 'tag => "value"'.
prefix | The trace prefix tag to use. |
stem | The stem name of the compound. |
tails | The array of tail elements (unresolved). |
tailCount | The count of tail elements. |
value | The resolved tail element |
Definition at line 3696 of file RexxActivation.cpp.
References RexxCompoundTail::createCompoundName(), TRACE_PREFIX_COMPOUND, and VALUE_MARKER.
Referenced by traceCompound(), traceCompoundAssignment(), and traceCompoundName().
|
inline |
Definition at line 432 of file RexxActivation.hpp.
References ActivationSettings::intermediate_trace, settings, TRACE_PREFIX_DOTVARIABLE, traceTaggedValue(), and VALUE_MARKER.
Referenced by RexxDotVariable::evaluate().
void RexxActivation::traceEntry | ( | ) |
Trace program entry for a method or routine
Definition at line 3435 of file RexxActivation.cpp.
References activity, RexxActivity::buildMessage(), ActivationSettings::flags, RexxActivationBase::getExecutable(), RexxClass::getId(), RexxString::getLength(), getMessageName(), getPackage(), RexxString::getStringData(), INSTRUCTION_OVERHEAD, isMethod(), isRoutine(), Message_Translations_method_invocation, Message_Translations_routine_invocation, new_array(), OREF_NULL, PREFIX_LENGTH, PREFIX_OFFSET, RexxString::put(), raw_string(), RexxObject::requestString(), scope, RexxString::set(), settings, source_traced, TheNilObject, TRACE_PREFIX_INVOCATION, trace_prefix_table, and RexxActivity::traceOutput().
Referenced by run().
|
inline |
Definition at line 434 of file RexxActivation.hpp.
References ActivationSettings::intermediate_trace, settings, TRACE_PREFIX_FUNCTION, traceTaggedValue(), and VALUE_MARKER.
Referenced by RexxExpressionFunction::evaluate().
|
inline |
Definition at line 452 of file RexxActivation.hpp.
References ActivationSettings::flags, settings, trace_all, TRACE_PREFIX_CLAUSE, and traceClause().
Referenced by RexxInstructionAddress::execute(), RexxInstructionAssignment::execute(), RexxInstructionCall::execute(), RexxInstructionDo::execute(), RexxInstructionDrop::execute(), RexxInstructionElse::execute(), RexxInstructionEnd::execute(), RexxInstructionExit::execute(), RexxInstructionExpose::execute(), RexxInstructionForward::execute(), RexxInstructionGuard::execute(), RexxInstructionIf::execute(), RexxInstructionInterpret::execute(), RexxInstructionLeave::execute(), RexxInstructionMessage::execute(), RexxInstructionNop::execute(), RexxInstructionNumeric::execute(), RexxInstructionOptions::execute(), RexxInstructionOtherwise::execute(), RexxInstructionParse::execute(), RexxInstructionProcedure::execute(), RexxInstructionQueue::execute(), RexxInstructionRaise::execute(), RexxInstructionReply::execute(), RexxInstructionReturn::execute(), RexxInstructionSay::execute(), RexxInstructionSelect::execute(), RexxInstructionSignal::execute(), RexxInstructionThen::execute(), RexxInstructionTrace::execute(), RexxInstructionUpper::execute(), RexxInstructionUseStrict::executeNamedArguments(), RexxInstructionUseStrict::executePositionalArguments(), and RexxInstructionDo::reExecute().
|
inline |
Definition at line 429 of file RexxActivation.hpp.
References ActivationSettings::intermediate_trace, settings, and traceValue().
Referenced by RexxExpressionMessage::assign(), RexxSourceLiteral::evaluate(), RexxInteger::evaluate(), RexxNumberString::evaluate(), RexxString::evaluate(), RexxExpressionFunction::evaluate(), RexxExpressionList::evaluate(), RexxExpressionMessage::evaluate(), RexxInstructionCall::execute(), RexxInstructionMessage::execute(), and RexxTrigger::parse().
|
inline |
Definition at line 453 of file RexxActivation.hpp.
References ActivationSettings::flags, settings, trace_labels, TRACE_PREFIX_CLAUSE, and traceClause().
Referenced by RexxInstructionLabel::execute().
|
inline |
Definition at line 436 of file RexxActivation.hpp.
References ActivationSettings::intermediate_trace, settings, TRACE_PREFIX_MESSAGE, traceTaggedValue(), and VALUE_MARKER.
Referenced by RexxExpressionMessage::evaluate().
|
inline |
Definition at line 438 of file RexxActivation.hpp.
References ActivationSettings::intermediate_trace, settings, TRACE_PREFIX_OPERATOR, and traceOperatorValue().
Referenced by RexxBinaryOperator::evaluate().
void RexxActivation::traceOperatorValue | ( | int | prefix, |
const char * | tag, | ||
RexxObject * | value | ||
) |
Trace an entry that's of the form 'tag => "value"'.
prefix | The trace prefix tag to use. |
tagPrefix | Any prefix string added to the tag. Use mostly for adding the "." to traced environment variables. |
quoteTag | Indicates whether the tag should be quoted or not. Operator names are quoted. |
tag | The tag name. |
value | The associated trace value. |
Definition at line 3622 of file RexxActivation.cpp.
References activity, code, ActivationSettings::flags, RexxString::getLength(), INDENT_SPACING, RexxCode::isTraceable(), OREF_NULL, PREFIX_LENGTH, PREFIX_OFFSET, RexxString::put(), RexxString::putChar(), QUOTES_OVERHEAD, raw_string(), RexxString::set(), settings, RexxObject::stringValue(), TRACE_OVERHEAD, trace_prefix_table, trace_suppress, ActivationSettings::traceindent, RexxActivity::traceOutput(), and VALUE_MARKER.
Referenced by traceOperator(), and tracePrefix().
|
inline |
Definition at line 440 of file RexxActivation.hpp.
References ActivationSettings::intermediate_trace, settings, TRACE_PREFIX_PREFIX, and traceOperatorValue().
Referenced by RexxUnaryOperator::evaluate().
|
inline |
Definition at line 448 of file RexxActivation.hpp.
References ActivationSettings::flags, settings, TRACE_PREFIX_RESULT, trace_results, and traceValue().
Referenced by RexxExpressionMessage::assign(), RexxInstructionDo::checkControl(), RexxInstructionDo::checkOver(), RexxInstructionDo::controlSetup(), RexxExpressionList::evaluate(), RexxExpressionLogical::evaluate(), RexxInstructionAddress::execute(), RexxInstructionAssignment::execute(), RexxInstructionCall::execute(), RexxInstructionCommand::execute(), RexxInstructionDo::execute(), RexxInstructionExit::execute(), RexxInstructionForward::execute(), RexxInstructionGuard::execute(), RexxInstructionIf::execute(), RexxInstructionInterpret::execute(), RexxInstructionMessage::execute(), RexxInstructionNumeric::execute(), RexxInstructionOptions::execute(), RexxInstructionQueue::execute(), RexxInstructionReply::execute(), RexxInstructionReturn::execute(), RexxInstructionSay::execute(), RexxInstructionSignal::execute(), RexxInstructionTrace::execute(), RexxInstructionUseStrict::executeNamedArguments(), RexxInstructionUseStrict::executePositionalArguments(), RexxTarget::next(), RexxTrigger::parse(), RexxInstructionDo::untilCondition(), and RexxInstructionDo::whileCondition().
RexxString * RexxActivation::traceSetting | ( | ) |
Definition at line 901 of file RexxActivation.cpp.
References RexxSource::formatTraceSetting(), settings, and ActivationSettings::traceOption.
Referenced by processTraceSetting().
void RexxActivation::traceSourceString | ( | ) |
Definition at line 3790 of file RexxActivation.cpp.
References activity, ActivationSettings::flags, RexxString::getLength(), RexxString::getStringData(), INSTRUCTION_OVERHEAD, PREFIX_LENGTH, PREFIX_OFFSET, RexxString::put(), RexxString::putChar(), raw_string(), RexxString::set(), settings, source_traced, sourceString(), TRACE_PREFIX_ERROR, trace_prefix_table, and RexxActivity::traceOutput().
Referenced by traceClause().
void RexxActivation::traceTaggedValue | ( | int | prefix, |
const char * | tagPrefix, | ||
bool | quoteTag, | ||
RexxString * | tag, | ||
const char * | marker, | ||
RexxObject * | value, | ||
bool | quoteValue = true |
||
) |
Trace an entry that's of the form 'tag => "value"'.
prefix | The trace prefix tag to use. |
tagPrefix | Any prefix string added to the tag. Use mostly for adding the "." to traced environment variables. |
quoteTag | Indicates whether the tag should be quoted or not. Operator names are quoted. |
tag | The tag name. |
value | The associated trace value. |
quoteValue | Indicates whether the value should be quoted or not. |
Definition at line 3523 of file RexxActivation.cpp.
References activity, code, ActivationSettings::flags, RexxString::getLength(), INDENT_SPACING, RexxCode::isTraceable(), OREF_NULL, PREFIX_LENGTH, PREFIX_OFFSET, RexxString::put(), RexxString::putChar(), QUOTES_OVERHEAD, raw_string(), RexxString::set(), settings, RexxObject::stringValue(), TRACE_OVERHEAD, trace_prefix_table, trace_suppress, ActivationSettings::traceindent, and RexxActivity::traceOutput().
Referenced by traceAssignment(), traceDotVariable(), traceFunction(), traceMessage(), and traceVariable().
void RexxActivation::traceValue | ( | RexxObject * | value, |
int | prefix | ||
) |
Definition at line 3473 of file RexxActivation.cpp.
References activity, code, ActivationSettings::flags, RexxString::getLength(), RexxString::getStringData(), INDENT_SPACING, RexxCode::isTraceable(), OREF_NULL, PREFIX_LENGTH, PREFIX_OFFSET, RexxString::put(), RexxString::putChar(), raw_string(), RexxString::set(), settings, RexxObject::stringValue(), TRACE_OVERHEAD, trace_prefix_table, trace_suppress, ActivationSettings::traceindent, and RexxActivity::traceOutput().
Referenced by command(), RexxInstructionCommand::execute(), traceIntermediate(), and traceResult().
|
inline |
Definition at line 430 of file RexxActivation.hpp.
References ActivationSettings::intermediate_trace, settings, TRACE_PREFIX_VARIABLE, traceTaggedValue(), and VALUE_MARKER.
Referenced by RexxStemVariable::evaluate(), and RexxParseVariable::evaluate().
|
inline |
Definition at line 457 of file RexxActivation.hpp.
References ActivationSettings::flags, settings, and trace_all.
|
inline |
Definition at line 456 of file RexxActivation.hpp.
References ActivationSettings::flags, settings, and trace_commands.
Referenced by command(), and RexxInstructionCommand::execute().
|
inline |
Definition at line 450 of file RexxActivation.hpp.
References ActivationSettings::flags, settings, and trace_errors.
Referenced by command().
|
inline |
Definition at line 451 of file RexxActivation.hpp.
References ActivationSettings::flags, settings, and trace_failures.
Referenced by command().
|
inline |
Definition at line 449 of file RexxActivation.hpp.
References ActivationSettings::flags, settings, and trace_all.
Referenced by RexxInstructionAssignment::execute().
|
inline |
Definition at line 404 of file RexxActivation.hpp.
References ActivationSettings::intermediate_trace, and settings.
Referenced by assignLocalCompoundVariable(), dropLocalCompoundVariable(), evaluateLocalCompoundVariable(), RexxCompoundVariable::expose(), and RexxTrigger::parse().
|
inline |
Definition at line 454 of file RexxActivation.hpp.
References ActivationSettings::flags, settings, and trace_labels.
Referenced by run().
|
inline |
Definition at line 406 of file RexxActivation.hpp.
References ActivationSettings::flags, settings, and trace_results.
Referenced by RexxTrigger::parse().
|
virtual |
Reimplemented from RexxActivationBase.
Definition at line 2353 of file RexxActivation.cpp.
References activity, RexxList::addLast(), RexxDirectory::at(), RexxActivity::callHaltClearExit(), clause_boundary, RexxActivity::clearCurrentCondition(), condition_queue, debug_pause, RexxActivity::displayDebug(), RexxMessage::error(), ActivationSettings::flags, forwarded, RexxArray::get(), RexxActivationBase::getPreviousStackFrame(), handler_queue, RexxActivationBase::isForwarded(), isInterpret(), isOfClass, RexxInstruction::isType(), KEYWORD_CALL, KEYWORD_SIGNAL, mergeTraps(), new_queue(), objnotify, OREF_NULL, parent, pending_count, RexxDirectory::put(), settings, RexxString::strCompare(), RexxActivationBase::trap(), ActivationSettings::traps, and unwindTrap().
Referenced by processTraps(), and raise().
void RexxActivation::trapDelay | ( | RexxString * | condition | ) |
Definition at line 2321 of file RexxActivation.cpp.
References RexxDirectory::at(), checkTrapTable(), OREF_NULL, RexxArray::put(), settings, and ActivationSettings::traps.
Referenced by RexxInstructionCall::trap().
void RexxActivation::trapOff | ( | RexxString * | condition | ) |
Definition at line 1662 of file RexxActivation.cpp.
References RexxDirectory::at(), checkTrapTable(), isInternalCall(), ActivationSettings::local_variables, OREF_NULL, RexxDirectory::remove(), RexxLocalVariables::setNovalueOff(), settings, RexxString::strCompare(), and ActivationSettings::traps.
Referenced by RexxInstructionCall::execute(), RexxInstructionSignal::execute(), and RexxInstructionSignal::trap().
void RexxActivation::trapOn | ( | RexxString * | condition, |
RexxInstructionCallBase * | handler | ||
) |
Definition at line 1642 of file RexxActivation.cpp.
References checkTrapTable(), ActivationSettings::local_variables, new_array(), RexxDirectory::put(), RexxLocalVariables::setNovalueOn(), settings, RexxString::strCompare(), and ActivationSettings::traps.
Referenced by RexxInstructionCall::execute(), and RexxInstructionSignal::execute().
RexxString * RexxActivation::trapState | ( | RexxString * | condition | ) |
Definition at line 2299 of file RexxActivation.cpp.
References RexxDirectory::at(), RexxArray::get(), OREF_NULL, settings, and ActivationSettings::traps.
Referenced by processTraps().
void RexxActivation::trapUndelay | ( | RexxString * | condition | ) |
Definition at line 2337 of file RexxActivation.cpp.
References RexxDirectory::at(), checkTrapTable(), OREF_NULL, RexxArray::put(), settings, and ActivationSettings::traps.
Referenced by RexxInstructionCall::trap().
|
inline |
Definition at line 401 of file RexxActivation.hpp.
References settings, and ActivationSettings::traceindent.
Referenced by RexxInstructionEndIf::execute(), RexxInstructionEnd::execute(), RexxInstructionDo::reExecute(), and removeBlock().
void RexxActivation::unwindTrap | ( | RexxActivation * | child | ) |
Definition at line 2562 of file RexxActivation.cpp.
References condition_queue, handler_queue, isInterpret(), mergeTraps(), parent, putSettings(), settings, and unwindTrap().
Referenced by trap(), and unwindTrap().
|
inline |
Definition at line 580 of file RexxActivation.hpp.
References ActivationSettings::local_variables, settings, and RexxLocalVariables::updateVariable().
Referenced by RexxStemVariable::procedureExpose().
void RexxActivation::yield | ( | ) |
Definition at line 3976 of file RexxActivation.cpp.
References clause_boundary, external_yield, ActivationSettings::flags, and settings.
Referenced by RexxActivity::yield().
|
friend |
Definition at line 165 of file RexxActivation.hpp.
|
protected |
Definition at line 692 of file RexxActivation.hpp.
Referenced by implicitExit(), inMethod(), isInternalCall(), isInternalLevelCall(), isInterpret(), isMethod(), isProgram(), isProgramLevelCall(), isProgramOrMethod(), isRoutine(), isTopLevel(), isTopLevelCall(), resolveDotVariable(), and RexxActivation().
|
protected |
Definition at line 670 of file RexxActivation.hpp.
Referenced by callExternalRexx(), callMacroSpaceFunction(), command(), debugInterpret(), debugPause(), exitFrom(), externalCall(), formatSourcelessTraceLine(), getActivity(), getEffectiveSecurityManager(), getLocalEnvironment(), getObjectVariables(), getRandomSeed(), getStackFrames(), getThreadLocal(), guardOff(), guardOn(), guardWait(), handleNovalueEvent(), implicitExit(), internalCall(), internalCallTrap(), interpret(), live(), liveGeneral(), loadRequires(), procedureExpose(), processClauseBoundary(), raise(), raiseExit(), resolveProgramName(), returnFrom(), RexxActivation(), run(), termination(), traceClause(), traceCompoundValue(), traceEntry(), traceOperatorValue(), traceSourceString(), traceTaggedValue(), traceValue(), and trap().
|
protected |
Definition at line 679 of file RexxActivation.hpp.
Referenced by debugInterpret(), dispatch(), forward(), getArguments(), getMethodArgumentCount(), interpret(), live(), liveGeneral(), run(), and setArguments().
|
protected |
Definition at line 677 of file RexxActivation.hpp.
Referenced by debugInterpret(), dispatch(), forward(), getArguments(), getMethodArgument(), getMethodArgumentList(), interpret(), live(), liveGeneral(), run(), and setArguments().
|
protected |
Definition at line 672 of file RexxActivation.hpp.
Referenced by createStackFrame(), debugInterpret(), dispatch(), interpret(), live(), liveGeneral(), run(), and setArguments().
|
protected |
Definition at line 702 of file RexxActivation.hpp.
Referenced by addBlock(), hasActiveBlocks(), newDo(), removeBlock(), signalTo(), and terminateBlock().
|
staticprotected |
Definition at line 731 of file RexxActivation.hpp.
Referenced by externalTraceOff(), externalTraceOn(), halt(), processClauseBoundary(), run(), trap(), and yield().
|
staticprotected |
Definition at line 735 of file RexxActivation.hpp.
Referenced by processClauseBoundary(), and run().
|
protected |
Definition at line 666 of file RexxActivation.hpp.
Referenced by debugInterpret(), debugPause(), getLabels(), getProgramName(), getPublicRoutines(), interpret(), live(), liveGeneral(), resolveProgramName(), RexxActivation(), run(), traceClause(), traceCompoundValue(), traceOperatorValue(), traceTaggedValue(), and traceValue().
|
protected |
Definition at line 699 of file RexxActivation.hpp.
Referenced by live(), liveGeneral(), mergeTraps(), processTraps(), run(), trap(), and unwindTrap().
|
protected |
Definition at line 688 of file RexxActivation.hpp.
Referenced by getContextObject(), live(), liveGeneral(), and termination().
|
protected |
Definition at line 682 of file RexxActivation.hpp.
Referenced by command(), currentLine(), debugInterpret(), debugPause(), getContextLine(), getContextLineNumber(), getCurrent(), getTraceBack(), internalCall(), internalCallTrap(), interpret(), live(), liveGeneral(), loadLibrary(), loadRequires(), rexxVariable(), run(), setCurrent(), and signalTo().
|
staticprotected |
Definition at line 729 of file RexxActivation.hpp.
Referenced by debugPause(), debugSkip(), exitFrom(), forward(), returnFrom(), and setTrace().
|
protected |
Definition at line 684 of file RexxActivation.hpp.
Referenced by command(), debugInterpret(), debugPause(), debugSkip(), inDebug(), RexxActivation(), run(), setTrace(), and trap().
|
staticprotected |
Definition at line 728 of file RexxActivation.hpp.
Referenced by debugPause(), and setTrace().
|
staticprotected |
Definition at line 723 of file RexxActivation.hpp.
Referenced by RexxSource::translate().
|
staticprotected |
Definition at line 724 of file RexxActivation.hpp.
Referenced by RexxSource::translate().
|
staticprotected |
Definition at line 718 of file RexxActivation.hpp.
Referenced by RexxSource::translate().
|
protected |
Definition at line 681 of file RexxActivation.hpp.
Referenced by live(), liveGeneral(), popBlock(), pushBlock(), signalTo(), terminateBlock(), and topBlock().
|
staticprotected |
Definition at line 745 of file RexxActivation.hpp.
Referenced by isElapsedTimerReset(), setElapsedTimerInvalid(), and setElapsedTimerValid().
|
protected |
Definition at line 695 of file RexxActivation.hpp.
Referenced by live(), liveGeneral(), popEnvironment(), pushEnvironment(), and termination().
|
protected |
Definition at line 690 of file RexxActivation.hpp.
Referenced by exitFrom(), forward(), implicitExit(), reply(), returnFrom(), RexxActivation(), run(), and signalTo().
|
staticprotected |
Definition at line 736 of file RexxActivation.hpp.
Referenced by processClauseBoundary(), and yield().
|
staticprotected |
Definition at line 737 of file RexxActivation.hpp.
Referenced by forward(), isForwarded(), and trap().
|
staticprotected |
Definition at line 746 of file RexxActivation.hpp.
Referenced by isGuarded(), and setGuarded().
|
staticprotected |
Definition at line 732 of file RexxActivation.hpp.
Referenced by halt(), and processClauseBoundary().
|
protected |
Definition at line 697 of file RexxActivation.hpp.
Referenced by live(), liveGeneral(), mergeTraps(), processTraps(), run(), trap(), and unwindTrap().
|
protected |
Definition at line 703 of file RexxActivation.hpp.
|
protected |
Definition at line 680 of file RexxActivation.hpp.
Referenced by debugInterpret(), dispatch(), forward(), getMethodNamedArgumentCount(), interpret(), live(), liveGeneral(), run(), and setArguments().
|
protected |
Definition at line 683 of file RexxActivation.hpp.
Referenced by debugPause(), exitFrom(), forward(), getNext(), live(), liveGeneral(), reply(), returnFrom(), run(), setNext(), and signalTo().
|
protected |
Definition at line 685 of file RexxActivation.hpp.
Referenced by getObjectVariables(), guardOff(), guardOn(), guardWait(), isObjectScopeLocked(), RexxActivation(), and run().
|
protected |
Definition at line 693 of file RexxActivation.hpp.
Referenced by live(), liveGeneral(), setObjNotify(), and trap().
|
protected |
Definition at line 671 of file RexxActivation.hpp.
Referenced by cleanupLocalVariables(), external(), getContextLine(), getContextLineNumber(), getRandomSeed(), getReceiver(), live(), liveGeneral(), popEnvironment(), procedureExpose(), propagateNumericSettings(), pushEnvironment(), raiseExit(), resolveDotVariable(), returnFrom(), RexxActivation(), rexxVariable(), run(), setDigits(), setForm(), setFuzz(), signalTo(), trap(), and unwindTrap().
|
protected |
Definition at line 696 of file RexxActivation.hpp.
Referenced by mergeTraps(), processClauseBoundary(), processTraps(), run(), and trap().
|
staticprotected |
Definition at line 730 of file RexxActivation.hpp.
Referenced by procedureExpose(), and run().
|
protected |
Definition at line 700 of file RexxActivation.hpp.
Referenced by adjustRandomSeed(), getRandomSeed(), and RexxActivation().
|
protected |
Definition at line 701 of file RexxActivation.hpp.
|
protected |
Definition at line 669 of file RexxActivation.hpp.
Referenced by createStackFrame(), debugInterpret(), dispatch(), forward(), getObjectVariables(), getReceiver(), getVariableDictionary(), guardOn(), internalCall(), live(), liveGeneral(), and run().
|
staticprotected |
Definition at line 738 of file RexxActivation.hpp.
Referenced by exitFrom(), forward(), reply(), returnFrom(), and RexxActivation().
|
protected |
Definition at line 686 of file RexxActivation.hpp.
Referenced by exitFrom(), forward(), live(), liveGeneral(), reply(), returnFrom(), and run().
|
staticprotected |
Definition at line 742 of file RexxActivation.hpp.
Referenced by getContextReturnStatus(), rexxVariable(), and setReturnStatus().
|
protected |
Definition at line 668 of file RexxActivation.hpp.
Referenced by formatSourcelessTraceLine(), getObjectVariables(), getVariableDictionary(), guardOn(), live(), RexxActivation(), run(), and traceEntry().
|
staticprotected |
Definition at line 740 of file RexxActivation.hpp.
Referenced by externalTraceOff(), and processClauseBoundary().
|
staticprotected |
Definition at line 739 of file RexxActivation.hpp.
Referenced by externalTraceOn(), and processClauseBoundary().
|
protected |
Definition at line 664 of file RexxActivation.hpp.
Referenced by addLocalRoutine(), callExternalRexx(), checkTrapTable(), cleanupLocalVariables(), clearTraceSettings(), closeStreams(), conditionalPauseInstruction(), debugInterpret(), debugPause(), debugSkip(), digits(), dispatch(), enableCommands(), enableMacrospace(), exitFrom(), externalCall(), externalTraceOff(), externalTraceOn(), form(), formatTrace(), forward(), fuzz(), getAddress(), getCallname(), getConditionObj(), getContextReturnStatus(), getEffectiveSecurityManager(), getElapsed(), getIndent(), getLocalStemVariable(), getLocalVariable(), getLocalVariables(), getMessageName(), getNumericSettings(), getObjectVariables(), getProgramArgument(), getProgramArgumentCount(), getProgramArgumentlist(), getProgramNamedArgumentCount(), getSecurityManager(), getSettings(), getStreams(), getTime(), guardOff(), guardOn(), guardWait(), halt(), inDebug(), indent(), internalCall(), internalCallTrap(), isElapsedTimerReset(), isExternalTraceOn(), isForwarded(), isGuarded(), live(), liveGeneral(), localStemVariableExists(), localVariableExists(), newDo(), novalueEnabled(), pauseCommand(), pauseInstruction(), pauseLabel(), procedureExpose(), processClauseBoundary(), propagateNumericSettings(), putLocalVariable(), putSettings(), reply(), returnFrom(), RexxActivation(), rexxVariable(), run(), setAddress(), setCallType(), setConditionObj(), setDefaultAddress(), setDigits(), setElapsedTimerInvalid(), setElapsedTimerValid(), setExternalTraceOff(), setExternalTraceOn(), setForm(), setFuzz(), setGuarded(), setIndent(), setLocalVariableDictionary(), setReturnStatus(), setTrace(), signalTo(), sourceString(), terminateBlock(), toggleAddress(), traceAssignment(), traceClause(), traceCommand(), traceCompound(), traceCompoundAssignment(), traceCompoundName(), traceCompoundValue(), traceDotVariable(), traceEntry(), traceFunction(), traceInstruction(), traceIntermediate(), traceLabel(), traceMessage(), traceOperator(), traceOperatorValue(), tracePrefix(), traceResult(), traceSetting(), traceSourceString(), traceTaggedValue(), traceValue(), traceVariable(), tracingAll(), tracingCommands(), tracingErrors(), tracingFailures(), tracingInstructions(), tracingIntermediates(), tracingLabels(), tracingResults(), trap(), trapDelay(), trapOff(), trapOn(), trapState(), trapUndelay(), unindent(), unwindTrap(), updateLocalVariable(), and yield().
|
staticprotected |
Definition at line 726 of file RexxActivation.hpp.
|
staticprotected |
Definition at line 727 of file RexxActivation.hpp.
|
staticprotected |
Definition at line 734 of file RexxActivation.hpp.
Referenced by traceClause(), traceEntry(), and traceSourceString().
|
protected |
Definition at line 667 of file RexxActivation.hpp.
Referenced by getEffectivePackageObject(), getEffectiveSourceObject(), getPackageObject(), getSourceObject(), RexxActivation(), setDigits(), setForm(), and setFuzz().
|
protected |
Definition at line 665 of file RexxActivation.hpp.
Referenced by callExternalRexx(), expose(), getStack(), internalCallTrap(), iterate(), live(), liveGeneral(), procedureExpose(), RexxActivation(), run(), and termination().
|
staticprotected |
Definition at line 709 of file RexxActivation.hpp.
Referenced by conditionalPauseInstruction(), pauseInstruction(), processTraceSetting(), traceInstruction(), tracingAll(), and tracingInstructions().
|
staticprotected |
Definition at line 719 of file RexxActivation.hpp.
|
staticprotected |
Definition at line 712 of file RexxActivation.hpp.
Referenced by pauseCommand(), processTraceSetting(), traceCommand(), and tracingCommands().
|
staticprotected |
Definition at line 708 of file RexxActivation.hpp.
Referenced by conditionalPauseInstruction(), enableExternalTrace(), exitFrom(), externalTraceOn(), forward(), inDebug(), pauseCommand(), pauseInstruction(), pauseLabel(), processClauseBoundary(), processTraceSetting(), returnFrom(), setTrace(), and traceClause().
|
staticprotected |
Definition at line 714 of file RexxActivation.hpp.
Referenced by processTraceSetting(), and tracingErrors().
|
staticprotected |
Definition at line 715 of file RexxActivation.hpp.
Referenced by processTraceSetting(), and tracingFailures().
|
staticprotected |
Definition at line 717 of file RexxActivation.hpp.
Referenced by clearTraceSettings(), and setTrace().
|
staticprotected |
Definition at line 711 of file RexxActivation.hpp.
Referenced by processTraceSetting(), and setTrace().
|
staticprotected |
Definition at line 721 of file RexxActivation.hpp.
|
staticprotected |
Definition at line 713 of file RexxActivation.hpp.
Referenced by pauseLabel(), processTraceSetting(), traceLabel(), and tracingLabels().
|
staticprotected |
Definition at line 707 of file RexxActivation.hpp.
Referenced by processClauseBoundary(), and processTraceSetting().
|
staticprotected |
Definition at line 733 of file RexxActivation.hpp.
Referenced by isExternalTraceOn(), setExternalTraceOff(), and setExternalTraceOn().
|
staticprotected |
Definition at line 710 of file RexxActivation.hpp.
Referenced by processTraceSetting(), traceResult(), and tracingResults().
|
staticprotected |
Definition at line 720 of file RexxActivation.hpp.
Referenced by enableExternalTrace(), externalTraceOn(), and processClauseBoundary().
|
staticprotected |
Definition at line 716 of file RexxActivation.hpp.
Referenced by debugPause(), debugSkip(), setTrace(), traceClause(), traceCompoundValue(), traceOperatorValue(), traceTaggedValue(), and traceValue().
|
staticprotected |
Definition at line 743 of file RexxActivation.hpp.
Referenced by run().
|
protected |
Definition at line 687 of file RexxActivation.hpp.
Referenced by live(), and liveGeneral().
|
staticprotected |
Definition at line 741 of file RexxActivation.hpp.
Referenced by checkTrapTable(), and RexxActivation().