[squeak-dev] The Trunk: Tools-nice.174.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Feb 9 14:27:19 UTC 2010


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

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

Name: Tools-nice.174
Author: nice
Time: 9 February 2010, 3:26:58.031 pm
UUID: ee5319af-8e72-b246-96c9-c5d5af3348f7
Ancestors: Tools-dtl.173

Workaround to avoid a bug in MessageNames finder update logic:
In method #inheritanceButtonColor, currentCompiledMethod becomes undefined when selecting an un-implemented message.
Apparently, inheritanceButtonColor seems to be called several times, the first one with a non nil instance which is changed to nil before method finishes...

=============== Diff against Tools-dtl.173 ===============

Item was changed:
  ----- Method: CodeHolder>>inheritanceButtonColor (in category 'toolbuilder') -----
  inheritanceButtonColor
  	"Check to see if the currently-viewed method has a super send or an override, and if so, change screen feedback, unless the #decorateBrowserButtons says not to."
  
+ 	| flags aColor cm |
+ 	cm := currentCompiledMethod.
+ 	((cm isKindOf: CompiledMethod) and: [Preferences decorateBrowserButtons])
- 	| flags aColor |
- 	((currentCompiledMethod isKindOf: CompiledMethod) and: [Preferences decorateBrowserButtons])
  		ifFalse: [^Color transparent].
  
  	"This table duplicates the old logic, but adds two new colors for the cases where there is a superclass definition, but this method doesn't call it."
  
  	flags := 0.
  	self isThisAnOverride ifTrue: [ flags := flags bitOr: 4 ].
+ 	cm sendsToSuper ifTrue: [ flags := flags bitOr: 2 ].
- 	currentCompiledMethod sendsToSuper ifTrue: [ flags := flags bitOr: 2 ].
  	self isThereAnOverride ifTrue: [ flags := flags bitOr: 1 ].
  	aColor := {
  		Color transparent.
  		Color tan lighter.
  		Color green muchLighter.
  		Color blue muchLighter.
  		Color red muchLighter.	"has super but doesn't call it"
  		(Color r: 0.94 g: 0.823 b: 0.673).	"has sub; has super but doesn't call it"
  		Color green muchLighter.
  		Color blue muchLighter.
  	} at: flags + 1.
  
  	^aColor!




More information about the Squeak-dev mailing list