[squeak-dev] Order of evaluation bug with in lined to:do: in both Opal and Squeak compilers.
Nicolas Cellier
nicolas.cellier.aka.nice at gmail.com
Fri Apr 21 21:05:32 UTC 2017
I see more than 1000 senders but most of them are in the style 1 to: ...
If any of receiver or 1st arg is a LiteralNode, no need to analyze, so it
should be possible to write a small analyzer to select non trivial cases
and review manually. Something like:
SystemNavigation default
browseMessageList: ((SystemNavigation default allCallsOn: #to:do:)
select: [:e |
| ast found |
ast := e actualClass newParser parse: e sourceCode class: e
actualClass.
found := nil.
ast accept: (ParseNodeEnumerator
ofBlock: [:node | ((node isKindOf: MessageNode)
and: [node selector key = #to:do:
and: [node receiver isLiteralNode not
and: [node arguments first isLiteralNode not]]])
ifTrue: [found := node]]).
found notNil])
name: 'complex senders of to:do:'
autoSelect: true.
Above script did not find any complex senders though I see some, so I must
have screwed something, but you get the idea.
Then there is the case of to:by:do: to analyze too.
2017-04-21 16:08 GMT+02:00 Bert Freudenberg <bert at freudenbergs.de>:
> On Fri, Apr 21, 2017 at 1:56 AM, Eliot Miranda <eliot.miranda at gmail.com>
> wrote:
>
>> On the order of evaluation bug, does anyone have any memory of which
>> methods depended on this bug?
>>
>
> No idea ...
>
> - Bert -
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20170421/5661be16/attachment.html>
More information about the Squeak-dev
mailing list
|