updated loop detection algorithm

This commit is contained in:
Jindra Petk
2013-06-15 19:48:50 +02:00
parent 58ec9b5744
commit 531b2d4821
11 changed files with 558 additions and 186 deletions

View File

@@ -28,11 +28,13 @@ public class Loop {
public GraphPart loopContinue;
public GraphPart loopBreak;
public GraphPart loopPreContinue;
public int precoPhase;
public List<GraphPart> breakCandidates = new ArrayList<>();
public long id;
public boolean used = false;
public boolean finished = false;
public int leadsToMark;
public int reachableMark;
public int phase;
public Loop(long id, GraphPart loopContinue, GraphPart loopBreak) {
this.loopContinue = loopContinue;
@@ -42,6 +44,6 @@ public class Loop {
@Override
public String toString() {
return "loop(id:" + id + (loopPreContinue != null ? ",precontinue:" + loopPreContinue : "") + ",continue:" + loopContinue + ", break:" + loopBreak + ")";
return "loop(id:" + id + (loopPreContinue != null ? ",precontinue:" + loopPreContinue : "") + ",continue:" + loopContinue + ", break:" + loopBreak + ", phase:"+phase+")";
}
}