[squeak-dev] The Inbox: System-jr.919.mcz

Tobias Pape Das.Linux at gmx.de
Tue Apr 11 17:23:46 UTC 2017


Looks good from here.

> On 11.04.2017, at 18:56, Jakob Reschke <jakob.reschke at student.hpi.de> wrote:
> 
> May anybody review this, please? Without this (or another fix) we
> cannot reliably store trait comments with FileTree/Cypress. We have to
> revert the comment removals all the time with Git.
> 
> Best,
> Jakob
> 
> 2017-02-12 16:52 GMT+01:00 commits at source.squeak.org
> <commits at source.squeak.org>:
>> A new version of System was added to project The Inbox:
>> http://source.squeak.org/inbox/System-jr.919.mcz
>> 
>> ==================== Summary ====================
>> 
>> Name: System-jr.919
>> Author: jr
>> Time: 12 February 2017, 4:10:59.703498 pm
>> UUID: 95683f1a-e60c-fe4e-a86a-62cc5b00a151
>> Ancestors: System-cmm.918
>> 
>> add PseudoTrait and support for it in FilePackage
>> 
>> main objective is to let Monticello read Trait comments from the st snapshot, which does not work when the trait definition is only treated as a doIt
>> 
>> =============== Diff against System-cmm.918 ===============
>> 
>> Item was changed:
>>  ----- Method: FilePackage>>doIt: (in category 'change record types') -----
>>  doIt: chgRec
>>        | string |
>>        string := chgRec string.
>>        ('*ubclass:*instanceVariableNames:*classVariableNames:*poolDictionaries:*category:*'
>>                match: string) ifTrue:[^self classDefinition: string with: chgRec].
>> +       ('*named:*uses:*category:*'
>> +               match: string) ifTrue:["Trait" ^ self traitDefinition: string with: chgRec].
>>        ('* class*instanceVariableNames:*'
>>                match: string) ifTrue:[^self metaClassDefinition: string with: chgRec].
>>        ('* removeSelector: *'
>>                match: string) ifTrue:[^self removedMethod: string with: chgRec].
>>        ('* comment:*'
>>                match: string) ifTrue:[^self msgClassComment: string with: chgRec].
>>        ('* initialize'
>>                match: string) ifTrue:[^self]. "Initialization is done based on class>>initialize"
>>        ('''From *'
>>                match: string) ifTrue:[^self possibleSystemSource: chgRec].
>>        doIts add: chgRec.!
>> 
>> Item was added:
>> + ----- Method: FilePackage>>getBehavior:factory: (in category 'private') -----
>> + getBehavior: name factory: pseudoBehaviorFactory
>> +       | pseudoBehavior |
>> +       (classes includesKey: name) ifTrue:[
>> +               ^classes at: name.
>> +       ].
>> +       pseudoBehavior := pseudoBehaviorFactory new.
>> +       pseudoBehavior name: name.
>> +       classes at: name put: pseudoBehavior.
>> +       ^pseudoBehavior.!
>> 
>> Item was changed:
>>  ----- Method: FilePackage>>getClass: (in category 'private') -----
>>  getClass: className
>> +       ^ self getBehavior: className factory: PseudoClass!
>> -       | pseudoClass |
>> -       (classes includesKey: className) ifTrue:[
>> -               ^classes at: className.
>> -       ].
>> -       pseudoClass := PseudoClass new.
>> -       pseudoClass name: className.
>> -       classes at: className put: pseudoClass.
>> -       ^pseudoClass.!
>> 
>> Item was added:
>> + ----- Method: FilePackage>>getTrait: (in category 'private') -----
>> + getTrait: traitName
>> +       ^ self getBehavior: traitName factory: PseudoTrait!
>> 
>> Item was added:
>> + PseudoClass subclass: #PseudoTrait
>> +       instanceVariableNames: ''
>> +       classVariableNames: ''
>> +       poolDictionaries: ''
>> +       category: 'System-FilePackage'!
>> +
>> + !PseudoTrait commentStamp: 'jr 2/12/2017 15:50' prior: 0!
>> + Like a PseudoClass, but standing in for a Trait. Works identically to PseudoClass otherwise.!
>> 
>> Item was added:
>> + ----- Method: PseudoTrait>>isTrait (in category 'testing') -----
>> + isTrait
>> +       ^ true!
>> 
>> 
> 



More information about the Squeak-dev mailing list