[squeak-dev] The Trunk: Kernel-nice.289.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Nov 9 22:50:39 UTC 2009


Nicolas Cellier uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-nice.289.mcz

==================== Summary ====================

Name: Kernel-nice.289
Author: nice
Time: 8 November 2009, 1:03:07 am
UUID: 1a0c4764-9a36-4944-a87c-dfe5299dcc32
Ancestors: Kernel-tbn.288

Fix from http://code.google.com/p/pharo/issues/detail?id=1424
This will allow comparing 
a MethodProperties analogousCodeTo: an AdditionalMethodState
et vice et versa

=============== Diff against Kernel-tbn.288 ===============

Item was added:
+ ----- Method: AdditionalMethodState>>hasAtLeastTheSamePropertiesAs: (in category 'testing') -----
+ 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!

Item was changed:
  ----- Method: MethodProperties>>hasAtLeastTheSamePropertiesAs: (in category 'testing') -----
  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: [
+ 				properties ifNil: [^false].
+ 				^(properties at: k ifAbsent: [^false]) = v]].
- 		properties ifNil: [^false].
- 		^(properties at: k ifAbsent: [^false]) = v].
  	^true!

Item was changed:
  ----- Method: AdditionalMethodState>>analogousCodeTo: (in category 'testing') -----
  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!




More information about the Squeak-dev mailing list