> class
> DESCENDANT
>
> inherit
> ANCESTOR
> redefine
> make
> end
>
> create
> make
>
> feature
>
> make
> do
> -- How to call ANCESTOR.make here?
> create my_array.make(1, 0)
> end
>
> my_array: ARRAY[INTEGER]
> end
To call the ancestor `make' simply do
make
do
Precursor
create my_array.make (1, 0)
end
> 1. I had a newbie moment and there is an obvious fix. Please be kind with
> me!
See above.
> 2. Make 'my_array' detachable. It works but what's the point of void
> safety if ANCESTOR forces all its descendants to have detachable
> attributes? And it creates all sort of problems with invariants anyway.
Not needed if you use `Precursor' as specified above.
> Actually, SORTED_TWO_WAY_LIST does have this intermediate creation
> feature, called 'new_chain'. Unfortunately it doesn't use it everywhere!
It is used from the DYNAMIC_CHAIN ancestor in `duplicate'.
Hope this helps,
Manu