Nicolas Cellier uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-nice.82.mcz==================== Summary ====================
Name: Compiler-nice.82
Author: nice
Time: 12 September 2009, 9:07:16 am
UUID: 4c77174b-dd90-4c6d-943e-fc90a02f6677
Ancestors: Compiler-ar.81
Part of fix for
http://bugs.squeak.org/view.php?id=6797Use #literalEqual: for testing equality of two literals.
=============== Diff against Compiler-ar.81 ===============
Item was changed:
+ ----- Method: LiteralDictionary>>literalEquality:and: (in category 'testing') -----
- ----- Method: LiteralDictionary>>literalEquality:and: (in category 'as yet unclassified') -----
literalEquality: x and: y
+ "Check if two literals should be considered equal and reduced to a single literal.
+ Delegate this task to the literal themselves, they are aware of their peculiarities and know how to behave."
+
+ ^ x literalEqual: y
-
- ^ (x class = Array and: [y class = Array]) ifTrue: [
- self arrayEquality: x and: y.
- ] ifFalse: [
- (x class == y class) and: [x = y]
- ].
!
Item was removed:
- ----- Method: LiteralDictionary>>arrayEquality:and: (in category 'as yet unclassified') -----
- arrayEquality: x and: y
-
- x size = y size ifFalse: [^ false].
- x with: y do: [:e1 :e2 |
- (self literalEquality: e1 and: e2) ifFalse: [^ false]
- ].
- ^true.
- !