The Trunk: Monticello-ar.350.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Monticello-ar.350.mcz

commits-2
Andreas Raab uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-ar.350.mcz

==================== 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') -----
  createClass
+ | 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
- !