[squeak-dev] The Inbox: Monticello-cmm.579.mcz

Frank Shearar frank.shearar at gmail.com
Wed Dec 18 17:03:47 UTC 2013


On 18 December 2013 16:58, Chris Muller <asqueaker at gmail.com> wrote:
> This establishes a new dependency from Monticello on Environments, but
> it allows one of the Environments tests to pass.

(I'm OK with Monticello depending on Environments, just for the
record. Just update the relevant PackageDependencyTest, please.)

> I do not wish to create any new problems or crash trunk update.  Colin
> and all, could you please review?

Levente and Colin understand Environments much more deeply than I do,
but as I said earlier, it seems to be obviously correct.

frank

> On Wed, Dec 18, 2013 at 10:54 AM,  <commits at source.squeak.org> wrote:
>> A new version of Monticello was added to project The Inbox:
>> http://source.squeak.org/inbox/Monticello-cmm.579.mcz
>>
>> ==================== Summary ====================
>>
>> Name: Monticello-cmm.579
>> Author: cmm
>> Time: 18 December 2013, 10:54:24.31 am
>> UUID: 0d53b5d5-4955-4746-ab5d-9fab8fad410b
>> Ancestors: Monticello-nice.578
>>
>> - When installing classes, ask EnvironmentRequest for the Environment to create in.
>>         This lets MCEnvironmentLoadTest>>#testLoadIntoEnvironment pass.
>>
>> =============== Diff against Monticello-nice.578 ===============
>>
>> Item was changed:
>>   ----- Method: MCClassDefinition>>createClass (in category 'installing') -----
>>   createClass
>>         | superClass class composition |
>>         superClass := superclassName == #nil ifFalse:
>>                                         [Smalltalk at: superclassName].
>>         [class := (ClassBuilder new)
>>                         name: name
>> +                       inEnvironment: (EnvironmentRequest signal ifNil: [superClass environment])
>> -                       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