Changes to Trunk (
http://source.squeak.org/trunk.html) in the last 24 hours:
http://lists.squeakfoundation.org/pipermail/packages/2010-May/003391.htmlName: Tools-dtl.240
Ancestors: Tools-fbs.239
Eliot's decompiler fix
Date: Tue, 18 May 2010 14:17:40 -0700
Subject: Re: [squeak-dev] decompiler breaks some methods
From: Eliot Miranda <eliot.miranda at gmail.com>
To: The general-purpose Squeak developers list <squeak-dev at lists.squeakfoundation.org>
On Tue, May 18, 2010 at 12:15 PM, Hans-Martin Mosner <hmm at heeg.de> wrote:
> Hello,
> while looking at the decompiled code of some OMeta methods I noticed
> that the temp name handling in the decompiler seems to be broken.
> When you compile a method with temps that are referenced from blocks,
> the decompiler tends to rearrange the temp names, so this method
>
> test
> | one two |
> two := 2.
> ^{[one := 1].
> [ [one + two] value]}
>
> gets decompiled to this:
>
> test
> | one two |
> one := 2.
> ^ {[two := 1]. [[two + one] value]}
>
OK, the issue in Squeak 4.1 is that the
CodeHolder>>decompiledSourceIntoContents method is out of date. Find
attached.
[-- Attachment #2: Decompiler.1.cs --]
=============================================