Thanks, Doru
You are right. They work fine on the Java models. The only one that crashes is FAMIXClass>>isBrainClass. After looking at the information the debugger gave me, it seems that the #F_NOBM (what does the F stand for?) is evaluated to nil. Although there is a #numberOfBrainMethods methods in the "properties" protocol of FAMIXClass, it is not defined using the property-pragma and probably that's why the strategies are not able to find it. I tried modifying the method, and it seemed to work fine like this:
numberOfBrainMethods <property: #F_NOBM longName: 'Number of Brain Methods' description: 'The number of brain methods'> ^self lookUpPropertyNamed: #F_NOBM computedAs: [(self methods select: #isBrainMethod) size]
I also noticed another method which also lacked the pragma: #numberOfClassScopeAttributes.
Cheers, Ricky
On Oct 10, 2007, at 5:33 PM, Tudor Girba wrote:
I just implemented the detection strategies as they are in the book of Michele and Radu, and these strategies use the metrics that are implemented in iPlasma. However, I did not get the chance to implement the metrics yet, but I just use them from the iPlasma export.
That is why, at the moment the strategies only work with models exported by iPlasma.