[squeak-dev] The Inbox: Monticello-fbs.543.mcz

commits at source.squeak.org commits at source.squeak.org
Wed May 8 20:40:27 UTC 2013


Frank Shearar uploaded a new version of Monticello to project The Inbox:
http://source.squeak.org/inbox/Monticello-fbs.543.mcz

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

Name: Monticello-fbs.543
Author: fbs
Time: 8 May 2013, 9:40:15.843 pm
UUID: 1422fea2-9764-4588-8e26-508d1d1f293f
Ancestors: Monticello-bf.542

Allow MC packages to be loaded into the current environment.

=============== Diff against Monticello-bf.542 ===============

Item was changed:
  ----- Method: MCClassDefinition>>createClass (in category 'installing') -----
  createClass
+ 	| env superClass class composition |
- 	| superClass class composition |
  	superClass := superclassName == #nil ifFalse:
  					[Smalltalk at: superclassName].
+ 	env := EnvironmentRequest signal ifNil: [superClass environment].
  	[class := (ClassBuilder new)
  			name: name 
+ 			inEnvironment: env
- 			inEnvironment: superClass environment 
  			subclassOf: superClass
  			type: type 
  			instanceVariableNames: self instanceVariablesString 
  			classVariableNames: self classVariablesString 
  			poolDictionaries: self sharedPoolsString
  			category: category.
  	] on: Warning, DuplicateVariableError do:[:ex| ex resume].
  
  	"The following is written to support traits unloading"
  	composition := self traitComposition ifNil: [Array new] ifNotNil: [:traitComposition | Compiler evaluate: traitComposition].
  	(composition isCollection and:[composition isEmpty and:[class traitComposition isEmpty]]) ifFalse:[
  		class setTraitComposition: composition asTraitComposition.
  	].
  
  	composition := self classTraitComposition ifNil: [Array new] ifNotNil: [:traitComposition | Compiler evaluate: traitComposition].
  	(composition isCollection and:[composition isEmpty and:[class class traitComposition isEmpty]]) ifFalse:[
  		class class setTraitComposition: composition asTraitComposition.
  	].
  
  	^class!



More information about the Squeak-dev mailing list