The Trunk: Tools-eem.736.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Tools-eem.736.mcz

commits-2
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 := ''!


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Tools-eem.736.mcz

Chris Muller-3
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,  <[hidden email]> 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 := ''!
>
>

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Tools-eem.736.mcz

Eliot Miranda-2
Hi Chris,

On Fri, Dec 16, 2016 at 3:06 PM, Chris Muller <[hidden email]> wrote:
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...

Oh, I'm sorry.  I did not think and simply assumed my VMMaker image (which is at least regularly updated) was close to trunk.  Forgive me.
 



On Fri, Dec 16, 2016 at 1:28 PM,  <[hidden email]> 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 := ''!
>
>




--
_,,,^..^,,,_
best, Eliot