Hi,
I am continuing to review MooseChef and I stumbled across the definition of query**Invocations defined in TScopingEntityQueries:
TScopingEntityQueries>>queryAllOutgoingInvocations ^ self createOutgoingInvocationQueryResultWith: (self methods flatCollect: [ :m | m outgoingInvocations ])
This depends on #methods. However, in FAMIXPackage, methods only returns the extended methods defined in the package:
FAMIXPackage>>methods ^ self privateState cacheAt: #methods ifAbsentPut: [ childNamedEntities select: [ :child | child isKindOf: FAMIXBehaviouralEntity ]]
This has a different semantics from the one defined in Namespace:
FAMIXNamespace>>methods ^ self privateState cacheAt: #methods ifAbsentPut: [ self classes flatCollect: #methods ]
So. I propose that FAMIXPackage>>methods is changed to classExtensionMethods and methods is computed like in Namespace + classExtensionMethods.
Anyone else depending on methods with the semantics of classExtensionMethods?
Cheers, Doru
-- www.tudorgirba.com
"What is more important: To be happy, or to make happy?"