On Nov 9, 2010, at 10:48 PM, Luc Fabresse wrote:
Hi all,
When SourcedMethodReference have been introduced, some tests in SystemNavigationTest turned yellow. The tests are currently expecting a MethodReference. If I modify the tests to exepect a SourcedMethodReference, the problem is now on:
SourcedMethodReference>>= ^self == aMethodReference.
Why this has been redefined in SourcedMethodReference?
It has been redefined becausea the end, we want to remove MethodReference, and this is the default behavior for the method =
I think that the super class (MethodReference) implementation is semantically better. No?
MethodReference>>= anotherMethodReference "Answer whether the receiver and the argument represent the same object." ^ self species == anotherMethodReference species and: [(self classSymbol = anotherMethodReference classSymbol) and: [(self classIsMeta = anotherMethodReference classIsMeta) and: [self methodSymbol = anotherMethodReference methodSymbol]]] #Luc
This method doesn't answer what we expect anymore, because here, two references (with different source) pointing on two versions of the same method are evaluate as equal, and we do not want that. About tests, JB and I had wrote a fix, but we have lost it ... But I will take a look at that asap Thank you for your feedback Ben