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