diff --git a/jode/jode/flow/ConditionalBlock.java b/jode/jode/flow/ConditionalBlock.java index bc24b22..2d83cb7 100644 --- a/jode/jode/flow/ConditionalBlock.java +++ b/jode/jode/flow/ConditionalBlock.java @@ -76,7 +76,7 @@ public class ConditionalBlock extends InstructionContainer { public void dumpInstruction(TabbedPrintWriter writer) throws java.io.IOException { - writer.println("IF ("+instr.toString()+")"); + writer.println("IF ("+instr.simplify().toString()+")"); writer.tab(); trueBlock.dumpSource(writer); writer.untab(); diff --git a/jode/jode/flow/FlowBlock.java b/jode/jode/flow/FlowBlock.java index b14a7fc..bfe0fc6 100644 --- a/jode/jode/flow/FlowBlock.java +++ b/jode/jode/flow/FlowBlock.java @@ -1013,7 +1013,6 @@ public class FlowBlock { new CombineIfGotoExpressions(), new CreateIfThenElseOperator(), new CreateConstantArray(), - new SimplifyExpression() }; diff --git a/jode/jode/flow/IfThenElseBlock.java b/jode/jode/flow/IfThenElseBlock.java index 8525dab..28afc27 100644 --- a/jode/jode/flow/IfThenElseBlock.java +++ b/jode/jode/flow/IfThenElseBlock.java @@ -97,7 +97,8 @@ public class IfThenElseBlock extends StructuredBlock { throws java.io.IOException { boolean needBrace = thenBlock.needsBraces(); - writer.println("if ("+cond.toString()+")"+(needBrace?" {":"")); + writer.println("if ("+cond.simplify().toString()+")" + +(needBrace?" {":"")); writer.tab(); thenBlock.dumpSource(writer); writer.untab(); diff --git a/jode/jode/flow/InstructionBlock.java b/jode/jode/flow/InstructionBlock.java index 4e3999d..30c8c98 100644 --- a/jode/jode/flow/InstructionBlock.java +++ b/jode/jode/flow/InstructionBlock.java @@ -70,11 +70,11 @@ public class InstructionBlock extends InstructionContainer { writer.println (((LocalStoreOperator) ((Expression)instr).getOperator()) .getLocalInfo().getType().toString()/*XXX*/ - + " " + instr.toString() + ";"); + + " " + instr.simplify().toString() + ";"); } else { if (instr.getType() != Type.tVoid) writer.print("push "); - writer.println(instr.toString()+";"); + writer.println(instr.simplify().toString()+";"); } } } diff --git a/jode/jode/flow/LoopBlock.java b/jode/jode/flow/LoopBlock.java index 5051f3b..90be3aa 100644 --- a/jode/jode/flow/LoopBlock.java +++ b/jode/jode/flow/LoopBlock.java @@ -135,14 +135,16 @@ public class LoopBlock extends StructuredBlock implements BreakableBlock { boolean needBrace = bodyBlock.needsBraces(); switch (type) { case WHILE: - writer.print("while ("+cond.toString()+")"); + writer.print("while ("+cond.simplify().toString()+")"); break; case DOWHILE: writer.print("do"); break; case FOR: - writer.print("for ("+(init != null ? init.toString() : "") + - "; "+cond.toString()+"; "+incr.toString()+")"); + writer.print("for (" + +(init != null ? init.simplify().toString() : "") + +"; "+cond.simplify().toString()+"; " + +incr.simplify().toString()+")"); break; } writer.println( needBrace?" {": ""); @@ -151,7 +153,7 @@ public class LoopBlock extends StructuredBlock implements BreakableBlock { writer.untab(); if (type == DOWHILE) writer.println((needBrace?"} ": "")+ - "while ("+cond.toString()+")"); + "while ("+cond.simplify().toString()+")"); else if (needBrace) writer.println("}"); } diff --git a/jode/jode/flow/ReturnBlock.java b/jode/jode/flow/ReturnBlock.java index bcf4284..6f4e476 100644 --- a/jode/jode/flow/ReturnBlock.java +++ b/jode/jode/flow/ReturnBlock.java @@ -61,6 +61,7 @@ public class ReturnBlock extends InstructionContainer { public void dumpInstruction(TabbedPrintWriter writer) throws java.io.IOException { - writer.println("return" + (instr == null ? "" : " " + instr) + ";"); + writer.println("return" + + (instr == null ? "" : " " + instr.simplify()) + ";"); } } diff --git a/jode/jode/flow/SwitchBlock.java b/jode/jode/flow/SwitchBlock.java index 8d7c38b..fdbda9d 100644 --- a/jode/jode/flow/SwitchBlock.java +++ b/jode/jode/flow/SwitchBlock.java @@ -133,7 +133,7 @@ implements BreakableBlock { writer.println(label+":"); writer.tab(); } - writer.println("switch ("+instr+") {"); + writer.println("switch ("+instr.simplify()+") {"); for (int i=0; i < caseBlocks.length; i++) caseBlocks[i].dumpSource(writer); writer.println("}"); diff --git a/jode/jode/flow/ThrowBlock.java b/jode/jode/flow/ThrowBlock.java index ab4d8e0..f40052c 100644 --- a/jode/jode/flow/ThrowBlock.java +++ b/jode/jode/flow/ThrowBlock.java @@ -32,6 +32,7 @@ public class ThrowBlock extends InstructionContainer { public void dumpInstruction(TabbedPrintWriter writer) throws java.io.IOException { - writer.println("throw" + (instr == null ? "" : " " + instr) + ";"); + writer.println("throw" + + (instr == null ? "" : " " + instr.simplify()) + ";"); } }