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 issues](/flash/images/issue_list.png)
#1207 Help. Need to understand these instructions
Author:
Alexa
![user user](/flash/images/user.png)
Date created:
Type: question
Visibility: Everybody
Assigned to:
State: closed ![Help](/flash/images/help.png)
![Help](/flash/images/help.png)
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_ ?
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
State: new→upgraded
instance = copy, reference.... they are the same string objects.
thank you!
State: upgraded→closed