From 99ccd085bdb88860a557bda8d4414bf66425c223 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Fri, 13 Nov 2015 06:51:10 +0100 Subject: [PATCH] AS3 direct editation - and/or coercion fix --- .../flash/abc/avm2/parser/script/AVM2SourceGenerator.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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;