[squeak-dev] The Trunk: Tools-eem.736.mcz

Chris Muller asqueaker at gmail.com
Fri Dec 16 23:06:20 UTC 2016


You broke it.  ;)  Not only is there no #isMethodReference in my
image, but even after I added it, the formatting of MessageTrace is
totally broken.  I think we at least need to update those
"stringVersion" on the incoming MethodReferences...



On Fri, Dec 16, 2016 at 1:28 PM,  <commits at source.squeak.org> wrote:
> Eliot Miranda uploaded a new version of Tools to project The Trunk:
> http://source.squeak.org/trunk/Tools-eem.736.mcz
>
> ==================== Summary ====================
>
> Name: Tools-eem.736
> Author: eem
> Time: 16 December 2016, 11:28:21.691735 am
> UUID: edf74efa-cdf2-4a15-8526-40f44f02273b
> Ancestors: Tools-eem.735
>
> Stop MessageSet>>initializeMessageList: from installng new MethodReferences when given a list of MethodReferences.  The substitution breaks schemes such as constructing MessageSets for variants of MethodReference that hold edited versions of code, e.g. for viewing potential edits from the rewrite engine.
>
> =============== Diff against Tools-eem.735 ===============
>
> Item was changed:
>   ----- Method: MessageSet>>initializeMessageList: (in category 'private') -----
>   initializeMessageList: anArray
> +       "Initialize my messageList from the given list of MethodReference or string objects.  NB: special handling for uniclasses.
> +        Do /not/ replace the elements of anArray if they are already MethodReferences, so as to allow users to construct richer
> +        systems, such as differencers between existing and edited versions of code."
> -       "Initialize my messageList from the given list of MethodReference or string objects.  NB: special handling for uniclasses."
> -
>
>         messageList := OrderedCollection new.
> +       anArray do:
> +               [:each |
> +                each isMethodReference
> +                       ifTrue: [messageList addLast: each]
> +                       ifFalse:
> +                               [MessageSet
> +                                       parse: each
> +                                       toClassAndSelector: [ :class :sel | | s |
> +                                               class ifNotNil:
> +                                                       [class isUniClass
> +                                                               ifTrue:
> +                                                                       [s := class typicalInstanceName, ' ', sel]
> +                                                               ifFalse:
> +                                                                       [s := class name , ' ' , sel , ' {' ,
> +                                                                               ((class organization categoryOfElement: sel) ifNil: ['']) , '}' ,
> +                                                                               ' {', class category, '}'].
> +                                                       messageList addLast: (
> +                                                               MethodReference new
> +                                                                       setClass: class
> +                                                                       methodSymbol: sel
> +                                                                       stringVersion: s)]]]].
> -       anArray do: [ :each |
> -               MessageSet
> -                       parse: each
> -                       toClassAndSelector: [ :class :sel | | s |
> -                               class ifNotNil:
> -                                       [class isUniClass
> -                                               ifTrue:
> -                                                       [s := class typicalInstanceName, ' ', sel]
> -                                               ifFalse:
> -                                                       [s := class name , ' ' , sel , ' {' ,
> -                                                               ((class organization categoryOfElement: sel) ifNil: ['']) , '}' ,
> -                                                               ' {', class category, '}'].
> -                                       messageList add: (
> -                                               MethodReference new
> -                                                       setClass: class
> -                                                       methodSymbol: sel
> -                                                       stringVersion: s)]]].
>         messageListIndex := messageList isEmpty ifTrue: [0] ifFalse: [1].
>         contents := ''!
>
>


More information about the Squeak-dev mailing list