#include <PackageClass.hpp>
Static Public Member Functions | |
static void | createInstance () |
Static Public Member Functions inherited from RexxObject | |
static void | decodeMessageName (RexxObject *target, RexxObject *message, RexxString *&messageName, RexxObject *&startScope) |
static void | createInstance () |
Static Public Member Functions inherited from RexxInternalObject | |
static size_t | getObjectHeaderSize () |
Static Public Attributes | |
static RexxClass * | classInstance = OREF_NULL |
Static Public Attributes inherited from RexxObject | |
static PCPPM | operatorMethods [] |
static RexxClass * | classInstance = OREF_NULL |
Protected Attributes | |
RexxSource * | source |
RexxObject * | encoding |
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 48 of file PackageClass.hpp.
PackageClass::PackageClass | ( | RexxSource * | source | ) |
Definition at line 78 of file PackageClass.cpp.
|
inline |
Definition at line 54 of file PackageClass.hpp.
RexxObject * PackageClass::addClass | ( | RexxString * | name, |
RexxClass * | clazz | ||
) |
Add a class to this package's class list.
clazz | The class to add. |
Definition at line 434 of file PackageClass.cpp.
References RexxSource::addInstalledClass(), classArgument(), source, stringArgument(), and TheClassClass.
Referenced by RexxMemory::createImage().
RexxObject * PackageClass::addPackage | ( | PackageClass * | package | ) |
Load a package in a source context.
name | The target package name. |
Definition at line 385 of file PackageClass.cpp.
References RexxSource::addPackage(), classArgument(), source, and ThePackageClass.
Referenced by RexxMemory::createImage().
RexxObject * PackageClass::addPublicClass | ( | RexxString * | name, |
RexxClass * | clazz | ||
) |
Add a class to this package's public class list.
clazz | The class to add. |
Definition at line 451 of file PackageClass.cpp.
References RexxSource::addInstalledClass(), classArgument(), source, stringArgument(), and TheClassClass.
Referenced by RexxMemory::createImage().
RexxObject * PackageClass::addPublicRoutine | ( | RexxString * | name, |
RoutineClass * | routine | ||
) |
Add a routine to this package's public routine list.
routine | The routine to add. |
Definition at line 417 of file PackageClass.cpp.
References RexxSource::addInstalledRoutine(), classArgument(), source, stringArgument(), and TheRoutineClass.
Referenced by RexxMemory::createImage().
RexxObject * PackageClass::addRoutine | ( | RexxString * | name, |
RoutineClass * | routine | ||
) |
Add a routine to this package's private routine list.
routine | The routine to add. |
Definition at line 400 of file PackageClass.cpp.
References RexxSource::addInstalledRoutine(), classArgument(), source, stringArgument(), and TheRoutineClass.
Referenced by RexxMemory::createImage().
|
static |
Create initial class object at bootstrap time.
Definition at line 62 of file PackageClass.cpp.
References CLASS_CREATE.
Referenced by RexxMemory::createImage().
RexxObject * PackageClass::digits | ( | ) |
Return the package-defined digits setting
Definition at line 649 of file PackageClass.cpp.
References RexxSource::getDigits(), new_integer(), and source.
Referenced by RexxMemory::createImage().
RexxClass * PackageClass::findClass | ( | RexxString * | name | ) |
Resolve a class in the context of a package.
name | The required class name. |
Definition at line 468 of file PackageClass.cpp.
References RexxSource::findClass(), RexxObject::isInstanceOf(), OREF_NULL, source, and TheClassClass.
RexxClass * PackageClass::findClassRexx | ( | RexxString * | name | ) |
Resolve a class in the context of a package.
name | The required class name. |
Definition at line 487 of file PackageClass.cpp.
References RexxSource::findClass(), OREF_NULL, source, stringArgument(), and TheNilObject.
Referenced by RexxMemory::createImage().
RexxObject * PackageClass::findProgramRexx | ( | RexxObject * | name | ) |
Locate a program using the target package context.
name | The target name. |
Definition at line 538 of file PackageClass.cpp.
References ActivityManager::currentActivity, OREF_NULL, RexxActivity::resolveProgramName(), stringArgument(), and TheNilObject.
Referenced by RexxMemory::createImage().
RoutineClass * PackageClass::findRoutine | ( | RexxString * | name | ) |
Resolve a routine in the context of a package.
name | The required routine name. |
Definition at line 506 of file PackageClass.cpp.
References RexxSource::findRoutine(), and source.
Referenced by findRoutineRexx().
RoutineClass * PackageClass::findRoutineRexx | ( | RexxString * | name | ) |
Resolve a routine in the context of a package.
name | The required routine name. |
Definition at line 519 of file PackageClass.cpp.
References findRoutine(), OREF_NULL, stringArgument(), and TheNilObject.
Referenced by RexxMemory::createImage().
|
virtual |
Reimplemented from RexxVirtualBase.
Definition at line 105 of file PackageClass.cpp.
References cleanUpFlatten, flatten_reference, and setUpFlatten.
RexxObject * PackageClass::form | ( | ) |
Return the package-defined default form setting.
Definition at line 671 of file PackageClass.cpp.
References Numerics::FORM_SCIENTIFIC, RexxSource::getForm(), and source.
Referenced by RexxMemory::createImage().
RexxObject * PackageClass::fuzz | ( | ) |
Return the package-defined default fuzz setting.
Definition at line 660 of file PackageClass.cpp.
References RexxSource::getFuzz(), new_integer(), and source.
Referenced by RexxMemory::createImage().
RexxDirectory * PackageClass::getClasses | ( | ) |
Retrieve all classes defined by this package.
Definition at line 185 of file PackageClass.cpp.
References RexxDirectory::copy(), RexxSource::getInstalledClasses(), new_directory(), OREF_NULL, and source.
Referenced by RexxMemory::createImage().
|
inline |
Definition at line 100 of file PackageClass.hpp.
References encoding.
Referenced by setEncodingRexx().
RexxDirectory * PackageClass::getImportedClasses | ( | ) |
Retrieve all of the classes imported into this package from other packages.
Definition at line 228 of file PackageClass.cpp.
References RexxDirectory::copy(), RexxSource::getImportedClasses(), new_directory(), OREF_NULL, and source.
Referenced by RexxMemory::createImage().
RexxArray * PackageClass::getImportedPackages | ( | ) |
Get all of the packages that have been added to this package context.
Definition at line 336 of file PackageClass.cpp.
References RexxSource::getPackages(), RexxList::makeArray(), new_array(), OREF_NULL, and source.
Referenced by RexxMemory::createImage().
RexxDirectory * PackageClass::getImportedRoutines | ( | ) |
Get the directory of routines that have been imported into to this package form other packages.
Definition at line 293 of file PackageClass.cpp.
References RexxDirectory::copy(), RexxSource::getImportedRoutines(), new_directory(), OREF_NULL, and source.
Referenced by RexxMemory::createImage().
RexxDirectory * PackageClass::getMethods | ( | ) |
Get all of the unattached methods defined in this package.
Definition at line 314 of file PackageClass.cpp.
References RexxDirectory::copy(), RexxSource::getMethods(), new_directory(), OREF_NULL, and source.
Referenced by RexxMemory::createImage().
RexxString * PackageClass::getName | ( | ) |
Get the program name of the package
Definition at line 124 of file PackageClass.cpp.
References RexxSource::getProgramName(), and source.
Referenced by RexxMemory::createImage().
RexxDirectory * PackageClass::getPublicClasses | ( | ) |
Retrieve all public classes defined by this package.
Definition at line 206 of file PackageClass.cpp.
References RexxDirectory::copy(), RexxSource::getInstalledPublicClasses(), new_directory(), OREF_NULL, and source.
Referenced by RexxMemory::createImage().
RexxDirectory * PackageClass::getPublicRoutines | ( | ) |
Return a directory of the Public routines defined by this package.
Definition at line 271 of file PackageClass.cpp.
References RexxDirectory::copy(), RexxSource::getInstalledPublicRoutines(), new_directory(), OREF_NULL, and source.
Referenced by RexxMemory::createImage().
RexxDirectory * PackageClass::getRoutines | ( | ) |
Get a list of all routines defined by this package.
Definition at line 249 of file PackageClass.cpp.
References RexxDirectory::copy(), RexxSource::getInstalledRoutines(), new_directory(), OREF_NULL, and source.
Referenced by RexxMemory::createImage().
RexxArray * PackageClass::getSource | ( | ) |
Return all of the source lines for the package, as an array.
Definition at line 135 of file PackageClass.cpp.
References RexxSource::extractSource(), and source.
Referenced by RexxMemory::createImage().
RexxString * PackageClass::getSourceLine | ( | size_t | n | ) |
Extract a specific line from the program source.
n | The line position. |
Definition at line 148 of file PackageClass.cpp.
References RexxSource::get(), and source.
RexxString * PackageClass::getSourceLineRexx | ( | RexxObject * | position | ) |
Extract a specific line from the program source.
n | The line position. |
Definition at line 161 of file PackageClass.cpp.
References ARG_ONE, RexxSource::get(), positionArgument(), and source.
Referenced by RexxMemory::createImage().
|
inline |
Definition at line 97 of file PackageClass.hpp.
References source.
Referenced by RexxSource::addPackage().
RexxInteger * PackageClass::getSourceSize | ( | ) |
Get the number of source lines in the package
Definition at line 174 of file PackageClass.cpp.
References new_integer(), source, and RexxSource::sourceSize().
Referenced by RexxMemory::createImage().
|
inline |
Definition at line 98 of file PackageClass.hpp.
References TheRexxPackage.
|
virtual |
Reimplemented from RexxVirtualBase.
Definition at line 87 of file PackageClass.cpp.
References memory_mark, and source.
|
virtual |
Reimplemented from RexxVirtualBase.
Definition at line 96 of file PackageClass.cpp.
References memory_mark_general, and source.
RexxObject * PackageClass::loadLibrary | ( | RexxString * | name | ) |
Dynamically load a library package
name | The required package name. |
Definition at line 633 of file PackageClass.cpp.
References stringArgument().
Referenced by RexxMemory::createImage().
PackageClass * PackageClass::loadPackage | ( | RexxString * | name, |
RexxArray * | s | ||
) |
Load a package in a source context.
name | The target package name. |
s | The optional source lines for the package, as an array. |
Definition at line 359 of file PackageClass.cpp.
References arrayArgument(), ActivityManager::currentActivity, RexxSource::loadRequires(), OREF_NULL, source, and stringArgument().
Referenced by RexxMemory::createImage().
PackageClass * PackageClass::newRexx | ( | RexxObject ** | init_args, |
size_t | argCount, | ||
size_t | named_argCount | ||
) |
Definition at line 564 of file PackageClass.cpp.
References arrayArgument(), RexxClass::checkAbstract(), ActivityManager::currentActivity, RexxActivity::getInstance(), RexxClass::getInstanceBehaviour(), RexxClass::hasUninitDefined(), OREF_NULL, RexxClass::processNewArgs(), InterpreterInstance::resolveProgramName(), and stringArgument().
Referenced by RexxMemory::createImage().
|
inline |
Definition at line 52 of file PackageClass.hpp.
void * PackageClass::operator new | ( | size_t | size | ) |
Definition at line 68 of file PackageClass.cpp.
References new_object(), and T_Package.
|
inline |
Definition at line 101 of file PackageClass.hpp.
References encoding, OREF_NULL, OrefSet, and RexxInternalObject::setHasReferences().
Referenced by setEncodingRexx().
|
inline |
Definition at line 106 of file PackageClass.hpp.
References getEncoding(), and setEncoding().
Referenced by RexxMemory::createImage().
RexxObject * PackageClass::setSecurityManager | ( | RexxObject * | manager | ) |
Set a security manager on a package.
manager | The security manager object. |
Definition at line 557 of file PackageClass.cpp.
References RexxSource::setSecurityManager(), source, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxObject * PackageClass::trace | ( | ) |
Return the package-defined default trace setting.
Definition at line 682 of file PackageClass.cpp.
References RexxSource::getTrace(), and source.
Referenced by RexxMemory::createImage().
Definition at line 61 of file PackageClass.hpp.
|
protected |
Definition at line 115 of file PackageClass.hpp.
Referenced by getEncoding(), and setEncoding().
|
protected |
Definition at line 114 of file PackageClass.hpp.
Referenced by addClass(), addPackage(), addPublicClass(), addPublicRoutine(), addRoutine(), digits(), findClass(), findClassRexx(), findRoutine(), form(), fuzz(), getClasses(), getImportedClasses(), getImportedPackages(), getImportedRoutines(), getMethods(), getName(), getPublicClasses(), getPublicRoutines(), getRoutines(), getSource(), getSourceLine(), getSourceLineRexx(), getSourceObject(), getSourceSize(), live(), liveGeneral(), loadPackage(), PackageClass(), setSecurityManager(), and trace().