From 7d44f73cb915fbee0efd6257ab8e78974ab52694 Mon Sep 17 00:00:00 2001 From: Stiver Date: Sun, 1 Jun 2014 15:34:28 +0200 Subject: fixed IndexOutOfBoundsException when decompiling StandardVariableNamesInspectionBase --- src/de/fernflower/modules/decompiler/IdeaNotNullHelper.java | 1 + src/de/fernflower/modules/decompiler/StackVarsProcessor.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/de/fernflower/modules/decompiler/IdeaNotNullHelper.java b/src/de/fernflower/modules/decompiler/IdeaNotNullHelper.java index 98035d3..fe42f32 100644 --- a/src/de/fernflower/modules/decompiler/IdeaNotNullHelper.java +++ b/src/de/fernflower/modules/decompiler/IdeaNotNullHelper.java @@ -295,6 +295,7 @@ public class IdeaNotNullHelper { } sequence.getStats().removeWithKey(ifstat.id); + sequence.setFirst(sequence.getStats().get(0)); return true; } diff --git a/src/de/fernflower/modules/decompiler/StackVarsProcessor.java b/src/de/fernflower/modules/decompiler/StackVarsProcessor.java index a76229f..e1f9218 100644 --- a/src/de/fernflower/modules/decompiler/StackVarsProcessor.java +++ b/src/de/fernflower/modules/decompiler/StackVarsProcessor.java @@ -229,7 +229,7 @@ public class StackVarsProcessor { if(nd.statement.type == Statement.TYPE_DO) { DoStatement loop = (DoStatement)nd.statement; - if(nd.type == DirectNode.NODE_INCREMENT && loop.getLooptype() == DoStatement.LOOP_FOR) { // "downgrade" loop to 'while' + if(loop.getLooptype() == DoStatement.LOOP_FOR && loop.getInitExprent() == null && loop.getIncExprent() == null) { // "downgrade" loop to 'while' loop.setLooptype(DoStatement.LOOP_WHILE); } } -- cgit v1.2.3