On Tue, May 1, 2012 at 9:22 PM, Francisco Garau <francisco.garau@gmail.com> wrote:
Your code snippet is comparing the associations. The below one evaluates to true:�

(Smalltalk globals associationAt: #ScriptLoader) value�
�==�
((SmalltalkImage >> #shrinkToCore) literalAt: 4) value�


Yes, but the literals of CompiledMethod that refer to classes should have the SAME association as Smalltalk globals. In fact, that's the reason why we have:

Association >> #literalEqual: otherLiteral
��� "Answer true if the receiver and otherLiteral represent the same literal.
��� Variable bindings are literally equals only if identical.
��� This is how variable sharing works, by preserving identity and changing only the value."
��� ^self == otherLiteral

instead of the Object implementation.



On 1 May 2012 17:52, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
(Smalltalk globals associationAt: #ScriptLoader) == ((SmalltalkImage >> #shrinkToCore) literalAt: 4)
gives false when it should be true.� If I do a Compiler recompileAll it gets fixed. So, my question is, is that normal? how could that happen?
is there any real problem behind?

anyway, can we do a recompileAll for the moment?

thanks!

--
Mariano
http://marianopeck.wordpress.com





--
Mariano
http://marianopeck.wordpress.com