JPEXS Free Flash Decompiler Issue Tracker

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

: 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

#1207 Help. Need to understand these instructions
Author: user Alexa
Date created:
Type: question
Visibility: Everybody
Assigned to:
State: upgraded Help

i have a decompiled method. if(param1.hasOwnProperty("targetBlocks")) { _loc8_ = param1.targetBlocks as Object; var _loc16_:* = 0; var _loc15_:* = _loc8_; for(var _loc14_ in _loc8_) { .... _loc5_ is used within this foreach. but it is not set (not decompiled). in the trait window from the right i see these instructions: pushstring "targetBlocks" callproperty Qname(Namespace("http://adobe.com/AS3/2006/builtin"),"hasOwnProperty") 1 iffalse ofs01d6 getlocal_1 getproperty Multiname("targetBlocks",[PrivateNamespace("com.cubeflux.apps.jewelGame.levelData:LevelDat a"),ProtectedNamespace("com.cubeflux.apps.jewelGame.levelData:LevelData"),StaticProtectedN s("com.cubeflux.apps.jewelGame.levelData:LevelData"),StaticProtectedNs("Object"),PackageNa mespace("com.cubeflux.apps.jewelGame.levelData"),PackageInternalNs("com.cubeflux.apps.jewe lGame.levelData"),PrivateNamespace("FilePrivateNS:LevelData"),PackageNamespace(""),Namespa ce("http://adobe.com/AS3/2006/builtin")]) getlex Qname(PackageNamespace(""),"Object") astypelate coerce Qname(PackageNamespace(""),"Object") setlocal 8 pushbyte 0 setlocal 16 getlocal 8 setlocal 15 jump ofs01cf ofs0087:label getlocal 15 getlocal 16 nextname coerce_s dup setlocal 5 <--- set here setlocal 14 does it meen that _loc5_ is set to _loc14_ ?
developer
local5 and local14 is set to the same value .... coerce_s <= something is on the stack, and coerce it to "The String" dup <= duplicate "The String" on the stack setlocal 5 <= set local5 to the last value from the stack, which is the 2nd instance of "The String" setlocal 14 <= set local14 to the last value from the stack, which is the 1st instance of "The String" so local5 and local14 will be the same string
developer
State: new→upgraded
developer
instance = copy, reference.... they are the same string objects.
user
thank you!