On Mon, Mar 9, 2eg020 at 1:12 PM Rony G. Flatscher <rony.flatsc...@wu.ac.at> wrote:
> The rexxpg book lists in "Chapter 4. The Basics of Classes" all ooRexx > classes. The listing is not correctly indented as the root class Object is > not shown as the topmost class. > > Before correcting anything I also created a little program that would > create the ooRexx class tree automatically. > > While doing so, it would become possible to add additional information to > the listed classes, e.g. whether a class is a mixin and for classes using > multiple inheritance which classes they inherit (maybe in parentheses and > in italic). The motivation would be to have > > So here are both renderings (there classes for which questions are > formulated at the bottom are highlighted in red): > > Object > Alarm > AlarmNotification > Message > ArgUtil > Array > Bag > BagMixin > Buffer > Class > Collection > MapCollection > Bag > Directory > Properties > IdentityTable > Relation > Set > Stem > StringTable > Table > OrderedCollection > Array > List > Queue > CircularQueue > SetCollection > Bag > Set > Comparable > DateTime > File > String > TimeSpan > Comparator > CaselessColumnComparator > CaselessComparator > CaselessDescendingComparator > ColumnComparator > DescendingComparator > InvertingComparator > NumericComparator > DateTime > Directory > Properties > EventSemaphore > File > IdentityTable > InputOutputStream > Stream > InputStream > InputOutputStream > Stream > List > LocalServer > ManyItemMixin > Message > MessageNotification > Message > Method > Monitor > MutableBuffer > MutexSemaphore > OLEObject > OLEVariant > Orderable > DateTime > File > TimeSpan > OutputStream > InputOutputStream > Stream > Package > Pointer > Queue > CircularQueue > Relation > RexxContext > RexxInfo > RexxQueue > Routine > Set > SetMixin > StackFrame > Stem > String > StringTable > Supplier > StreamSupplier > SupplierMixin > Table > Ticker > TimeSpan > Validate > VariableReference > WeakReference > > And here with the additional information: > > Object > Alarm > AlarmNotification *(mixin)* > Message *(inherit MessageNotification, AlarmNotification)* > ArgUtil > Array *(inherit OrderedCollection)* > Bag *(inherit MapCollection, SetCollection)* > BagMixin > Buffer > Class > Collection *(mixin)* > MapCollection *(mixin)* > Bag *(inherit MapCollection, SetCollection)* > Directory *(inherit MapCollection)* > Properties > IdentityTable *(inherit MapCollection)* > Relation *(inherit MapCollection)* > Set *(inherit MapCollection, SetCollection)* > Stem *(inherit MapCollection)* > StringTable *(inherit MapCollection)* > Table *(inherit MapCollection)* > OrderedCollection *(mixin)* > Array *(inherit OrderedCollection)* > List *(inherit OrderedCollection)* > Queue *(inherit OrderedCollection)* > CircularQueue > SetCollection *(mixin)* > Bag *(inherit MapCollection, SetCollection)* > Set *(inherit MapCollection, SetCollection)* > Comparable *(mixin)* > DateTime *(inherit Comparable, Orderable)* > File *(inherit Comparable, Orderable)* > String *(inherit Comparable)* > TimeSpan *(inherit Comparable, Orderable)* > Comparator *(mixin)* > CaselessColumnComparator *(mixin)* > CaselessComparator *(mixin)* > CaselessDescendingComparator *(mixin)* > ColumnComparator *(mixin)* > DescendingComparator *(mixin)* > InvertingComparator *(mixin)* > NumericComparator *(mixin)* > DateTime *(inherit Comparable, Orderable)* > Directory *(inherit MapCollection)* > Properties > EventSemaphore > File *(inherit Comparable, Orderable)* > IdentityTable *(inherit MapCollection)* > InputOutputStream *(mixin) (inherit InputStream, OutputStream)* > Stream *(mixin)* > InputStream *(mixin)* > InputOutputStream *(mixin) (inherit InputStream, OutputStream)* > Stream *(mixin)* > List *(inherit OrderedCollection)* > LocalServer > ManyItemMixin > Message *(inherit MessageNotification, AlarmNotification)* > MessageNotification *(mixin)* > *Message (inherit MessageNotification, AlarmNotification)* > Method > Monitor > MutableBuffer > MutexSemaphore > OLEObject > OLEVariant > Orderable *(mixin)* > DateTime *(inherit Comparable, Orderable)* > File *(inherit Comparable, Orderable)* > TimeSpan *(inherit Comparable, Orderable)* > OutputStream *(mixin)* > InputOutputStream *(mixin) (inherit InputStream, OutputStream)* > Stream *(mixin)* > Package > Pointer > Queue *(inherit OrderedCollection)* > CircularQueue > Relation *(inherit MapCollection)* > RexxContext > RexxInfo > RexxQueue > Routine > Set *(inherit MapCollection, SetCollection)* SetMixin > StackFrame > Stem *(inherit MapCollection)* > String *(inherit Comparable)* > StringTable *(inherit MapCollection)* > Supplier > StreamSupplier > SupplierMixin > Table *(inherit MapCollection)* > Ticker > TimeSpan *(inherit Comparable, Orderable)* > Validate > VariableReference > WeakReference > > Questions: > > 1. What is the purpose of the classes: BagMixin, ManyItemsMixin, > SetMixin and SupplierMixin? > 1. They carry the name "mixin" but are not inherited by the exposed > Rexx classes. > 2. They cannot be fetched via their environment name like .BagMixin. > 3. Should they be listed in the class object's SUBCLASSES array at > all? > > 2. Should the classes ArgUtil and LocalServer be documented or left > out? > 1. ArgUtil was never documented and supposedly Validate is the > successor and should be used instead. > 2. If LocalServer should get documented, where could I find the > respective information? > > 3. Should the classes OLEObject and OLEVariant be documented or > left out? (They only exist in the Windows version and are documented > separately in the Windows reference book.) > > 4. Should the short or the long form be usedj, which informs about > multiple inheritance related classes? > > ---rony > > > _______________________________________________ > Oorexx-devel mailing list > Oorexx-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/oorexx-devel >
_______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel