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
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*.
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
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
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@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- www.tudorgirba.com
"Don't give to get. Just give."
On Mon, Apr 25, 2011 at 12:39 PM, Tudor Girba tudor.girba@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@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@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev