JPEXS Free Flash Decompiler Issue Tracker

If you are looking for the decompiler itself, visit https://github.com/jindrapetrik/jpexs-decompiler

NEW : We have got a new blog where we post some interesting SWF internals info.

List of issuesList of issues

#1126 AS3 decompiled with wrong setter and illegal break statement
Author: user devbn
Date created:
Type: bug
Visibility: Everybody
Assigned to:
State: closed Help

> What steps will reproduce the problem? 1. Extract the simplegraph.swf file attached. 2. Visit source of class com.ibm.ilog.elixir.diagram.graphlayout.GraphLayout > What is the expected output? What do you see instead? EXPECTED: the setter _2010579132linkConnectionBoxProvider should be something like this: private function set _2010579132linkConnectionBoxProvider(value:ILinkConnectionBoxProvider) : void { if(!this.supportsLinkConnectionBox()) { LogResUtil.logAndThrowRuntimeExc(GraphLayout,"graphlayout.expert.message.6031E"); } if(value != this._linkConnectionBoxInterface) { this._linkConnectionBoxInterface = value; this.onParameterChanged("LinkConnectionBoxInterface",value); } } ACTUAL: private function set _2010579132linkConnectionBoxProvider(param1:ILinkConnectionBoxProvider) : void { LogResUtil.logAndThrowRuntimeExc(GraphLayout,"graphlayout.expert.message.6031E"); if(param1 != this._linkConnectionBoxInterface) { this._linkConnectionBoxInterface = param1; this.onParameterChanged("LinkConnectionBoxInterface",param1); } } ==> This setter always throw error, but the original is not. > What version of the product are you using? Is it "nightly build"? Which operating system do you have? This bug can reproduce in both ffdec_7.1.1 and ffdec_7.1.2_nightly1169 > Please provide any additional information below. If the problem is related to a SWF file, attach it here, otherwise we can't help you. See attachment
Downloadsimplegraph.swf (1,166 KiB)
user
More problem: At the last line of method function performNonRecursiveLayout(), there's a bug: EXPECTED: the last line must be: return _layoutReport; ACTUAL: break loop1;
developer
supportsLinkConnectionBox returns constant false, so the expresion will be always true. Deobfuscation removes the if statement, because the condition is always true. So the deompilation is correct. Please turn off deobfuscation if you want to see the if statement. 2nd is a bug.
user
OK, I unchecked the deofuscation option and the output is correct. For the 2nd problem, should I create a new separate issue?
developer
No, this issue is ok.
user
Hi honfika Is there any update for this issue?
developer
Hi, No, I'm not working on decompilation issues. It will be fixed by JPEXS later.
user
Hi @jpexs, could you pls spent time to check the problem of the performNonRecursiveLayout() has an illegal break label I mentioned above?
admin
Decompilation of try..finally block is pretty hard to implement. finally clause uses switch internally when there are throw/return statements somewhere in the body. In this case, there are two nested finally blocks which makes it more complicated. To be honest - I thank a god it displays at least something now! But yes it's bug and needs to be fixed. I am too tired right now. Maybe during weekend I could have a look, but can't promise anything, sorry.
user
Thank you very much JPEXS.
admin
Unfortunately, situation in my job is a bit critical so I go home really exhausted and I don't have a mood during weekends to even sit to the computer and think or even start Netbeans - I need to relax - visit some events with animals, exhibitions, concerts, somewhere where there's no need to brain, etc. I admit it. Sometimes it's better. I can't really promise any dates when this will be fixed :-(. I am trying to at least answer questions on Issue tracker or reply somewhere - it's not much to think. Or server upgrades. I think anybody understands. The decompiler is opensource, anybody can (at least try to) fix it or help.
admin
I don't think it is now (after flash shutdown) even relevant, but after many years, this seems to be fixed in latest nightly build. Last time I said I rather spend weekend on events like exhibitions/concerts... so now its covid time, everybody sits home... :-D.
State: new→upgraded
admin
State: upgraded→closed