[Pkg] The Trunk: Tools-bf.396.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Mar 21 20:24:57 UTC 2012


Bert Freudenberg uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-bf.396.mcz

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

Name: Tools-bf.396
Author: bf
Time: 21 March 2012, 9:24:17.297 pm
UUID: 6a6ab13c-10bd-47c6-a243-4c6612974337
Ancestors: Tools-bf.395

Use becomeForward: instead of become: as suggested by Nicolas.

=============== Diff against Tools-bf.395 ===============

Item was changed:
  ----- Method: Inspector>>inspect: (in category 'initialize-release') -----
  inspect: anObject 
  	"Initialize the receiver so that it is inspecting anObject. There is no current selection.
  	
  	Normally the receiver will be of the correct class (as defined by anObject inspectorClass),
  	because it will have just been created by sedning inspect to anObject.   However, the
  	debugger uses two embedded inspectors, which are re-targetted on the current receiver
  	each time the stack frame changes.  The left-hand inspector in the debugger has its
  	class changed by the code here.  Care should be taken if this method is overridden to
  	ensure that the overriding code calls 'super inspect: anObject', or otherwise ensures that 
  	the class of these embedded inspectors are changed back."
  
  	| c |
  	c := anObject inspectorClass.
  	self class ~= c ifTrue: [
  		self class format = c format
  			ifTrue: [self primitiveChangeClassTo: c basicNew]
+ 			ifFalse: [self becomeForward: c basicNew]].
- 			ifFalse: [self become: c basicNew]].
  	"Set 'object' before sending the initialize message, because some implementations
  	of initialize (e.g., in DictionaryInspector) require 'object' to be non-nil."
  	
  	object := anObject. 
  	self initialize!



More information about the Packages mailing list