With The aid of Andre, we finished creating the TypeDeclaration virtual
association in MooseChef (see also
http://moose-dev.97923.n3.nabble.com/Several-modifications-to-MooseChef-tp3…).
We also created a queryIncoming/OutgoingDependencies that will gather
all dependencies from a model:
allAssociations (real association from Famix) + TypeDeclarations
(virtual association that is "hidden" like the type of a variable).
The MooseChef documentation should be updated accordingly (see "<added>"
markers for additional stuff):
---
** Primitive queries return associations
Primitive queries return a set of dependencies related to the receiver.
Such dependencies are represented by instances of FAMIXAssociation:
invocations, accesses, inheritances, and references.
<added>
MooseChef also recognizes an association that does not exists as such in
Famix: TypeDeclaration.
It exists only for statically typed languages and relates a variable
(FAMIXStructuralEntity) to its type, or a method to its return type.
<added/>
receiver queryAllIncomingInvocations
querySureIncomingInvocations
queryIncomingAccesses
queryIncomingReferences
queryIncomingInheritances
<added>
queryIncomingTypeDeclarations
<added/>
receiver queryAllOutgoingInvocations
querySureOutgoingInvocations
queryOutgoingAccesses
queryOutgoingReferences
queryOutgoingInheritances
<added>
queryOutgoingTypeDeclarations
<added/>
[...]
Some composite queries are also defined on top
static associations = accesses + references + inheritances
sure associations = static + sure invocations
all associations = static + invocations
<added>
dependencies = all associations + typeDeclaration
<added/>
---
There are still some additional hidden dependencies in Famix as
discussed in
http://moose-dev.97923.n3.nabble.com/MooseChef-hidden-dependencies-tp354895…
tests are green (in my image)
nicolas