On Mon, Apr 25, 2011 at 12:39 PM, Tudor Girba <tudor.girba(a)gmail.com> wrote:
Hi,
This part of FAMIX is a bit of a mess :).
These selectors were introduced before the introduction of FAMIXReference,
and referencing* used to mean invoking*.
Yep, this is something we learnt the hard way :-) ... We tried to write a
small program to calculate package dependencies. Dependencies meant for us,
access + ref + invocation + inh + method extensions (if applicable)...
however, since referencing only returns related to invocation, we had to
shift our code to Moose-chef...
The distinction between potential / sure comes from an invocation having
possibly multiple candidates:
- "sure" is when you know exactly what the target of the association is
- "potential" is when you do not know
There seems to be an algo in moose-importer that tries to resolve potential
references. however that seems to just narrow down the candidates but does
not reduce them to a single candidate... and probably that is not the
purpose of the algo...
Jannik did a nice job at documenting this API in the
Moose-Tests-SmalltalkImporter-KGB package.
It is not comments that these parts miss, but a review/rewrite:
- revise referencing* / referenced* and rename to invoking* / invoked *
- add referencing* / referenced* based on actual FAMIXReference
- add explicit support for method extensions dependencies
- change client* / provider* to include references and method extensions
at some point in time, I can undertake this task...
Cheers,
Doru
On 25 Apr 2011, at 02:30, Alexandre Bergel wrote:
Hi!
There is the method:
FAMIXPackage>>potentialReferencingClasses
"returns a set of all the classes that potentially refer to the
receiver: they potentially refer to some classes that are defined or
extended into the receiver"
I do not understand what this means. How a class can be "potentially
referenced"?
How does it differ from #invokedClasses ? There is no class comments for
#invokedClasses. I feel this is necessary. I can add some if someone tells
me that this method does.
By the way FAMIXMethod>>invokedClasses and
FAMIXClass>>invokedClasses
have a pragma <navigation: 'Invoked
classes'>
But not FAMIXNamespace and FAMIXPackage?
Same things for FAMIXPackage>>clientClasses and
FAMIXNamespace>>clientClasses. Shall we add a <navigation: 'Client
classes'>
as in FAMIXClass>>clientClasses
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel
http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
www.tudorgirba.com
"Don't give to get. Just give."
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev