On 16 févr. 2010, at 11:06, Laval Jannik wrote:
Hi all,
With Cyrille we work on a Famix2MseImporter in Pharo Famix3.
It is a hack, in two parts:
First, we place a script between the parser and the MooseElement creation. So this script
switches elements of Famix2 to Famix3. For example, a FAMIX.InheritanceDefinition in the
Famix2Mse become a FamixInheritance in Famix3.
The other part of the script appears after the mooseModel creation. In Famix3, there are
FamixAccess and FamixReference. But in Famix2, there is only FamixAccess.
FamixReference is for a target with type FamixClass. But, when the parser works, it is
not easily possible to know the type of an attribute. So, to do it easy, when the
MooseModel is created, we check all accesses and test if the target is a FamixClass. If
true, the script change the link in a FamixReference.
Now, we have three elements with no possible switch:
- there is no FAMIXGlobalVariable>>declaredType in Famix2.
- in Famix3, FAMIXInvocation>>receivingVariable has disappeared.
I think this is replaced by FAMIXInvocation>>receiver
- in Famix3, FAMIXParameter>>position has
disappeared.
The meta-informations in Famix2Mse are not taken account.
Finally, this script is a hack, the aim is to provide a solution for people who want to
come to Pharo-Moose.
You can load it with:
Gofer new
squeaksource: 'Famix2Importer';
package: 'Famix2Importer';
load.
A menu item is available in MoosePanel menu.
You can try it and mail us if you have some bugs.
Cheers,
Jannik and Cyrille.
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
Simon