From 8b7a4e36fc234becc26a509a5a3b9fb6f5d7adb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=F8=EDk?= Date: Fri, 5 Jul 2013 21:22:29 +0200 Subject: [PATCH] Issue #179 Foreach broken because of precontinues --- .../src/com/jpexs/decompiler/flash/graph/Graph.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/trunk/src/com/jpexs/decompiler/flash/graph/Graph.java b/trunk/src/com/jpexs/decompiler/flash/graph/Graph.java index 4d8e073ff..d726a5a56 100644 --- a/trunk/src/com/jpexs/decompiler/flash/graph/Graph.java +++ b/trunk/src/com/jpexs/decompiler/flash/graph/Graph.java @@ -992,7 +992,18 @@ public class Graph { for (GraphPart t : part.throwParts) { if (!visited.contains(t)) { - markLevels(t, loops, stopPart, level, visited); + List stopPart2 = new ArrayList<>(); + List cmn = new ArrayList<>(); + cmn.add(part); + cmn.add(t); + GraphPart next = getCommonPart(cmn, loops); + if (next != null) { + stopPart2.add(next); + } else { + stopPart2 = stopPart; + } + + markLevels(t, loops, stopPart2, level, visited); } }