Hi,
I went quickly through the changes from the FAMIX-C package. The Multivalue code looks good.
Here are two remarks:
1. I am not convinced about having CompilationUnit and Header be subclasses of CFile (which is a subclass of File). But, to make an opinion I would first like to see a model. @Alex, could you provide a simple MSE model to play with?
2. I would want to change is the names of the following two properties:
FAMIXCFile>>includedInFiles <MSEProperty: #includedInFiles type: #FAMIXInclude opposite: #includesFiles> <multivalued> <derived> <MSEComment: 'includedInFiles relationships, i.e. files that includes this file.'> ^ includedInFiles
FAMIXCFile>>includesFiles <MSEProperty: #includesFiles type: #FAMIXInclude opposite: #includedInFiles> <multivalued> <derived> <MSEComment: 'includesFiles relationships, i.e. files included by this file.'> ^ includingFiles
The names suggest that the result will be a collection of File objects, but it is actually a collection of Includes.
It is a bit tricky to name these selectors, but we could use the same convention we used for invocations, and we could have: - includedInFiles ==> incomingIncludeRelations - includesFiles ==> outgoingIncludeRelations
What do you think?
Cheers, Doru
-- www.tudorgirba.com www.feenk.com
"To lead is not to demand things, it is to make them happen."