diff --git a/plugins/java-decompiler/engine/test/org/jetbrains/java/decompiler/DecompilerTestFixture.java b/plugins/java-decompiler/engine/test/org/jetbrains/java/decompiler/DecompilerTestFixture.java index 75c80f7cbab8..5b57137187ed 100644 --- a/plugins/java-decompiler/engine/test/org/jetbrains/java/decompiler/DecompilerTestFixture.java +++ b/plugins/java-decompiler/engine/test/org/jetbrains/java/decompiler/DecompilerTestFixture.java @@ -9,7 +9,9 @@ import org.jetbrains.java.decompiler.main.decompiler.PrintStreamLogger; import org.jetbrains.java.decompiler.main.extern.IFernflowerPreferences; import org.jetbrains.java.decompiler.util.InterpreterUtil; -import java.io.*; +import java.io.File; +import java.io.IOException; +import java.io.UncheckedIOException; import java.nio.charset.StandardCharsets; import java.nio.file.FileVisitResult; import java.nio.file.Files; @@ -121,28 +123,6 @@ public class DecompilerTestFixture { }); } - private static void fix(Path expected, Path actual) throws IOException { - BufferedReader inputStream = new BufferedReader(new FileReader( - actual.toFile(), StandardCharsets.UTF_8)); - File UIFile = expected.toFile(); - // if File doesnt exists, then create it - if (!UIFile.exists()) { - UIFile.createNewFile(); - } - FileWriter filewriter = new FileWriter(UIFile.getAbsoluteFile(), StandardCharsets.UTF_8); - BufferedWriter outputStream= new BufferedWriter(filewriter); - int i; - do { - i = inputStream.read(); - if (i != -1) { - outputStream.write(i); - } - } while (i != -1); - outputStream.flush(); - outputStream.close(); - inputStream.close(); - } - public static void assertFilesEqual(Path expected, Path actual) { if (Files.isDirectory(expected)) { try { @@ -150,19 +130,7 @@ public class DecompilerTestFixture { @Override public FileVisitResult visitFile(Path expectedFile, BasicFileAttributes attrs) { Path actualFile = actual.resolve(expected.relativize(expectedFile)); - try { - assertThat(actualFile).usingCharset(StandardCharsets.UTF_8).hasSameTextualContentAs(expectedFile, StandardCharsets.UTF_8); - } - catch (AssertionError e) { - if (actualFile.toString().endsWith(".java")) { - try { - fix(expectedFile, actualFile); - } - catch (IOException ex) { - throw new RuntimeException(ex); - } - } - } + assertThat(actualFile).usingCharset(StandardCharsets.UTF_8).hasSameTextualContentAs(expectedFile, StandardCharsets.UTF_8); return FileVisitResult.CONTINUE; } }); @@ -172,16 +140,7 @@ public class DecompilerTestFixture { } } else { - try { - assertThat(actual).usingCharset(StandardCharsets.UTF_8).hasSameTextualContentAs(expected, StandardCharsets.UTF_8); - }catch (AssertionError e) { - try { - fix(expected, actual); - } - catch (IOException ex) { - throw new RuntimeException(ex); - } - } + assertThat(actual).usingCharset(StandardCharsets.UTF_8).hasSameTextualContentAs(expected, StandardCharsets.UTF_8); } } diff --git a/plugins/java-decompiler/engine/test/org/jetbrains/java/decompiler/SingleClassesTest.java b/plugins/java-decompiler/engine/test/org/jetbrains/java/decompiler/SingleClassesTest.java index fe56f736d6f3..160825e724cc 100644 --- a/plugins/java-decompiler/engine/test/org/jetbrains/java/decompiler/SingleClassesTest.java +++ b/plugins/java-decompiler/engine/test/org/jetbrains/java/decompiler/SingleClassesTest.java @@ -148,7 +148,6 @@ public class SingleClassesTest extends SingleClassesTestBase { @Test public void testSwitchWithDeconstructionsWithoutNestedJavac() { doTest("pkg/TestSwitchWithDeconstructionsWithoutNestedJavac"); } //todo fix after merging - //todo fix ++i //todo fix nested variables //@Test public void testSwitchNestedDeconstructionJavac() { doTest("pkg/TestSwitchNestedDeconstructionsJavac"); } @Test public void testSwitchWrapReturnJavac() { doTest("pkg/TestSwitchWrapReturnJavac"); } diff --git a/plugins/java-decompiler/engine/testData/classes/pkg/TestCompoundAssignment.class b/plugins/java-decompiler/engine/testData/classes/pkg/TestCompoundAssignment.class index 8a940dae3be9..7ce9ef3d3240 100644 Binary files a/plugins/java-decompiler/engine/testData/classes/pkg/TestCompoundAssignment.class and b/plugins/java-decompiler/engine/testData/classes/pkg/TestCompoundAssignment.class differ diff --git a/plugins/java-decompiler/engine/testData/obfuscated/o.java b/plugins/java-decompiler/engine/testData/obfuscated/o.java index 8276da1b6660..a9f961ec1eff 100644 --- a/plugins/java-decompiler/engine/testData/obfuscated/o.java +++ b/plugins/java-decompiler/engine/testData/obfuscated/o.java @@ -232,7 +232,7 @@ public class o { } if (var1 < 0) { - var1 = var1 * -1; + var1 *= -1; try { if (var2.length() < var1) { @@ -268,7 +268,7 @@ public class o { } if (var1 < 0) { - var1 = var1 * -1; + var1 *= -1; try { if (var2.length() < var1) { diff --git a/plugins/java-decompiler/engine/testData/results/Integer.dec b/plugins/java-decompiler/engine/testData/results/Integer.dec index ad39be8c0fc1..52aee4200438 100644 --- a/plugins/java-decompiler/engine/testData/results/Integer.dec +++ b/plugins/java-decompiler/engine/testData/results/Integer.dec @@ -171,7 +171,7 @@ public final class Integer extends Number implements Comparable { } int var8; - for(int var7 = var6 / var1; var4 < var5; var2 = var2 - var8) {// 575 576 589 + for(int var7 = var6 / var1; var4 < var5; var2 -= var8) {// 575 576 589 var8 = Character.digit(var0.charAt(var4++), var1);// 578 if (var8 < 0) {// 579 throw NumberFormatException.forInputString(var0);// 580 @@ -181,7 +181,7 @@ public final class Integer extends Number implements Comparable { throw NumberFormatException.forInputString(var0);// 583 } - var2 = var2 * var1;// 585 + var2 *= var1;// 585 if (var2 < var6 + var8) {// 586 throw NumberFormatException.forInputString(var0);// 587 } @@ -388,11 +388,11 @@ public final class Integer extends Number implements Comparable { } public static int highestOneBit(int var0) { - var0 = var0 | var0 >> 1;// 1348 - var0 = var0 | var0 >> 2;// 1349 - var0 = var0 | var0 >> 4;// 1350 - var0 = var0 | var0 >> 8;// 1351 - var0 = var0 | var0 >> 16;// 1352 + var0 |= var0 >> 1;// 1348 + var0 |= var0 >> 2;// 1349 + var0 |= var0 >> 4;// 1350 + var0 |= var0 >> 8;// 1351 + var0 |= var0 >> 16;// 1352 return var0 - (var0 >>> 1);// 1353 } @@ -425,7 +425,7 @@ public final class Integer extends Number implements Comparable { var0 <<= 2; } - var1 = var1 - (var0 >>> 31);// 1404 + var1 -= var0 >>> 31;// 1404 return var1;// 1405 } } @@ -464,11 +464,11 @@ public final class Integer extends Number implements Comparable { } public static int bitCount(int var0) { - var0 = var0 - (var0 >>> 1 & 1431655765);// 1446 + var0 -= var0 >>> 1 & 1431655765;// 1446 var0 = (var0 & 858993459) + (var0 >>> 2 & 858993459);// 1447 var0 = var0 + (var0 >>> 4) & 252645135;// 1448 - var0 = var0 + (var0 >>> 8);// 1449 - var0 = var0 + (var0 >>> 16);// 1450 + var0 += var0 >>> 8;// 1449 + var0 += var0 >>> 16;// 1450 return var0 & 63;// 1451 } @@ -1066,9 +1066,7 @@ class 'java/lang/Integer' { d5 180 d6 180 d7 180 - d8 183 d9 183 - da 183 db 183 dc 184 dd 184 @@ -1082,10 +1080,8 @@ class 'java/lang/Integer' { e7 185 e8 185 e9 185 - ea 173 eb 173 ec 173 - ed 173 ee 173 f5 191 f6 191 @@ -1674,37 +1670,27 @@ class 'java/lang/Integer' { } method 'highestOneBit (I)I' { - 0 390 1 390 2 390 3 390 - 4 390 5 390 - 6 391 7 391 8 391 9 391 - a 391 b 391 - c 392 d 392 e 392 f 392 - 10 392 11 392 - 12 393 13 393 14 393 15 393 16 393 - 17 393 18 393 - 19 394 1a 394 1b 394 1c 394 1d 394 - 1e 394 1f 394 20 395 21 395 @@ -1772,12 +1758,10 @@ class 'java/lang/Integer' { 3e 423 40 424 42 424 - 43 427 44 427 45 427 46 427 47 427 - 48 427 49 427 4a 428 4b 428 @@ -1848,14 +1832,12 @@ class 'java/lang/Integer' { } method 'bitCount (I)I' { - 0 466 1 466 2 466 3 466 4 466 5 466 6 466 - 7 466 8 466 9 467 a 467 @@ -1878,19 +1860,15 @@ class 'java/lang/Integer' { 1b 468 1c 468 1d 468 - 1e 469 1f 469 20 469 21 469 22 469 - 23 469 24 469 - 25 470 26 470 27 470 28 470 29 470 - 2a 470 2b 470 2c 471 2d 471 diff --git a/plugins/java-decompiler/engine/testData/results/TestCompoundAssignment.dec b/plugins/java-decompiler/engine/testData/results/TestCompoundAssignment.dec index ef6bd4a14465..3bd137be8055 100644 --- a/plugins/java-decompiler/engine/testData/results/TestCompoundAssignment.dec +++ b/plugins/java-decompiler/engine/testData/results/TestCompoundAssignment.dec @@ -1,69 +1,74 @@ package pkg; public class TestCompoundAssignment { - public int testSimple(int var1, int var2) { - var1 += var2;// 5 - var1 -= var2;// 6 - var1 *= var2;// 7 - var1 /= var2;// 8 - var1 &= var2;// 9 - var1 |= var2;// 10 - var1 ^= var2;// 11 - var1 >>= var2;// 12 - var1 <<= var2;// 13 - return var1 >>> var2;// 14 16 + public int testSimple(int i, int j) { + i += j;// 5 + i -= j;// 6 + i *= j;// 7 + i /= j;// 8 + i &= j;// 9 + i |= j;// 10 + i ^= j;// 11 + i >>= j;// 12 + i <<= j;// 13 + i >>>= j;// 14 + return i;// 16 } - public int testComplex(int var1, int var2, int var3) { - var1 += var2 + var3;// 20 - var1 -= var2 + var3;// 21 - var1 *= var2 + var3;// 22 - var1 /= var2 + var3;// 23 - var1 &= var2 + var3;// 24 - var1 |= var2 + var3;// 25 - var1 ^= var2 + var3;// 26 - var1 >>= var2 + var3;// 27 - var1 <<= var2 + var3;// 28 - return var1 >>> var2 + var3;// 29 31 + public int testComplex(int i, int j, int k) { + i += j + k;// 20 + i -= j + k;// 21 + i *= j + k;// 22 + i /= j + k;// 23 + i &= j + k;// 24 + i |= j + k;// 25 + i ^= j + k;// 26 + i >>= j + k;// 27 + i <<= j + k;// 28 + i >>>= j + k;// 29 + return i;// 31 } - public int testComplexParens(int var1, int var2, int var3, int var4) { - var1 += (var2 + var3) * var4;// 35 - var1 -= (var2 + var3) * var4;// 36 - var1 *= (var2 + var3) * var4;// 37 - var1 /= (var2 + var3) * var4;// 38 - var1 &= (var2 + var3) * var4;// 39 - var1 |= (var2 + var3) * var4;// 40 - var1 ^= (var2 + var3) * var4;// 41 - var1 >>= (var2 + var3) * var4;// 42 - var1 <<= (var2 + var3) * var4;// 43 - return var1 >>> (var2 + var3) * var4;// 44 46 + public int testComplexParens(int i, int j, int k, int m) { + i += (j + k) * m;// 35 + i -= (j + k) * m;// 36 + i *= (j + k) * m;// 37 + i /= (j + k) * m;// 38 + i &= (j + k) * m;// 39 + i |= (j + k) * m;// 40 + i ^= (j + k) * m;// 41 + i >>= (j + k) * m;// 42 + i <<= (j + k) * m;// 43 + i >>>= (j + k) * m;// 44 + return i;// 46 } - public int testComplexTernary(int var1, int var2, int var3, int var4, boolean var5) { - var1 += var5 ? var2 : var3 * var4;// 50 - var1 -= var5 ? var2 : var3 * var4;// 51 - var1 *= var5 ? var2 : var3 * var4;// 52 - var1 /= var5 ? var2 : var3 * var4;// 53 - var1 &= var5 ? var2 : var3 * var4;// 54 - var1 |= var5 ? var2 : var3 * var4;// 55 - var1 ^= var5 ? var2 : var3 * var4;// 56 - var1 >>= var5 ? var2 : var3 * var4;// 57 - var1 <<= var5 ? var2 : var3 * var4;// 58 - return var1 >>> (var5 ? var2 : var3 * var4);// 59 61 + public int testComplexTernary(int i, int j, int k, int m, boolean b) { + i += b ? j : k * m;// 50 + i -= b ? j : k * m;// 51 + i *= b ? j : k * m;// 52 + i /= b ? j : k * m;// 53 + i &= b ? j : k * m;// 54 + i |= b ? j : k * m;// 55 + i ^= b ? j : k * m;// 56 + i >>= b ? j : k * m;// 57 + i <<= b ? j : k * m;// 58 + i >>>= b ? j : k * m;// 59 + return i;// 61 } - public int testArrayOp(int var1, int var2, int[] var3, int var4) { - var1 += var3[var4] = var2;// 65 - var1 -= var3[var4] = var2;// 66 - var1 *= var3[var4] = var2;// 67 - var1 /= var3[var4] = var2;// 68 - var1 &= var3[var4] = var2;// 69 - var1 |= var3[var4] = var2;// 70 - var1 ^= var3[var4] = var2;// 71 - var1 >>= var3[var4] = var2;// 72 - var1 <<= var3[var4] = var2;// 73 - return var1 >>> (var3[var4] = var2);// 74 76 + public int testArrayOp(int i, int j, int[] a, int b) { + i += a[b] = j;// 65 + i -= a[b] = j;// 66 + i *= a[b] = j;// 67 + i /= a[b] = j;// 68 + i &= a[b] = j;// 69 + i |= a[b] = j;// 70 + i ^= a[b] = j;// 71 + i >>= a[b] = j;// 72 + i <<= a[b] = j;// 73 + i >>>= a[b] = j;// 74 + return i;// 76 } } @@ -87,290 +92,290 @@ class 'pkg/TestCompoundAssignment' { 1f 11 21 12 23 12 - 24 13 25 13 - 26 13 - 29 13 + 27 13 + 28 14 + 29 14 } method 'testComplex (III)I' { - 1 17 - 2 17 - 3 17 - 5 17 - 7 18 - 8 18 - 9 18 - b 18 - d 19 - e 19 - f 19 - 11 19 - 13 20 - 14 20 - 15 20 - 17 20 - 19 21 - 1a 21 - 1b 21 - 1d 21 - 1f 22 - 20 22 - 21 22 - 23 22 - 25 23 - 26 23 - 27 23 - 29 23 - 2b 24 - 2c 24 - 2d 24 - 2f 24 - 31 25 - 32 25 - 33 25 - 35 25 - 36 26 - 37 26 - 38 26 - 39 26 - 3a 26 - 3d 26 + 1 18 + 2 18 + 3 18 + 5 18 + 7 19 + 8 19 + 9 19 + b 19 + d 20 + e 20 + f 20 + 11 20 + 13 21 + 14 21 + 15 21 + 17 21 + 19 22 + 1a 22 + 1b 22 + 1d 22 + 1f 23 + 20 23 + 21 23 + 23 23 + 25 24 + 26 24 + 27 24 + 29 24 + 2b 25 + 2c 25 + 2d 25 + 2f 25 + 31 26 + 32 26 + 33 26 + 35 26 + 37 27 + 38 27 + 39 27 + 3b 27 + 3c 28 + 3d 28 } method 'testComplexParens (IIII)I' { - 1 30 - 2 30 - 3 30 - 4 30 - 5 30 - 6 30 - 8 30 - a 31 - b 31 - c 31 - d 31 - e 31 - f 31 - 11 31 - 13 32 - 14 32 - 15 32 - 16 32 - 17 32 - 18 32 - 1a 32 - 1c 33 - 1d 33 - 1e 33 - 1f 33 - 20 33 - 21 33 - 23 33 - 25 34 - 26 34 - 27 34 - 28 34 - 29 34 - 2a 34 - 2c 34 - 2e 35 - 2f 35 - 30 35 - 31 35 - 32 35 - 33 35 - 35 35 - 37 36 - 38 36 - 39 36 - 3a 36 - 3b 36 - 3c 36 - 3e 36 - 40 37 - 41 37 - 42 37 - 43 37 - 44 37 - 45 37 - 47 37 - 49 38 - 4a 38 - 4b 38 - 4c 38 - 4d 38 - 4e 38 - 50 38 - 51 39 - 52 39 - 53 39 - 54 39 - 55 39 - 56 39 - 57 39 - 58 39 - 5b 39 + 1 32 + 2 32 + 3 32 + 4 32 + 5 32 + 6 32 + 8 32 + a 33 + b 33 + c 33 + d 33 + e 33 + f 33 + 11 33 + 13 34 + 14 34 + 15 34 + 16 34 + 17 34 + 18 34 + 1a 34 + 1c 35 + 1d 35 + 1e 35 + 1f 35 + 20 35 + 21 35 + 23 35 + 25 36 + 26 36 + 27 36 + 28 36 + 29 36 + 2a 36 + 2c 36 + 2e 37 + 2f 37 + 30 37 + 31 37 + 32 37 + 33 37 + 35 37 + 37 38 + 38 38 + 39 38 + 3a 38 + 3b 38 + 3c 38 + 3e 38 + 40 39 + 41 39 + 42 39 + 43 39 + 44 39 + 45 39 + 47 39 + 49 40 + 4a 40 + 4b 40 + 4c 40 + 4d 40 + 4e 40 + 50 40 + 52 41 + 53 41 + 54 41 + 55 41 + 56 41 + 57 41 + 59 41 + 5a 42 + 5b 42 } method 'testComplexTernary (IIIIZ)I' { - 1 43 - 2 43 - 3 43 - 6 43 - a 43 - b 43 - c 43 - d 43 - f 43 - 11 44 - 12 44 - 13 44 - 16 44 - 1a 44 - 1b 44 - 1c 44 - 1d 44 - 1f 44 - 21 45 - 22 45 - 23 45 - 26 45 - 2a 45 - 2b 45 - 2c 45 - 2d 45 - 2f 45 - 31 46 - 32 46 - 33 46 - 36 46 - 3a 46 - 3b 46 - 3c 46 - 3d 46 - 3f 46 - 41 47 - 42 47 - 43 47 - 46 47 - 4a 47 - 4b 47 - 4c 47 - 4d 47 - 4f 47 - 51 48 - 52 48 - 53 48 - 56 48 - 5a 48 - 5b 48 - 5c 48 - 5d 48 - 5f 48 - 61 49 - 62 49 - 63 49 - 66 49 - 6a 49 - 6b 49 - 6c 49 - 6d 49 - 6f 49 - 71 50 - 72 50 - 73 50 - 76 50 - 7a 50 - 7b 50 - 7c 50 - 7d 50 - 7f 50 - 81 51 - 82 51 - 83 51 - 86 51 - 8a 51 - 8b 51 - 8c 51 - 8d 51 - 8f 51 - 90 52 - 91 52 - 92 52 - 93 52 - 96 52 - 9a 52 - 9b 52 - 9c 52 - 9d 52 - 9e 52 - a1 52 + 1 46 + 2 46 + 3 46 + 6 46 + a 46 + b 46 + c 46 + d 46 + f 46 + 11 47 + 12 47 + 13 47 + 16 47 + 1a 47 + 1b 47 + 1c 47 + 1d 47 + 1f 47 + 21 48 + 22 48 + 23 48 + 26 48 + 2a 48 + 2b 48 + 2c 48 + 2d 48 + 2f 48 + 31 49 + 32 49 + 33 49 + 36 49 + 3a 49 + 3b 49 + 3c 49 + 3d 49 + 3f 49 + 41 50 + 42 50 + 43 50 + 46 50 + 4a 50 + 4b 50 + 4c 50 + 4d 50 + 4f 50 + 51 51 + 52 51 + 53 51 + 56 51 + 5a 51 + 5b 51 + 5c 51 + 5d 51 + 5f 51 + 61 52 + 62 52 + 63 52 + 66 52 + 6a 52 + 6b 52 + 6c 52 + 6d 52 + 6f 52 + 71 53 + 72 53 + 73 53 + 76 53 + 7a 53 + 7b 53 + 7c 53 + 7d 53 + 7f 53 + 81 54 + 82 54 + 83 54 + 86 54 + 8a 54 + 8b 54 + 8c 54 + 8d 54 + 8f 54 + 91 55 + 92 55 + 93 55 + 96 55 + 9a 55 + 9b 55 + 9c 55 + 9d 55 + 9f 55 + a0 56 + a1 56 } method 'testArrayOp (II[II)I' { - 1 56 - 2 56 - 3 56 - 4 56 - 6 56 - 8 56 - a 57 - b 57 - c 57 - d 57 - f 57 - 11 57 - 13 58 - 14 58 - 15 58 - 16 58 - 18 58 - 1a 58 - 1c 59 - 1d 59 - 1e 59 - 1f 59 - 21 59 - 23 59 - 25 60 - 26 60 - 27 60 - 28 60 - 2a 60 - 2c 60 - 2e 61 - 2f 61 - 30 61 - 31 61 - 33 61 - 35 61 - 37 62 - 38 62 - 39 62 - 3a 62 - 3c 62 - 3e 62 - 40 63 - 41 63 - 42 63 - 43 63 - 45 63 - 47 63 - 49 64 - 4a 64 - 4b 64 - 4c 64 - 4e 64 - 50 64 - 51 65 - 52 65 - 53 65 - 54 65 - 55 65 - 57 65 - 58 65 - 5b 65 + 1 60 + 2 60 + 3 60 + 4 60 + 6 60 + 8 60 + a 61 + b 61 + c 61 + d 61 + f 61 + 11 61 + 13 62 + 14 62 + 15 62 + 16 62 + 18 62 + 1a 62 + 1c 63 + 1d 63 + 1e 63 + 1f 63 + 21 63 + 23 63 + 25 64 + 26 64 + 27 64 + 28 64 + 2a 64 + 2c 64 + 2e 65 + 2f 65 + 30 65 + 31 65 + 33 65 + 35 65 + 37 66 + 38 66 + 39 66 + 3a 66 + 3c 66 + 3e 66 + 40 67 + 41 67 + 42 67 + 43 67 + 45 67 + 47 67 + 49 68 + 4a 68 + 4b 68 + 4c 68 + 4e 68 + 50 68 + 52 69 + 53 69 + 54 69 + 55 69 + 57 69 + 59 69 + 5a 70 + 5b 70 } } @@ -385,48 +390,48 @@ Lines mapping: 12 <-> 12 13 <-> 13 14 <-> 14 -16 <-> 14 -20 <-> 18 -21 <-> 19 -22 <-> 20 -23 <-> 21 -24 <-> 22 -25 <-> 23 -26 <-> 24 -27 <-> 25 -28 <-> 26 -29 <-> 27 -31 <-> 27 -35 <-> 31 -36 <-> 32 -37 <-> 33 -38 <-> 34 -39 <-> 35 -40 <-> 36 -41 <-> 37 -42 <-> 38 -43 <-> 39 -44 <-> 40 -46 <-> 40 -50 <-> 44 -51 <-> 45 -52 <-> 46 -53 <-> 47 -54 <-> 48 -55 <-> 49 -56 <-> 50 -57 <-> 51 -58 <-> 52 -59 <-> 53 -61 <-> 53 -65 <-> 57 -66 <-> 58 -67 <-> 59 -68 <-> 60 -69 <-> 61 -70 <-> 62 -71 <-> 63 -72 <-> 64 -73 <-> 65 -74 <-> 66 -76 <-> 66 +16 <-> 15 +20 <-> 19 +21 <-> 20 +22 <-> 21 +23 <-> 22 +24 <-> 23 +25 <-> 24 +26 <-> 25 +27 <-> 26 +28 <-> 27 +29 <-> 28 +31 <-> 29 +35 <-> 33 +36 <-> 34 +37 <-> 35 +38 <-> 36 +39 <-> 37 +40 <-> 38 +41 <-> 39 +42 <-> 40 +43 <-> 41 +44 <-> 42 +46 <-> 43 +50 <-> 47 +51 <-> 48 +52 <-> 49 +53 <-> 50 +54 <-> 51 +55 <-> 52 +56 <-> 53 +57 <-> 54 +58 <-> 55 +59 <-> 56 +61 <-> 57 +65 <-> 61 +66 <-> 62 +67 <-> 63 +68 <-> 64 +69 <-> 65 +70 <-> 66 +71 <-> 67 +72 <-> 68 +73 <-> 69 +74 <-> 70 +76 <-> 71 diff --git a/plugins/java-decompiler/engine/testData/results/TestIntVarMerge.dec b/plugins/java-decompiler/engine/testData/results/TestIntVarMerge.dec index 4c7ddbe08eb1..3a5ffcfa52e5 100644 --- a/plugins/java-decompiler/engine/testData/results/TestIntVarMerge.dec +++ b/plugins/java-decompiler/engine/testData/results/TestIntVarMerge.dec @@ -4,7 +4,7 @@ public class TestIntVarMerge { public int test1() { int var1 = 7;// 5 var1 = 23 * var1;// 6 - var1 = var1 * 23;// 7 + var1 *= 23;// 7 return var1;// 8 } @@ -28,10 +28,8 @@ class 'pkg/TestIntVarMerge' { 5 5 6 5 7 5 - 8 6 9 6 a 6 - b 6 c 6 d 7 e 7 diff --git a/plugins/java-decompiler/engine/testData/results/TestSimpleInstanceOfRecordPatternJavac.dec b/plugins/java-decompiler/engine/testData/results/TestSimpleInstanceOfRecordPatternJavac.dec index c7e0cbc09242..abf0c4adf001 100644 --- a/plugins/java-decompiler/engine/testData/results/TestSimpleInstanceOfRecordPatternJavac.dec +++ b/plugins/java-decompiler/engine/testData/results/TestSimpleInstanceOfRecordPatternJavac.dec @@ -17,11 +17,11 @@ public class TestSimpleInstanceOfRecordPatternJavac { try { if (o instanceof R(String var11)) {// 18 - a = a + 34;// 19 + a += 34;// 19 } } catch (Exception var8) {// 21 if (o instanceof R(String s1)) {// 22 - a = a + 34;// 23 + a += 34;// 23 } } diff --git a/plugins/java-decompiler/engine/testData/results/TestVarType.dec b/plugins/java-decompiler/engine/testData/results/TestVarType.dec index 56fb422828fe..389c907a2c8b 100644 --- a/plugins/java-decompiler/engine/testData/results/TestVarType.dec +++ b/plugins/java-decompiler/engine/testData/results/TestVarType.dec @@ -3,7 +3,7 @@ package pkg; public class TestVarType { public void byteint() { int i = 75; - i = i + 5; - i = i + 500; + i += 5; + i += 500; } }