2010/3/23 Stéphane Ducasse <[email protected]>: >> On Mon, Mar 22, 2010 at 2:54 PM, Nicolas Cellier >> <[email protected]> wrote: >> You might also want to check last code published in trunk. >> >> I saw that. You're eliminating closeTo: for float comparison which seems >> fine to me :) Thanks Nicolas! >> However, it is indicative that a recompile all is necessary after redefining >> the number scanning facilities. I guess that this is part of the standard >> release build process. If not, we should add it. > > > I saw the following but I could not see the float issue you mentioned. Where > it is? >
It's in CompiledMethod >> #= Note that Pharo has implemented different workaround for handling cases like (Float class>#nan) = (Float class>#nan) copy, but these are fragile. trunk implementation rely on (lit1 == lit2) to handle this case. Nicolas > > analogousCodeTo: aMethodProperties > | bs | > (aMethodProperties isKindOf: MethodProperties) ifTrue: > [^aMethodProperties analogousCodeTo: self]. > (bs := self basicSize) ~= aMethodProperties basicSize ifTrue: > [^false]. > 1 to: bs do: > [:i| > ((self basicAt: i) analogousCodeTo: (aMethodProperties > basicAt: i)) ifFalse: > [^false]]. > ^true > > hasAtLeastTheSamePropertiesAs: aMethodProperties > "Answer if the recever has at least the same properties as the > argument. > N.B. The receiver may have additional properties and still answer > true." > aMethodProperties keysAndValuesDo: > [:k :v| > (v isKindOf: Pragma) > "ifTrue: [Pragmas have already been checked]" > ifFalse: [ > (self includes: k->v) ifFalse: [^false]]]. > ^true > > > > > On Mar 22, 2010, at 10:54 PM, Nicolas Cellier wrote: > >> You might also want to check last code published in trunk. >> >> Nicolas >> >> 2010/3/22 Eliot Miranda <[email protected]>: >>> >>> >>> On Mon, Mar 22, 2010 at 2:25 PM, Stéphane Ducasse >>> <[email protected]> wrote: >>>> >>>> eliot >>>> >>>> Your changes fixed some of the problems. Now I tried to fix the test >>>> testAnalogousCodeTo in MethodPropertiesTest and >>>> the expression returns false. >>>> >>>> (#zork->'hello') analogousCodeTo: (#zork->'hello') -> false >>>> >>>> (#zork->'hello') = (#zork->'hello') -> true >>> >>> For me >>> #(#zork -> 'hello') size 3 >>> In Pharo is it true that >>> #(#zork -> 'hello') size 1 >>> ??!?! >>> In that case I would implement analogousCodeTo: in Association, e.g. >>> analogousCodeTo: anObject >>> ^anObject class == self class >>> and: [key = anObject key >>> and: [value = anObject value]] >>> >>> But if Association isn't a literal I would simply check >>> MethodPropertiesTests. It could be obsolete. >>>> >>>> Stef >>>> >>>> On Mar 22, 2010, at 6:20 PM, Eliot Miranda wrote: >>>> >>>>> Oops. Find attached. >>>>> >>>>> 2010/3/22 Cyrille Delaunay <[email protected]> >>>>> try in a Pharo-1.0-10515-rc3 image : >>>>> >>>>> |set| >>>>> set := Set new. >>>>> Collection withAllSubclasses do: [:aClass | >>>>> set addAll: aClass methods >>>>> ]. >>>>> >>>>> It will raise an exception telling: "MessageNotUnderstood: >>>>> ByteSymbol>>analogousCodeTo:". >>>>> Indeed, in the code of CompiledMethod >> = , the message >>>>> 'analogousCodeTo:' is send to a >>>>> symbol. >>>>> >>>>> >>>>> I opened an Issue: >>>>> http://code.google.com/p/pharo/issues/detail?id=2185 >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Pharo-project mailing list >>>>> [email protected] >>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >>>>> >>>>> >>>>> <Object-analogousCodeTo.st>_______________________________________________ >>>>> Pharo-project mailing list >>>>> [email protected] >>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >>>> >>>> >>>> _______________________________________________ >>>> Pharo-project mailing list >>>> [email protected] >>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >>> >>> >>> _______________________________________________ >>> Pharo-project mailing list >>> [email protected] >>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >>> >> >> _______________________________________________ >> Pharo-project mailing list >> [email protected] >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > > > _______________________________________________ > Pharo-project mailing list > [email protected] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
