Hi all,
We (Stephan and myself) decided to add a Delphi unit to the FAMIX hierarchy in the
Famix-Delphi package, since this is both a package and a namespace. But here we ran into
trouble: we can inherit from package, from namespace, or from a scoping entity, but in all
cases the method allPackages and allNamespaces do not return the desired value. Also some
derived functionality, like the code browser, does not function properly, since it uses
namespaces to browse the code. So we propose the following changes:
1) allPackages and allNamespaces should return "allWithSubTypesOf: " instead of
withAll:
2) The message "allWithSubTypesOf: aSmalltalkClass ofGroupClass:
aGroupSmalltalkClass" should iterate over a new method call
"withMooseSubclasses" instead of "withAllSubclasses"
3) Default return value of withMooseSubclasses is withAllSubclasses, except when a class
registers itself as a Moose subclass, indicating it is of the "Moose type" of
the class it registers to.
This allows us to create a "merged" type of package and namespace for Delphi and
still allowing for the codeBrowser to function properly.
What do you think about this change. I implemented it in my image, and it seems to work
fine.
Cheers,
Diego
Show replies by date