Hi Doru,
You should use the FAMIXFunction. I know that Simon removed it, but it should be there in the Core.
I do not remember, maybe I was the one who removed it on a misunderstanding.
- CAModule subclass of FAMIXScopingEntity
Hmm. Isn't a CAModule the same as FAMIXPackage?
- CAVariable subclass of FAMIXGlobalVariable
What is the difference between the two?
We point here the finger on a slightly bigger problem, scalability. Currently CAVariable has no instance variable. However it inherits 14 instance variables from the FAMIX framework. CAModule defines 7 variables, and inherits 17 variables.
Before to have CA* classes an extension of FAMIX, loading the complete linux kernel produced a squeak image of ~ 500 Mb. I haven't tried since CA* classes are subclass of FAMIX, but an explosion in size may waste the party. By having such subclasses, I can always to change, even temporarily, the superclass to meet extreme scalability requirement.
An instance of CAModule is intended to describe a C Module, instance being generated from a C file. I think this should be the right way to do. On the other hand, there are FAMIXFolder and FAMIXFile. Ideally, a C file should be seen as a file _and_ as a module. The class FAMIXFile contains useful methods, that I would like to use on a CAModule. But having one instance of CAModule and one instance of FAMIXFile per .c file is clearly suboptimal.
FAMIXFile and Folder denote structural things, and have no semantics. CAModule has semantics in a similar way a Package has. If you want to attach a file to it, just have the sourceAnchor point to the file.
Right.
Thanks Doru, Alexandre