2009/4/15 Damien Cassou <[email protected]>:
> 2009/4/15 Dennis Schetinin <[email protected]>:
>> [:a :b | a+b] decompile decompileString
>>
>> gives '[:t1 :t2 | t1 + t2]'
>>
>> (The same thing when I decompile block defined in method)
>>
>> (In #decompileBlock:) the branch
>>    method fileIndex ~~ 0  ifTrue: [...]
>> finds all tempVar names including block's arguments but then they are eaten
>> by
>>   self initSymbols: homeClass
>> where only tempVars defined by method itself survive...
>>
>> ... and I don't know how to fix it...
>
> I think that is perfectly normal. The bytecode do not need the
> variable names, only their indices.
>

Yes but it is convenient to have a decompileString preserving those names.
Also it would be interesting to check decompilation of nested blocks like:

[:i :j | (i to: j) collect: [:k | j-k+i]] decompile decompileString


'[:t1 :t2 | (t1 to: t2)
                collect: [:t1 | t2 - t1 + t1]]'

Argh a bug!

Nicolas


> --
> Damien Cassou
> http://damiencassou.seasidehosting.st
>
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to