JPEXS Free Flash Decompiler Issue Tracker

If you are looking for the decompiler itself, visit

: WARNING - support of the decompiler is now VERY LIMITED. There are no active developers. This means waiting times in the issue tracker are very long and mostly depend on community. Sorry for the inconvenience.

List of issuesList of issues

#347 AS3 for loop with return decompiled as while inversed
Author: user pepka
Date created:
Type: question
Visibility: Everybody
Assigned to: admin JPEXS
Labels: AS3Decompilation
State: closed Help

> What is the expected output? What do you see instead? private function example(param1:int, param2:int):int { var var1:Object = null; var var2:int = -1; param2--; for (;;) { if (var1.x + var1.y > 0 && param1 < 0) { return var2 + 5; } } return var2; } is decompiled as private function example(param1:int, param2:int) : int { var var1:Object = null; var var2:* = -1; param2--; while(!(var1.x + var1.y > 0 && param1 < 0)) { } return var2 + 5; } > What version of the product are you using? On what operating system? 1.7.0u1 (1 KiB)
May I ask you what's the fucking point in attaching the source code instead of the compiled swf?
Please do not use coarse language here, thanks. I think it is not a problem in this particular case, because the example is simple and I can easily compile it myself.
Ok... I took another look on the code now (after 2 years) and found these two codes equal: In your code the "return var2" is never reached, so it is is correctly ignored by the decompiler. Your for loop breaks only when the if condition is met => (var1.x + var1.y > 0 && param1 < 0) So in fact, the loop continues when inverse loop is met => !(var1.x + var1.y > 0 && param1 < 0) Both codes are equivalent and I cannot distingish between them. If you agree I'll close this issue.
State: new→upgraded
Title: AS3 improper decompilation→AS3 for loop with return decompiled as while inversed
Type: bug→question
Assigned:admin JPEXS
I close this issue due to inactivity. Please create new issue if problem persists.
State: upgraded→closed