[Pkg] The Trunk: Monticello-ar.350.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Jan 1 18:23:00 UTC 2010

Andreas Raab uploaded a new version of Monticello to project The Trunk:

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

Name: Monticello-ar.350
Author: ar
Time: 1 January 2010, 7:22:28 am
UUID: 7e908a5e-3004-2143-a011-4ab25930801b
Ancestors: Monticello-nice.349

Making traits unloadable: Slight change to Monticello class creation to function correctly in the absence of traits.

=============== Diff against Monticello-nice.349 ===============

Item was changed:
  ----- Method: MCClassDefinition>>createClass (in category 'installing') -----
+ 	| superClass class composition |
- 	| superClass class |
  	superClass := Smalltalk at: superclassName.
  	class := (ClassBuilder new)
  			name: name 
  			inEnvironment: superClass environment 
  			subclassOf: superClass
  			type: type 
  			instanceVariableNames: self instanceVariablesString 
  			classVariableNames: self classVariablesString 
  			poolDictionaries: self sharedPoolsString
  			category: category.
+ 	"The following is written to support traits unloading"
+ 	composition := Compiler evaluate: (self traitComposition ifNil:['{}']).
+ 	(composition isEmpty and:[class traitComposition isEmpty]) ifFalse:[
+ 		class setTraitComposition: composition asTraitComposition.
+ 	].
- 	class setTraitComposition: (Compiler
- 		evaluate: (self traitComposition ifNil:['{}'])) asTraitComposition.
+ 	composition := Compiler evaluate: (self classTraitComposition ifNil:['{}']).
+ 	(composition isEmpty and:[class class traitComposition isEmpty]) ifFalse:[
+ 		class class setTraitComposition: composition asTraitComposition.
+ 	].
- 	class class setTraitComposition: (Compiler
- 		evaluate: (self classTraitComposition ifNil:['{}'])) asTraitComposition.
+ 	^class!
- 	^class
- !

More information about the Packages mailing list