[etoys-dev] Etoys: System-kfr.46.mcz

commits at source.squeak.org commits at source.squeak.org
Sat May 28 10:45:57 EDT 2011


Karl Ramberg uploaded a new version of System to project Etoys:
http://source.squeak.org/etoys/System-kfr.46.mcz

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

Name: System-kfr.46
Author: kfr
Time: 28 May 2011, 4:45:13 pm
UUID: 723d8ef4-5d2b-2b48-a272-aefa8826415f
Ancestors: System-bf.45

Put Kedama object in category UserObjects

=============== Diff against System-bf.45 ===============

Item was changed:
  ----- Method: ImageSegment>>declareAndPossiblyRename: (in category 'fileIn/Out') -----
  declareAndPossiblyRename: classThatIsARoot
  	| existing catInstaller |
  	"The class just arrived in this segment.  How fit it into the Smalltalk dictionary?  If it had an association, that was installed with associationDeclareAt:."
  
  	catInstaller _ [
  		classThatIsARoot superclass name == #Player 
  			ifTrue: [classThatIsARoot category: Object categoryForUniclasses]
  			ifFalse: [(classThatIsARoot superclass name beginsWith: 'WonderLandActor')
  				ifTrue: [classThatIsARoot category: 'Balloon3D-UserObjects']
+ 				ifFalse: [classThatIsARoot category: Object categoryForUniclasses]].
- 				ifFalse: [classThatIsARoot category: 'Morphic-Imported']].
  	].
  	classThatIsARoot superclass addSubclass: classThatIsARoot.
  	(Smalltalk includesKey: classThatIsARoot name) ifFalse: [
  		"Class entry in Smalltalk not referred to in Segment, install anyway."
  		catInstaller value.
  		^ Smalltalk at: classThatIsARoot name put: classThatIsARoot].
  	existing _ Smalltalk at: classThatIsARoot name.
  	existing xxxClass == ImageSegmentRootStub ifTrue: [
  		"We are that segment!!  Must ask it carefully!!"
  		catInstaller value.
  		^ Smalltalk at: classThatIsARoot name put: classThatIsARoot].
  	existing == false | (existing == nil) ifTrue: [
  		"association is in outPointers, just installed"
  		catInstaller value.
  		^ Smalltalk at: classThatIsARoot name put: classThatIsARoot].
  	"Conflict with existing global or copy of the class"
  	(existing isKindOf: Class) ifTrue: [
  		classThatIsARoot isSystemDefined not ifTrue: [
  			"UniClass.  give it a new name"
  			classThatIsARoot setName: classThatIsARoot baseUniclass chooseUniqueClassName.
  			catInstaller value.	"must be after new name"
  			^ Smalltalk at: classThatIsARoot name put: classThatIsARoot].
  		"Take the incoming one"
  		self inform: 'Using newly arrived version of ', classThatIsARoot name.
  		classThatIsARoot superclass removeSubclass: classThatIsARoot.	"just in case"
  		(Smalltalk at: classThatIsARoot name) becomeForward: classThatIsARoot.
  		catInstaller value.
  		^ classThatIsARoot superclass addSubclass: classThatIsARoot].
  	self error: 'Name already in use by a non-class: ', classThatIsARoot name.
  !



More information about the etoys-dev mailing list