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.
![]() ![]() |
#include <PackageClass.hpp>
Static Public Member Functions | |
static void | createInstance () |
![]() | |
static void | decodeMessageName (RexxObject *target, RexxObject *message, RexxString *&messageName, RexxObject *&startScope) |
static void | createInstance () |
![]() | |
static size_t | getObjectHeaderSize () |
Static Public Attributes | |
static RexxClass * | classInstance = OREF_NULL |
![]() | |
static PCPPM | operatorMethods [] |
static RexxClass * | classInstance = OREF_NULL |
Protected Attributes | |
RexxSource * | source |
Additional Inherited Members | |
![]() | |
ObjectHeader | header |
RexxBehaviour * | behaviour |
![]() | |
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 430 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 383 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 446 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 414 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 398 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 613 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 462 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 481 of file PackageClass.cpp.
References RexxSource::findClass(), OREF_NULL, source, 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 500 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 513 of file PackageClass.cpp.
References findRoutine(), OREF_NULL, stringArgument(), and TheNilObject.
Referenced by RexxMemory::createImage().
|
virtual |
Reimplemented from RexxObject.
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 635 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 624 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().
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(), and RexxActivation::traceEntry().
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 96 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().
|
virtual |
Reimplemented from RexxObject.
Definition at line 87 of file PackageClass.cpp.
References memory_mark, and source.
|
virtual |
Reimplemented from RexxObject.
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 598 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 | ||
) |
Definition at line 539 of file PackageClass.cpp.
References arrayArgument(), ActivityManager::currentActivity, RexxActivity::getInstance(), 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.
RexxObject * PackageClass::setSecurityManager | ( | RexxObject * | manager | ) |
Set a security manager on a package.
manager | The security manager object. |
Definition at line 532 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 646 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 99 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().