diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/AVM2SourceGenerator.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/AVM2SourceGenerator.java index f00b3db41..ce4e8b0c8 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/AVM2SourceGenerator.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/AVM2SourceGenerator.java @@ -157,10 +157,10 @@ public class AVM2SourceGenerator implements SourceGenerator { public List generate(SourceGeneratorLocalData localData, AndItem item) throws CompilationException { List ret = new ArrayList<>(); ret.addAll(generateToActionList(localData, item.leftSide)); + ret.add(ins(AVM2Instructions.Dup)); if (!("" + item.leftSide.returnType()).equals("Boolean")) { ret.add(ins(AVM2Instructions.ConvertB)); } - ret.add(ins(AVM2Instructions.Dup)); List andExpr = generateToActionList(localData, item.rightSide); andExpr.add(0, ins(AVM2Instructions.Pop)); int andExprLen = insToBytes(andExpr).length; @@ -189,10 +189,10 @@ public class AVM2SourceGenerator implements SourceGenerator { public List generate(SourceGeneratorLocalData localData, OrItem item) throws CompilationException { List ret = new ArrayList<>(); ret.addAll(generateToActionList(localData, item.leftSide)); + ret.add(ins(AVM2Instructions.Dup)); if (!("" + item.leftSide.returnType()).equals("Boolean")) { ret.add(ins(AVM2Instructions.ConvertB)); } - ret.add(ins(AVM2Instructions.Dup)); List orExpr = generateToActionList(localData, item.rightSide); orExpr.add(0, ins(AVM2Instructions.Pop)); int orExprLen = insToBytes(orExpr).length;