+ 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: postponed 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.
In a formula where a string is involved, and probably casted as int using "parseInt"
native method, the generated code does not represent the use of this function, and thus
output the following code:
_loc2_ = (_loc5_.getValueFromHeaderByPos(2,"#")) -
The code is not compilable in this case because the function return a String.
It should be:
_loc2_ = parseInt(_loc5_.getValueFromHeaderByPos(2,"#")) -
Note the decompiler is wrapping the first stem in parenthesis, maybe parseInt is just
Same behavior happen to the toString() method, where an int, uint, Number is given in a
function whose signature expect a String. Compiler throws an error if not casted to String
in generated code.
sorry for answering too late :-(.
I tried to simulate it, but if I compile AS2 or AS3 file with FlashProCS6,
the parseInt is decompiled correctly.
Could you provide us sample SWF file with this?
Or sample ActionScript source which can be compiled this way.