moosetechnology / Famix-Cpp

Famix metamodel for C/C++
MIT License
1 stars 2 forks source link

Add #isInvocation #18

Closed nkinesis closed 1 year ago

nkinesis commented 1 year ago

Problem: I got the following errors in the Architectural Map when generating it for FamixCPreproc entities:

Solution:

NicolasAnquetil commented 1 year ago

After investigations, this solves the problem temporarily, but not the root cause. The real problem lies in MiArchitecturalMapBuilder >> #setDependenciesForEntity: that assumes all associations can answer to #isInvocation

Not sure we really want that ... ? One slightly better solution would be to check #isInvocation only if mapModel noMegaMorphic is true (and set is false by default). That whay, if the user asks for megaMorphic filtering, we can assume there are invocations in the model and thus all associations do implement #isInvocation.

So I propose to reject this PR, and correct Architectural Map instead