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

Jakob Reschke jakob.reschke at student.hpi.de
Thu Apr 13 12:23:34 UTC 2017


If there are no objections, will somebody merge this, please?

2017-04-11 19:23 GMT+02:00 Tobias Pape <Das.Linux at gmx.de>:
> 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