From 7d10e8d13eca1e670da06a8ef58345cc7d139985 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=F8=EDk?= Date: Mon, 25 Feb 2013 19:43:19 +0100 Subject: [PATCH] fixed && or || in loop condition --- .../flash/action/treemodel/FunctionTreeItem.java | 7 +++++++ .../action/treemodel/clauses/ClassTreeItem.java | 7 +++++++ .../action/treemodel/clauses/InterfaceTreeItem.java | 5 +++++ .../src/com/jpexs/decompiler/flash/graph/Graph.java | 12 ++++++++---- 4 files changed, 27 insertions(+), 4 deletions(-) diff --git a/trunk/src/com/jpexs/decompiler/flash/action/treemodel/FunctionTreeItem.java b/trunk/src/com/jpexs/decompiler/flash/action/treemodel/FunctionTreeItem.java index 7c17e21df..47362b973 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/treemodel/FunctionTreeItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/treemodel/FunctionTreeItem.java @@ -70,4 +70,11 @@ public class FunctionTreeItem extends TreeItem { } return ret; } + + @Override + public boolean needsSemicolon() { + return false; + } + + } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/treemodel/clauses/ClassTreeItem.java b/trunk/src/com/jpexs/decompiler/flash/action/treemodel/clauses/ClassTreeItem.java index df0e5ccd6..bf2f9d365 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/treemodel/clauses/ClassTreeItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/treemodel/clauses/ClassTreeItem.java @@ -89,4 +89,11 @@ public class ClassTreeItem extends TreeItem implements Block { List ret = new ArrayList(); return ret; } + + @Override + public boolean needsSemicolon() { + return false; + } + + } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/treemodel/clauses/InterfaceTreeItem.java b/trunk/src/com/jpexs/decompiler/flash/action/treemodel/clauses/InterfaceTreeItem.java index cc588c3d5..1ba9e8ddc 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/treemodel/clauses/InterfaceTreeItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/treemodel/clauses/InterfaceTreeItem.java @@ -55,4 +55,9 @@ public class InterfaceTreeItem extends TreeItem { ret += "\r\n{\r\n}\r\n"; return ret; } + + @Override + public boolean needsSemicolon() { + return false; + } } diff --git a/trunk/src/com/jpexs/decompiler/flash/graph/Graph.java b/trunk/src/com/jpexs/decompiler/flash/graph/Graph.java index a855326c4..68178347a 100644 --- a/trunk/src/com/jpexs/decompiler/flash/graph/Graph.java +++ b/trunk/src/com/jpexs/decompiler/flash/graph/Graph.java @@ -842,11 +842,15 @@ public class Graph { } } if (loop) { - if (expr instanceof AndItem) { - currentLoop.loopContinue = ((AndItem) expr).firstPart; + GraphTargetItem expr2=expr; + if(expr2 instanceof NotItem){ + expr2=((NotItem)expr2).getOriginal(); } - if (expr instanceof OrItem) { - currentLoop.loopContinue = ((OrItem) expr).firstPart; + if (expr2 instanceof AndItem) { + currentLoop.loopContinue = ((AndItem) expr2).firstPart; + } + if (expr2 instanceof OrItem) { + currentLoop.loopContinue = ((OrItem) expr2).firstPart; } }