+ update 2020: WARNING - support of the decompiler is now VERY LIMITED. There are no active developers. This means we will NOT develop new features and/or fix most of bugs. We left the tracker running in case somebody from community would like to work on it. Sorry for the inconvenience.
State: closed new: Initial state. As long as issue is in this state, the work on the issue has not yet begun. opened: Opened state means developer started working on the issue. Feature/Fix will probably be in the next release. postponed: This means developer is not working on it now, for some reason it cannot be implemented now. Issue may be opened again in the future. upgraded: Issue is in upgraded state when developer made changes to the program and new version was released. closed: This means the user is satisfied with issue results and no more changes are needed. invalid: These issues cannot be solved. ignored: Developer decided to take no action on this issue. returned: Program changes were made but user is not satisfied and returned the issue.
> What steps will reproduce the problem?
Try to save the following:
var myArray = new Array();
> What is the expected output? What do you see instead?
var _loc1_ = new Array();
Expected: parameter of the push call is an object, not number 2.
> What version of the product are you using? On what operating system?
> Please provide any additional information below. Attach the file you have problem with
if neccessary. If you do not want to publish files YOU CAN CHANGE VISIBILITY TO PRIVATE
Open attached file
Edit AS then save it.
Check SetValue method.
Utils was anouther class. now it is added as a variable.
Another issue (v1.7.0):
try to save the following code:
var a = 1;
var b = 2;
var c = 3;
var d = (a = a + b) + c;
var _loc1_ = 1;
var _loc2_ = 2;
var _loc3_ = 3;
var _loc4_ = _loc1_ = _loc1_ + _loc2_ + _loc3_;
var _loc4_ = (_loc1_ = _loc1_ + _loc2_) + _loc3_;
Try to save the following code:
mx.controls.Button.prototype = (new mx.controls.SimpleButton()).init;
mx.controls.Button.prototype = new mx.controls.SimpleButton().init;
which can't be parsed again.
open attached swf
open mx.transitions.BroadcasterMX class
press edit in AS source editor
=> nothing happens, can't exit from editing mode, no error message
Exception in console:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Ok, I found new problem:)
Open as2.swf (test swf from repository)
Click Edit then Save (AS source panel)
It will show 2 constructors.
Click Edit-Save again => 3 constructors.
Everytime a new constuctor is added:)
Try to save the following line:
function easeInExpo(t, b, c, d)
return t != 0?c * Math.pow(2,10 * (t / d - 1)) + b - c * 0.001:b;
COLON exprected but MULTIPLY found on line 3
I tried to compile it as an AS3 script, there was no compile error. I haven't tried to
compile it as AS2. Is this a valid AS2 function? If it is, then it is a parsing problem,
otherwise it is a decompile problem, and i'll attach the sample swf.
Try to edit and save.
class ball_obj extends MovieClip
this.onEnterFrame = this.enterFrameHandler;
This was working some checkins ago (today), and working in latest stable build, too.
mx.managers.FocusManager.prototype = new mx.core.UIComponent().__get__defaultPushButton
CURLY_CLOSE expected but ASSIGN found on line 3
mx.skins.halo.RectBorder.prototype = new mx.skins.RectBorder().init = function(Void)
this.borderWidths.default = 3;
IDENTIFIER or THIS or SUPER or GLOBALFUNC or GLOBALCONST expected but DEFAULT found
mx.controls.listclasses.DataSelector = function()
}.Initialize = function(obj)
var _loc3_ = mx.controls.listclasses.DataSelector.mixinProps;
Result: CURLY_CLOSE expected but SUPER found on line 5
Try to edit and save (multiple times) the following AS2 script:
function run_mo(x, y)
if(y.x >= y.y)
if(y.x >= y.y)
The source will be longer and longer. It adds unnecessary if statements. Ok, it is
equivalent with the original code, but this should be a bug.
Similar to issue "03/02/2014, 12:05:18 pm"
if(ddo.cf.crosserror == true)
var _loc3_ = 0;
for(ir in _parent.trackerror)
_loc3_ = _loc3_ + 1;
if(_loc3_ < _parent.playlist.length)
Creates new if branches for every saving.
The above problem was in 2.swf (71401 bytes) \DefineSprite_27\frame_1\DoAction.as
It seems to be fixed, however there is a $$pop instruction which blocks the save, but when
i remove it there is not more new branches.