ooRexx  4.2.0-source
About: ooRexx (Open Object Rexx) is a free implementation of Object Rexx. Object Rexx is an enhancement of the classic Rexx interpreter; a full-featured programming language with a human-oriented syntax.
  Fossies Dox: ooRexx-4.2.0-source.tar.gz  ("inofficial" and yet experimental doxygen-generated source code documentation)  

RexxNativeActivation.hpp
Go to the documentation of this file.
1 /*----------------------------------------------------------------------------*/
2 /* */
3 /* Copyright (c) 1995, 2004 IBM Corporation. All rights reserved. */
4 /* Copyright (c) 2005-2009 Rexx Language Association. All rights reserved. */
5 /* */
6 /* This program and the accompanying materials are made available under */
7 /* the terms of the Common Public License v1.0 which accompanies this */
8 /* distribution. A copy is also available at the following address: */
9 /* http://www.oorexx.org/license.html */
10 /* */
11 /* Redistribution and use in source and binary forms, with or */
12 /* without modification, are permitted provided that the following */
13 /* conditions are met: */
14 /* */
15 /* Redistributions of source code must retain the above copyright */
16 /* notice, this list of conditions and the following disclaimer. */
17 /* Redistributions in binary form must reproduce the above copyright */
18 /* notice, this list of conditions and the following disclaimer in */
19 /* the documentation and/or other materials provided with the distribution. */
20 /* */
21 /* Neither the name of Rexx Language Association nor the names */
22 /* of its contributors may be used to endorse or promote products */
23 /* derived from this software without specific prior written permission. */
24 /* */
25 /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
26 /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
27 /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
28 /* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */
29 /* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
30 /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */
31 /* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
32 /* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY */
33 /* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
34 /* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */
35 /* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
36 /* */
37 /*----------------------------------------------------------------------------*/
38 /******************************************************************************/
39 /* REXX Kernel RexxNativeActivation.hpp */
40 /* */
41 /* Primitive Native Activation Class Definitions */
42 /* */
43 /******************************************************************************/
44 #ifndef Included_RexxNativeActivation
45 #define Included_RexxNativeActivation
46 
47 #include "RexxActivity.hpp"
48 class RexxNativeCode;
49 class ActivityDispatcher;
50 class CallbackDispatcher;
51 class TrappingDispatcher;
52 class RexxNativeMethod;
53 class RexxNativeRoutine;
54 class RegisteredRoutine;
55 class RexxStem;
56 class RexxSupplier;
57 class StackFrameClass;
58 class RexxIdentityTable;
59 
60 #define MAX_NATIVE_ARGUMENTS 16
61 
63 {
64  public:
65  void *operator new(size_t);
66  inline void *operator new(size_t size, void *ptr) {return ptr;};
67  inline void operator delete(void *, void *) { ; }
68  inline void operator delete(void *) { ; }
69 
70  inline RexxNativeActivation(RESTORETYPE restoreType) { ; };
72  RexxNativeActivation(RexxActivity *_activity, RexxActivation *_activation);
74  void live(size_t);
75  void liveGeneral(int reason);
76  void run(RexxMethod *_method, RexxNativeMethod *_code, RexxObject *_receiver,
77  RexxString *_msgname, RexxObject **_arglist, size_t _argcount, ProtectedObject &resultObj);
78  void run(ActivityDispatcher &dispatcher);
79  void run(CallbackDispatcher &dispatcher);
80  void run(TrappingDispatcher &dispatcher);
82  bool isInteger(RexxObject *);
83  wholenumber_t signedIntegerValue(RexxObject *o, size_t position, wholenumber_t maxValue, wholenumber_t minValue);
84  stringsize_t unsignedIntegerValue(RexxObject *o, size_t position, stringsize_t maxValue);
85  int64_t int64Value(RexxObject *o, size_t position);
86  uint64_t unsignedInt64Value(RexxObject *o, size_t position);
87  const char *cstring(RexxObject *);
88  double getDoubleValue(RexxObject *, size_t position);
89  bool isDouble(RexxObject *);
90  void *cself();
91  void *buffer();
92  void *pointer(RexxObject *);
93  void *pointerString(RexxObject *object, size_t position);
95  size_t digits();
96  size_t fuzz();
97  bool form();
98  void setDigits(size_t);
99  void setFuzz(size_t);
100  void setForm(bool);
101  void guardOff();
102  void guardOn();
103  void enableVariablepool();
104  void disableVariablepool();
105  bool trap (RexxString *, RexxDirectory *);
106  void resetNext();
107  bool fetchNext(RexxString **name, RexxObject **value);
108  void raiseCondition(RexxString *condition, RexxString *description, RexxObject *additional, RexxObject *result);
110  RexxObject *getArgument(size_t index);
111  RexxObject *getSuper();
112  RexxObject *getScope();
114  RexxClass *findClass(RexxString *className);
115  RexxClass *findCallerClass(RexxString *className);
116 
117  inline void termination() { this->guardOff();}
118 
119  void accessCallerContext();
120  inline bool getVpavailable() {return this->vpavailable;}
121  inline RexxString *getMessageName() {return this->msgname;}
122  inline size_t nextVariable() {return this->nextvariable;}
123  inline RexxVariable *nextStem() {return this->nextstem;}
125  RexxObject *getContextVariable(const char *name);
126  void dropContextVariable(const char *name);
127  void setContextVariable(const char *name, RexxObject *value);
128  RexxObject *getObjectVariable(const char *name);
129  void setObjectVariable(const char *name, RexxObject *value);
130  void dropObjectVariable(const char *name);
132  inline void setConditionInfo(RexxDirectory *info) { conditionObj = info; }
134  inline void clearException() { conditionObj = OREF_NULL; }
135  void checkConditions();
138  inline void setNextVariable(size_t value) {this->nextvariable = value;}
139  inline void setNextCurrent(RexxVariableDictionary *vdict) {this->nextcurrent = vdict;}
140  inline void setNextStem(RexxVariable *stemVar) {this->nextstem = stemVar;}
141  inline void setCompoundElement(RexxCompoundElement *element) {this->compoundelement = element;}
142  inline RexxObject *getSelf() { return receiver; }
143  inline RexxActivity *getActivity() { return activity; }
144  virtual bool isStackBase();
145  virtual RexxActivation *getRexxContext();
148  virtual RexxActivation *findRexxContext();
150  virtual RexxObject *getReceiver();
153  inline void setStackBase() { stackBase = true; }
154  void reportSignatureError();
155  void reportStemError(size_t position, RexxObject *object);
156  void processArguments(size_t argcount, RexxObject **arglist, uint16_t *argumentTypes, ValueDescriptor *descriptors, size_t maximumArgumentCount);
158  RexxArray *valuesToObject(ValueDescriptor *value, size_t count);
159  bool objectToValue(RexxObject *o, ValueDescriptor *value);
160  void createLocalReference(RexxObject *objr);
161  void removeLocalReference(RexxObject *objr);
162  void callNativeRoutine(RoutineClass *routine, RexxNativeRoutine *code, RexxString *functionName,
163  RexxObject **list, size_t count, ProtectedObject &result);
164  void callRegisteredRoutine(RoutineClass *routine, RegisteredRoutine *code, RexxString *functionName,
165  RexxObject **list, size_t count, ProtectedObject &resultObj);
166 
168  RexxVariableBase *variablePoolGetVariable(PSHVBLOCK pshvblock, bool symbolic);
169  void variablePoolFetchVariable(PSHVBLOCK pshvblock);
170  void variablePoolSetVariable(PSHVBLOCK pshvblock);
171  void variablePoolDropVariable(PSHVBLOCK pshvblock);
172  void variablePoolNextVariable(PSHVBLOCK pshvblock);
173  void variablePoolFetchPrivate(PSHVBLOCK pshvblock);
174  void variablePoolRequest(PSHVBLOCK pshvblock);
175  RexxReturnCode copyValue(RexxObject * value, RXSTRING *rxstring, size_t *length);
176  RexxReturnCode copyValue(RexxObject * value, CONSTRXSTRING *rxstring, size_t *length);
177  int stemSort(const char *stemname, int order, int type, size_t start, size_t end, size_t firstcol, size_t lastcol);
178  inline void enableConditionTrap() { trapConditions = true; }
179 
181  void enableConditionTraps() { trapErrors = true; }
182  void disableConditionTraps() { trapErrors = false; }
184 
185 protected:
186 
187  typedef enum
188  {
189  PROGRAM_ACTIVATION, // toplevel program entry
190  METHOD_ACTIVATION, // normal method call
191  FUNCTION_ACTIVATION, // function call activation
192  DISPATCHER_ACTIVATION, // running a top-level dispatcher
193  CALLBACK_ACTIVATION, // running a callback, such as an exit
194  TRAPPING_ACTIVATION, // running a protected method call, such as an uninit
195  } ActivationType;
196 
197  RexxActivity *activity; /* current activity */
198  RexxNativeCode *code; // the code object controlling the target
199  RexxObject *receiver; // the object receiving the message
200  RexxString *msgname; /* name of the message running */
201  RexxActivation *activation; /* parent activation */
202  RexxObject **arglist; /* copy of the argument list */
203  RexxArray *argArray; /* optionally create argument array */
204  RexxIdentityTable *savelist; /* list of saved objects */
205  RexxObject *result; /* result from RexxRaise call */
206  ActivationType activationType; // the type of activation
207  RexxDirectory *conditionObj; // potential condition object
208  SecurityManager *securityManager; // our active security manager
209  /* running object variable pool */
211  size_t nextvariable; /* next variable to retrieve */
212  RexxVariableDictionary *nextcurrent; /* current processed vdict */
213  RexxCompoundElement *compoundelement;/* current compound variable value */
214  RexxVariable *nextstem; /* our working stem variable */
215  size_t argcount; /* size of the argument list */
216  bool vpavailable; /* Variable pool access flag */
217  int object_scope; /* reserve/release state of variables*/
218  bool stackBase; // this is a stack base marker
219  bool trapErrors; // we're trapping errors from external callers
220  bool trapConditions; // trap any raised conditions
221 };
222 #endif
RexxNativeActivation::enableVariablepool
void enableVariablepool()
Definition: RexxNativeActivation.cpp:2265
RegisteredRoutine
Definition: RexxNativeCode.hpp:130
CallbackDispatcher
Definition: CallbackDispatcher.hpp:47
RexxNativeActivation::FUNCTION_ACTIVATION
Definition: RexxNativeActivation.hpp:191
RexxNativeActivation::getRexxContextObject
RexxObject * getRexxContextObject()
Definition: RexxNativeActivation.cpp:2159
RexxNativeActivation::getSelf
RexxObject * getSelf()
Definition: RexxNativeActivation.hpp:142
RexxArray
Definition: ArrayClass.hpp:100
RexxNativeActivation::termination
void termination()
Definition: RexxNativeActivation.hpp:117
RexxCompoundElement
Definition: RexxCompoundElement.hpp:50
RexxNativeActivation::guardOff
void guardOff()
Definition: RexxNativeActivation.cpp:2223
RexxNativeActivation::METHOD_ACTIVATION
Definition: RexxNativeActivation.hpp:190
NumericSettings
Definition: Numerics.hpp:49
RexxNativeActivation::variablePoolSetVariable
void variablePoolSetVariable(PSHVBLOCK pshvblock)
Definition: RexxNativeActivation.cpp:2925
RexxNativeActivation::nextCurrent
RexxVariableDictionary * nextCurrent()
Definition: RexxNativeActivation.hpp:136
RexxNativeActivation::checkConditions
void checkConditions()
Definition: RexxNativeActivation.cpp:1713
RexxNativeActivation::variablePoolNextVariable
void variablePoolNextVariable(PSHVBLOCK pshvblock)
Definition: RexxNativeActivation.cpp:2989
RexxNativeActivation::setNextStem
void setNextStem(RexxVariable *stemVar)
Definition: RexxNativeActivation.hpp:140
RexxNativeActivation::objectVariables
RexxVariableDictionary * objectVariables
Definition: RexxNativeActivation.hpp:210
ActivityDispatcher
Definition: ActivityDispatcher.hpp:47
RexxNativeActivation::guardOn
void guardOn()
Definition: RexxNativeActivation.cpp:2238
type
int type
Definition: cmdparse.cpp:1965
RexxNativeActivation::savelist
RexxIdentityTable * savelist
Definition: RexxNativeActivation.hpp:204
RexxNativeActivation::getSourceObject
RexxSource * getSourceObject()
Definition: RexxNativeActivation.cpp:2770
RexxNativeActivation::variablePoolFetchVariable
void variablePoolFetchVariable(PSHVBLOCK pshvblock)
Definition: RexxNativeActivation.cpp:2884
RexxNativeActivation::stemSort
int stemSort(const char *stemname, int order, int type, size_t start, size_t end, size_t firstcol, size_t lastcol)
Definition: RexxNativeActivation.cpp:3212
StackFrameClass
Definition: StackFrameClass.hpp:59
RexxNativeActivation::trapConditions
bool trapConditions
Definition: RexxNativeActivation.hpp:220
RexxNativeActivation::signedIntegerValue
wholenumber_t signedIntegerValue(RexxObject *o, size_t position, wholenumber_t maxValue, wholenumber_t minValue)
Definition: RexxNativeActivation.cpp:1812
RexxNativeActivation::unsignedInt64Value
uint64_t unsignedInt64Value(RexxObject *o, size_t position)
Definition: RexxNativeActivation.cpp:1877
RexxNativeActivation::disableVariablepool
void disableVariablepool()
Definition: RexxNativeActivation.cpp:2274
RexxNativeActivation::createStackFrame
StackFrameClass * createStackFrame()
Definition: RexxNativeActivation.cpp:3307
RexxNativeActivation::vpavailable
bool vpavailable
Definition: RexxNativeActivation.hpp:216
RexxReturnCode
int RexxReturnCode
Definition: rexx.h:73
RexxNativeActivation::object_scope
int object_scope
Definition: RexxNativeActivation.hpp:217
RoutineClass
Definition: RoutineClass.hpp:49
RexxNativeActivation::nextVariable
size_t nextVariable()
Definition: RexxNativeActivation.hpp:122
RexxNativeActivation::setContextVariable
void setContextVariable(const char *name, RexxObject *value)
Definition: RexxNativeActivation.cpp:2583
RexxNativeActivation::valueToObject
RexxObject * valueToObject(ValueDescriptor *value)
Definition: RexxNativeActivation.cpp:697
RexxNativeActivation::methodVariables
RexxVariableDictionary * methodVariables()
Definition: RexxNativeActivation.cpp:1758
RexxNativeActivation::run
void run(RexxMethod *_method, RexxNativeMethod *_code, RexxObject *_receiver, RexxString *_msgname, RexxObject **_arglist, size_t _argcount, ProtectedObject &resultObj)
Definition: RexxNativeActivation.cpp:1211
RexxNativeActivation::nextStem
RexxVariable * nextStem()
Definition: RexxNativeActivation.hpp:123
RexxNativeActivation::int64Value
int64_t int64Value(RexxObject *o, size_t position)
Definition: RexxNativeActivation.cpp:1856
ValueDescriptor
Definition: oorexxapi.h:261
RexxNativeActivation::setStackBase
void setStackBase()
Definition: RexxNativeActivation.hpp:153
RexxNativeActivation::form
bool form()
Definition: RexxNativeActivation.cpp:2033
RexxNativeActivation::getActivity
RexxActivity * getActivity()
Definition: RexxNativeActivation.hpp:143
RexxNativeActivation::receiver
RexxObject * receiver
Definition: RexxNativeActivation.hpp:199
RexxVariableDictionary
Definition: RexxVariableDictionary.hpp:55
RexxVariableBase
Definition: ExpressionBaseVariable.hpp:47
RexxNativeCode
Definition: RexxNativeCode.hpp:50
RexxNativeActivation::dropContextVariable
void dropContextVariable(const char *name)
Definition: RexxNativeActivation.cpp:2604
RexxNativeActivation::cstring
const char * cstring(RexxObject *)
Definition: RexxNativeActivation.cpp:1890
RexxNativeActivation::PROGRAM_ACTIVATION
Definition: RexxNativeActivation.hpp:189
RexxNativeActivation::isStackBase
virtual bool isStackBase()
Definition: RexxNativeActivation.cpp:2116
RexxNativeActivation::removeLocalReference
void removeLocalReference(RexxObject *objr)
Definition: RexxNativeActivation.cpp:1185
RexxSupplier
Definition: SupplierClass.hpp:47
RexxNativeActivation::unsignedIntegerValue
stringsize_t unsignedIntegerValue(RexxObject *o, size_t position, stringsize_t maxValue)
Definition: RexxNativeActivation.cpp:1835
RexxActivationBase
Definition: ObjectClass.hpp:574
RexxNativeActivation::dispatch
RexxObject * dispatch()
Definition: RexxNativeActivation.cpp:1991
RexxNativeActivation::reportStemError
void reportStemError(size_t position, RexxObject *object)
Definition: RexxNativeActivation.cpp:192
TrappingDispatcher
Definition: TrappingDispatcher.hpp:47
RexxNativeActivation::disableConditionTraps
void disableConditionTraps()
Definition: RexxNativeActivation.hpp:182
RexxNativeActivation::setForm
void setForm(bool)
Definition: RexxNativeActivation.cpp:2075
RexxNativeActivation::getSuper
RexxObject * getSuper()
Definition: RexxNativeActivation.cpp:2483
RexxNativeActivation::getVpavailable
bool getVpavailable()
Definition: RexxNativeActivation.hpp:120
RexxNativeActivation::arglist
RexxObject ** arglist
Definition: RexxNativeActivation.hpp:202
RexxNativeActivation::securityManager
SecurityManager * securityManager
Definition: RexxNativeActivation.hpp:208
RexxNativeActivation::callNativeRoutine
void callNativeRoutine(RoutineClass *routine, RexxNativeRoutine *code, RexxString *functionName, RexxObject **list, size_t count, ProtectedObject &result)
Definition: RexxNativeActivation.cpp:1303
RexxNativeActivation::enableConditionTrap
void enableConditionTrap()
Definition: RexxNativeActivation.hpp:178
RexxNativeActivation::trapErrors
bool trapErrors
Definition: RexxNativeActivation.hpp:219
RexxNativeActivation::compoundElement
RexxCompoundElement * compoundElement()
Definition: RexxNativeActivation.hpp:137
RexxSource
Definition: SourceFile.hpp:131
RexxNativeActivation::getDoubleValue
double getDoubleValue(RexxObject *, size_t position)
Definition: RexxNativeActivation.cpp:1929
RexxStem
Definition: StemClass.hpp:70
RexxNativeActivation::setConditionInfo
void setConditionInfo(RexxDirectory *info)
Definition: RexxNativeActivation.hpp:132
RexxNativeActivation::setNextVariable
void setNextVariable(size_t value)
Definition: RexxNativeActivation.hpp:138
OREF_NULL
#define OREF_NULL
Definition: RexxCore.h:60
RexxNativeActivation::live
void live(size_t)
Definition: RexxNativeActivation.cpp:113
RexxNativeActivation::msgname
RexxString * msgname
Definition: RexxNativeActivation.hpp:200
RexxNativeActivation::getContextStem
RexxObject * getContextStem(RexxString *name)
Definition: RexxNativeActivation.cpp:2523
RexxNativeActivation::fuzz
size_t fuzz()
Definition: RexxNativeActivation.cpp:2017
RexxActivity
Definition: RexxActivity.hpp:127
RexxNativeActivation::RexxNativeActivation
RexxNativeActivation(RESTORETYPE restoreType)
Definition: RexxNativeActivation.hpp:70
_RXSTRING
Definition: rexx.h:156
RexxNativeActivation::activation
RexxActivation * activation
Definition: RexxNativeActivation.hpp:201
RexxNativeActivation::cself
void * cself()
Definition: RexxNativeActivation.cpp:1956
RexxNativeActivation::stackBase
bool stackBase
Definition: RexxNativeActivation.hpp:218
RexxDirectory
Definition: DirectoryClass.hpp:49
RexxNativeActivation::CALLBACK_ACTIVATION
Definition: RexxNativeActivation.hpp:193
RexxNativeActivation::findCallerClass
RexxClass * findCallerClass(RexxString *className)
Definition: RexxNativeActivation.cpp:2742
RexxNativeActivation::variablePoolDropVariable
void variablePoolDropVariable(PSHVBLOCK pshvblock)
Definition: RexxNativeActivation.cpp:2957
RexxClass
Definition: ClassClass.hpp:49
RexxNativeActivation::getReceiver
virtual RexxObject * getReceiver()
Definition: RexxNativeActivation.cpp:2201
RexxNativeActivation::enableConditionTraps
void enableConditionTraps()
Definition: RexxNativeActivation.hpp:181
RexxNativeActivation::argcount
size_t argcount
Definition: RexxNativeActivation.hpp:215
RexxNativeActivation::findRexxContext
virtual RexxActivation * findRexxContext()
Definition: RexxNativeActivation.cpp:2177
RexxNativeActivation::nextcurrent
RexxVariableDictionary * nextcurrent
Definition: RexxNativeActivation.hpp:212
ProtectedObject
Definition: ProtectedObject.hpp:46
RexxNativeActivation::getConditionInfo
RexxDirectory * getConditionInfo()
Definition: RexxNativeActivation.hpp:133
RexxNativeActivation::compoundelement
RexxCompoundElement * compoundelement
Definition: RexxNativeActivation.hpp:213
RexxNativeActivation::argArray
RexxArray * argArray
Definition: RexxNativeActivation.hpp:203
RexxNativeActivation::createLocalReference
void createLocalReference(RexxObject *objr)
Definition: RexxNativeActivation.cpp:1162
RexxNativeActivation::buffer
void * buffer()
RexxNativeActivation::resolveStemVariable
RexxStem * resolveStemVariable(RexxObject *s)
Definition: RexxNativeActivation.cpp:2508
RexxNativeActivation::code
RexxNativeCode * code
Definition: RexxNativeActivation.hpp:198
_SHVBLOCK
Definition: rexx.h:204
RexxNativeActivation::RexxNativeActivation
RexxNativeActivation()
Definition: RexxNativeActivation.cpp:80
RexxNativeActivation::conditionObj
RexxDirectory * conditionObj
Definition: RexxNativeActivation.hpp:207
RexxNativeActivation::getScope
RexxObject * getScope()
Definition: RexxNativeActivation.cpp:2493
RexxNativeActivation::activationType
ActivationType activationType
Definition: RexxNativeActivation.hpp:206
RexxNativeActivation::setDigits
void setDigits(size_t)
Definition: RexxNativeActivation.cpp:2049
RexxNativeActivation::fetchNext
bool fetchNext(RexxString **name, RexxObject **value)
Definition: RexxNativeActivation.cpp:2295
RexxNativeActivation::processArguments
void processArguments(size_t argcount, RexxObject **arglist, uint16_t *argumentTypes, ValueDescriptor *descriptors, size_t maximumArgumentCount)
Definition: RexxNativeActivation.cpp:219
RexxNativeActivation::isInteger
bool isInteger(RexxObject *)
Definition: RexxNativeActivation.cpp:1792
RexxNativeActivation::pointer
void * pointer(RexxObject *)
Definition: RexxNativeActivation.cpp:1976
RexxNativeActivation::setCompoundElement
void setCompoundElement(RexxCompoundElement *element)
Definition: RexxNativeActivation.hpp:141
RexxNativeActivation::accessCallerContext
void accessCallerContext()
Definition: RexxNativeActivation.cpp:1703
RexxNativeActivation::getArguments
RexxArray * getArguments()
Definition: RexxNativeActivation.cpp:2447
RexxNativeActivation::liveGeneral
void liveGeneral(int reason)
Definition: RexxNativeActivation.cpp:144
SecurityManager
Definition: SecurityManager.hpp:52
RexxNativeActivation::variablePoolGetVariable
RexxVariableBase * variablePoolGetVariable(PSHVBLOCK pshvblock, bool symbolic)
Definition: RexxNativeActivation.cpp:2844
RexxNativeActivation::isDouble
bool isDouble(RexxObject *)
Definition: RexxNativeActivation.cpp:1945
RexxNativeActivation::clearException
void clearException()
Definition: RexxNativeActivation.hpp:134
BaseExecutable
Definition: MethodClass.hpp:82
RexxActivation
Definition: RexxActivation.hpp:156
RexxNativeActivation::getRexxContextExecutable
BaseExecutable * getRexxContextExecutable()
Definition: RexxNativeActivation.cpp:2141
RexxNativeActivation::callRegisteredRoutine
void callRegisteredRoutine(RoutineClass *routine, RegisteredRoutine *code, RexxString *functionName, RexxObject **list, size_t count, ProtectedObject &resultObj)
Definition: RexxNativeActivation.cpp:1390
RexxNativeActivation::findClass
RexxClass * findClass(RexxString *className)
Definition: RexxNativeActivation.cpp:2712
wholenumber_t
ssize_t wholenumber_t
Definition: rexx.h:229
RexxNativeActivation::variablePoolFetchPrivate
void variablePoolFetchPrivate(PSHVBLOCK pshvblock)
Definition: RexxNativeActivation.cpp:3013
RexxNativeMethod
Definition: RexxNativeCode.hpp:72
RexxNativeActivation::getNumericSettings
virtual NumericSettings * getNumericSettings()
Definition: RexxNativeActivation.cpp:2097
stringsize_t
size_t stringsize_t
Definition: rexx.h:228
RexxNativeActivation::getMessageName
RexxString * getMessageName()
Definition: RexxNativeActivation.hpp:121
RexxNativeActivation::pointerString
void * pointerString(RexxObject *object, size_t position)
Definition: RexxNativeActivation.cpp:1914
RexxNativeActivation::forwardMessage
void forwardMessage(RexxObject *to, RexxString *msg, RexxClass *super, RexxArray *args, ProtectedObject &result)
Definition: RexxNativeActivation.cpp:3274
RexxNativeActivation::trap
bool trap(RexxString *, RexxDirectory *)
Definition: RexxNativeActivation.cpp:2383
RexxNativeActivation
Definition: RexxNativeActivation.hpp:62
RexxNativeActivation::setNextCurrent
void setNextCurrent(RexxVariableDictionary *vdict)
Definition: RexxNativeActivation.hpp:139
RexxNativeActivation::variablePoolRequest
void variablePoolRequest(PSHVBLOCK pshvblock)
Definition: RexxNativeActivation.cpp:3091
RexxNativeActivation::activity
RexxActivity * activity
Definition: RexxNativeActivation.hpp:197
RexxIdentityTable
Definition: IdentityTableClass.hpp:49
RexxNativeActivation::variablePoolInterface
RexxReturnCode variablePoolInterface(PSHVBLOCK requests)
Definition: RexxNativeActivation.cpp:2803
RexxActivity.hpp
RexxNativeActivation::raiseCondition
void raiseCondition(RexxString *condition, RexxString *description, RexxObject *additional, RexxObject *result)
Definition: RexxNativeActivation.cpp:2430
RexxNativeActivation::resetNext
void resetNext()
Definition: RexxNativeActivation.cpp:2283
RexxNativeActivation::ActivationType
ActivationType
Definition: RexxNativeActivation.hpp:187
RexxNativeActivation::copyValue
RexxReturnCode copyValue(RexxObject *value, RXSTRING *rxstring, size_t *length)
Definition: RexxNativeActivation.cpp:3169
RexxNativeActivation::reportSignatureError
void reportSignatureError()
Definition: RexxNativeActivation.cpp:176
RexxNativeActivation::objectToValue
bool objectToValue(RexxObject *o, ValueDescriptor *value)
Definition: RexxNativeActivation.cpp:849
RexxNativeActivation::digits
size_t digits()
Definition: RexxNativeActivation.cpp:2001
RexxNativeActivation::dropObjectVariable
void dropObjectVariable(const char *name)
Definition: RexxNativeActivation.cpp:2686
RexxNativeActivation::getArgument
RexxObject * getArgument(size_t index)
Definition: RexxNativeActivation.cpp:2469
RESTORETYPE
RESTORETYPE
Definition: ObjectClass.hpp:80
RexxNativeActivation::getAllContextVariables
RexxDirectory * getAllContextVariables()
Definition: RexxNativeActivation.cpp:2620
RexxNativeActivation::getSecurityManager
virtual SecurityManager * getSecurityManager()
Definition: RexxNativeActivation.cpp:2212
RexxMethod
Definition: MethodClass.hpp:101
RexxNativeActivation::getContextVariable
RexxObject * getContextVariable(const char *name)
Definition: RexxNativeActivation.cpp:2554
RexxNativeActivation::DISPATCHER_ACTIVATION
Definition: RexxNativeActivation.hpp:192
RexxNativeActivation::result
RexxObject * result
Definition: RexxNativeActivation.hpp:205
RexxNativeActivation::setFuzz
void setFuzz(size_t)
Definition: RexxNativeActivation.cpp:2062
RexxNativeActivation::nextstem
RexxVariable * nextstem
Definition: RexxNativeActivation.hpp:214
RexxNativeActivation::getObjectVariable
RexxObject * getObjectVariable(const char *name)
Definition: RexxNativeActivation.cpp:2639
RexxNativeActivation::TRAPPING_ACTIVATION
Definition: RexxNativeActivation.hpp:194
_CONSTRXSTRING
Definition: rexx.h:161
RexxObject
Definition: ObjectClass.hpp:311
RexxNativeActivation::valuesToObject
RexxArray * valuesToObject(ValueDescriptor *value, size_t count)
Definition: RexxNativeActivation.cpp:676
RexxString
Definition: StringClass.hpp:119
RexxNativeActivation::getRexxContext
virtual RexxActivation * getRexxContext()
Definition: RexxNativeActivation.cpp:2128
RexxNativeActivation::setObjectVariable
void setObjectVariable(const char *name, RexxObject *value)
Definition: RexxNativeActivation.cpp:2663
RexxVariable
Definition: RexxVariable.hpp:49
RexxNativeActivation::nextvariable
size_t nextvariable
Definition: RexxNativeActivation.hpp:211
RexxNativeRoutine
Definition: RexxNativeCode.hpp:107