[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