From 0d2a413b2a4cea6b2f0dfbbfc072e7ea8a7ce74c Mon Sep 17 00:00:00 2001 From: Justin Date: Sat, 11 Jan 2020 17:00:41 -0700 Subject: [PATCH] Fix finally processor instruction comparison --- .../decompiler/modules/decompiler/FinallyProcessor.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/org/jetbrains/java/decompiler/modules/decompiler/FinallyProcessor.java b/src/org/jetbrains/java/decompiler/modules/decompiler/FinallyProcessor.java index cd6e1d7..bc0269b 100644 --- a/src/org/jetbrains/java/decompiler/modules/decompiler/FinallyProcessor.java +++ b/src/org/jetbrains/java/decompiler/modules/decompiler/FinallyProcessor.java @@ -842,13 +842,17 @@ public class FinallyProcessor { int secondOp = second.operand(i); if (firstOp != secondOp) { // a-load/store instructions - if (first.opcode == CodeConstants.opc_aload || first.opcode == CodeConstants.opc_astore) { + if (first.opcode == CodeConstants.opc_aload) { for (int[] arr : lstStoreVars) { if (arr[0] == firstOp && arr[1] == secondOp) { return true; } } } + else if (first.opcode == CodeConstants.opc_astore) { + lstStoreVars.add(new int[]{firstOp, secondOp}); + return true; + } return false; }