#258 AS1/2 chained assignments
Try to open attached file and decompile class "things". Interesting part at function move(): things.arr._yscale=register0=(things.arr._y + 20) / 3; things.arr._xscale=register0; Originally: arr ._xscale = arr ._yscale = (arr ._y + 20) / 3;
ship.swf (6 KiB)
PS: Please, ignore code itself, it can hurt your eyes.
The "things." prefix is OK I think as arr is static variable. Register0 is there because it is chained assignment. This is how FFDec currently decompiles chained assignments. It is how it intended to be. To decompile it as things.arr._xscale=things.arr._yscale=(things.arr._y + 20) / 3; I will need to find out whether the register is temporary only (not user elsewhere), and if it is, then remove it.
Title: AS2 Decompilation issue→AS1/2 chained assignments
I see.. would be great to see cleaner version in future, such code not so readable. And it will not compile back (register0 is not declared): things.as, Line 28 There is no property with the name 'register0'.
version 1.7.0 was released this should be better, try it
Looks great now, thanks!