Hi guys. Levente recommended us to integrate the new version of #pointsTo:, and I did it. But not I think I found a bug. The method is:
pointsTo: anObject
"Answers true if I hold a reference to anObject, or false otherwise. Or stated another way:
Answers true if the garbage collector would fail to collect anObject because I hold a reference to it, or false otherwise"
��� ^ (self instVarsInclude: anObject)
��� ��� or: [self class == anObject]
The problem is that if the receiver is an instance of a compact class, this method answers true to:
�'aaa' pointsTo: ByteString
and I think that's incorrect.� Moreoever, you can read the comment of the method "Or stated another way: Answers true if the garbage collector would fail to collect anObject because I hold a reference to it, or false otherwise"
That's not true for compact classes.
With this change:
pointsTo: anObject
"Answers true if I hold a reference to anObject, or false otherwise. Or stated another way:
Answers true if the garbage collector would fail to collect anObject because I hold a reference to it, or false otherwise"
��� ^ (self instVarsInclude: anObject)
��� ��� or: [(self class indexIfCompact = 0) and: [self class == anObject] ]
it works fine.
Do you agree with the change?
cheers
--
Mariano
http://marianopeck.wordpress.com