I did several "improvements" to MooseChef.
Reviews are welcome (Simon if you are around, please read this, specifically, at the end).
- Created withoutSelfLoops in MooseQueryObjectResult as discussed before (see discussion on MooseChef end of november)
- Renamed all queryXxxIncoming/OutgoingDependencies to queryXxxIncoming/OutgoingAssociations (see discussion on MooseChef & hidden dependencies last week)
- Introduced a virtual association : Instanciation that relates a variable (structuredEntity to its type and a method (behaviouralEntity) to its returnType. I created MooseChefInstanciationAssociation for this. It is not in Famix as it is only intended to do queries.
- Followed up with creating appropriate queryIncoming/OutgoingInstanciations in FamixPackage, FamixClass, FamixMethod
All this has been tested and commited (this morning). Documentation on the web site was not updated
Meanwhile, I performed other modifications/corrections:
- Better comment initiative: commented some MooseQueryResult classes
-
FamixPackage and FamixNamespace had the same classScope method that [only makes sense to reject self loops in #collectAtScope:], I moved it to FAMIXScopingEntity.
- I found strange that there was no methodScope method, for consistency, I added it, again in FAMIXScopingEntity.
- Still for consistency, I added a methodScope method to FamixType
Finally, I still have some questions (Simon?)
- the trait TScopingEntityQuery seems to exist only to be added to FamixScopingEntity. Is that so?
Why having a trait in this case? Consistency? If so, may be it should be documented (comment).
-
MooseOutgoingCompositionQueryResult does not use TDependencyQueryResult whereas its sisters (MooseOutgoing/IncommingQueryResult) do. This means
MooseOutgoingCompositionQueryResult is lacking many selectors that its sisters have (opposites, ...)
Error or feature?
nicolas