diff --git a/src/me/ByteEdit/main/Assembler.java b/src/me/ByteEdit/main/Assembler.java index 8287156..1d5b817 100644 --- a/src/me/ByteEdit/main/Assembler.java +++ b/src/me/ByteEdit/main/Assembler.java @@ -942,7 +942,7 @@ public class Assembler { return new InsnNode(131); } case "iinc": { - return new IincInsnNode(Integer.parseInt(split[1]), Integer.parseInt(split[3])); + return new IincInsnNode(Integer.parseInt(split[1]), Integer.parseInt(split[2])); } case "i2l": { return new InsnNode(133); diff --git a/src/me/ByteEdit/main/Disassembler.java b/src/me/ByteEdit/main/Disassembler.java index a5766e4..24bca7c 100644 --- a/src/me/ByteEdit/main/Disassembler.java +++ b/src/me/ByteEdit/main/Disassembler.java @@ -530,7 +530,7 @@ public class Disassembler { } case "IincInsnNode": { IincInsnNode node = (IincInsnNode) n; - s += "\t\t" + OpcodesReverse.reverseOpcode(n.getOpcode()) + " " + node.var + " -> " + node.incr + "\n"; + s += "\t\t" + OpcodesReverse.reverseOpcode(n.getOpcode()) + " " + node.var + " " + node.incr + "\n"; break; } default: diff --git a/src/me/ByteEdit/main/Main.java b/src/me/ByteEdit/main/Main.java index f7c8622..1370e70 100644 --- a/src/me/ByteEdit/main/Main.java +++ b/src/me/ByteEdit/main/Main.java @@ -261,6 +261,7 @@ public class Main extends JFrame { isChangingFile = false; } catch (Throwable t) { t.printStackTrace(); + showError(t); } } } @@ -351,6 +352,7 @@ public class Main extends JFrame { return; } catch (Throwable t) { t.printStackTrace(); + showError(t); } dtde.rejectDrop(); @@ -454,11 +456,23 @@ public class Main extends JFrame { } isChangingFile = false; } - } catch (IOException e) { + } catch (Throwable e) { e.printStackTrace(); + showError(e); } } + public void showError(Throwable e) { + String s = e.toString() + "\n"; + StackTraceElement[] stackTrace = e.getStackTrace(); + for (StackTraceElement ste : stackTrace) { + if (ste.getClassName().startsWith("java")) + break; + s += "\tat " + ste + "\n"; + } + JOptionPane.showMessageDialog(this, s, "Error!", JOptionPane.ERROR_MESSAGE); + } + class ArchiveTreeModel extends DefaultTreeModel { public ArchiveTreeModel(JarFile jar) { @@ -513,10 +527,11 @@ public class Main extends JFrame { currentNode = nextNode; } } - } catch (IOException e) { + } catch (Throwable e) { classNodes.clear(); OTHER_FILES.clear(); e.printStackTrace(); + showError(e); } }