[Pkg] The Trunk: Tools-eem.736.mcz
commits at source.squeak.org
commits at source.squeak.org
Fri Dec 16 19:28:27 UTC 2016
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 Packages
mailing list