diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/BinaryOpItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/BinaryOpItem.java index c28e1573c..ecb353a03 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/BinaryOpItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/BinaryOpItem.java @@ -83,7 +83,7 @@ public abstract class BinaryOpItem extends GraphTargetItem implements BinaryOp { writer.append(" "); int rightPrecedence = rightSide.getPrecedence(); - if (rightPrecedence > precedence && rightPrecedence != GraphTargetItem.NOPRECEDENCE) { + if (rightPrecedence >= precedence && rightPrecedence != GraphTargetItem.NOPRECEDENCE) { writer.append("("); rightSide.toString(writer, localData); writer.append(")"); diff --git a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript3Test.java b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript3Test.java index 150b63b3d..76263edbf 100644 --- a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript3Test.java +++ b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript3Test.java @@ -1186,4 +1186,13 @@ public class ActionScript3Test extends ActionScriptTestBase { + "trace(String(this).length);\r\n", false); } + @Test + public void testPrecedenceX() { + decompileMethod("testPrecedenceX", "var a:* = 5;\r\n" + + "var b:* = 2;\r\n" + + "var c:* = 3;\r\n" + + "var d:* = a << (b >>> c);\r\n" + + "var e:* = a << b >>> c;\r\n", false); + } + }