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-tp35...). 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-tp3548952...
tests are green (in my image)
nicolas