diff --git a/trunk/src/com/jpexs/asdec/action/Action.java b/trunk/src/com/jpexs/asdec/action/Action.java index a76d1b724..b9dd5f6cd 100644 --- a/trunk/src/com/jpexs/asdec/action/Action.java +++ b/trunk/src/com/jpexs/asdec/action/Action.java @@ -494,14 +494,20 @@ public class Action { loopStack.add(stripped.substring(0, stripped.length() - 1)); } if (stripped.startsWith("break ")) { - if (stripped.equals("break " + loopStack.peek() + ";")) { - parts[p] = parts[p].replace(" " + loopStack.peek(), ""); + if (stripped.equals("break " + loopStack.peek().replace("switch", "") + ";")) { + parts[p] = parts[p].replace(" " + loopStack.peek().replace("switch", ""), ""); } } if (stripped.startsWith("continue ")) { if (loopStack.size() > 0) { - if (stripped.equals("continue " + loopStack.peek() + ";")) { - parts[p] = parts[p].replace(" " + loopStack.peek(), ""); + int pos=loopStack.size()-1; + String loopname=""; + do{ + loopname=loopStack.get(pos); + pos--; + }while((pos>=0)&&(loopname.startsWith("loopswitch"))); + if (stripped.equals("continue " + loopname + ";")) { + parts[p] = parts[p].replace(" " + loopname, ""); } } } diff --git a/trunk/src/com/jpexs/asdec/action/treemodel/BreakTreeItem.java b/trunk/src/com/jpexs/asdec/action/treemodel/BreakTreeItem.java index 1e6a1cf30..e8dfb6e01 100644 --- a/trunk/src/com/jpexs/asdec/action/treemodel/BreakTreeItem.java +++ b/trunk/src/com/jpexs/asdec/action/treemodel/BreakTreeItem.java @@ -35,6 +35,6 @@ public class BreakTreeItem extends TreeItem { @Override public String toString(ConstantPool constants) { - return hilight("break") + " loop" + loopPos; + return hilight("break") + " loop" + loopPos+";"; } } diff --git a/trunk/src/com/jpexs/asdec/action/treemodel/ContinueTreeItem.java b/trunk/src/com/jpexs/asdec/action/treemodel/ContinueTreeItem.java index 6bbb84071..90ebe0021 100644 --- a/trunk/src/com/jpexs/asdec/action/treemodel/ContinueTreeItem.java +++ b/trunk/src/com/jpexs/asdec/action/treemodel/ContinueTreeItem.java @@ -36,6 +36,6 @@ public class ContinueTreeItem extends TreeItem { @Override public String toString(ConstantPool constants) { - return hilight(isBreak ? "break" : "continue") + " " + (isKnown ? "loop" : "unk") + loopPos; + return hilight(isBreak ? "break" : "continue") + " " + (isKnown ? "loop" : "unk") + loopPos+";"; } } diff --git a/trunk/src/com/jpexs/asdec/action/treemodel/clauses/SwitchTreeItem.java b/trunk/src/com/jpexs/asdec/action/treemodel/clauses/SwitchTreeItem.java index 08322cc07..f880150ba 100644 --- a/trunk/src/com/jpexs/asdec/action/treemodel/clauses/SwitchTreeItem.java +++ b/trunk/src/com/jpexs/asdec/action/treemodel/clauses/SwitchTreeItem.java @@ -41,7 +41,7 @@ public class SwitchTreeItem extends LoopTreeItem implements Block { @Override public String toString(ConstantPool constants) { String ret = ""; - ret += "loop" + loopBreak + ":\r\n"; + ret += "loopswitch" + loopBreak + ":\r\n"; ret += hilight("switch(") + switchedObject.toString(constants) + hilight(")") + "\r\n{\r\n"; for (int i = 0; i < caseValues.size(); i++) { ret += "case " + caseValues.get(i).toString(constants) + ":\r\n";