mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-09-26 15:00:45 +00:00
Issue #258 AS1/2 chained assignments
AS1/2 Detecting temporary registers assignment spaces
This commit is contained in:
@@ -21,6 +21,7 @@ import com.jpexs.decompiler.flash.SWFInputStream;
|
||||
import com.jpexs.decompiler.flash.SWFOutputStream;
|
||||
import com.jpexs.decompiler.flash.action.Action;
|
||||
import com.jpexs.decompiler.flash.action.model.DirectValueActionItem;
|
||||
import com.jpexs.decompiler.flash.action.model.TemporaryRegister;
|
||||
import com.jpexs.decompiler.flash.action.parser.ParseException;
|
||||
import com.jpexs.decompiler.flash.action.parser.pcode.ASMParsedSymbol;
|
||||
import com.jpexs.decompiler.flash.action.parser.pcode.FlasmLexer;
|
||||
@@ -347,13 +348,18 @@ public class ActionPush extends Action {
|
||||
}
|
||||
}*/
|
||||
DirectValueActionItem dvt = new DirectValueActionItem(this, pos, o, constantPool);
|
||||
stack.push(dvt);
|
||||
if (o instanceof RegisterNumber) {
|
||||
|
||||
if (o instanceof RegisterNumber) {//TemporaryRegister
|
||||
dvt.computedRegValue = variables.get("__register" + ((RegisterNumber) o).number);
|
||||
if (regNames.containsKey(((RegisterNumber) o).number)) {
|
||||
((RegisterNumber) o).name = regNames.get(((RegisterNumber) o).number);
|
||||
}
|
||||
}
|
||||
if (dvt.computedRegValue instanceof TemporaryRegister) {
|
||||
stack.push(((TemporaryRegister) dvt.computedRegValue).value);
|
||||
} else {
|
||||
stack.push(dvt);
|
||||
}
|
||||
pos++;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user