Fixed 'IDEA-132625: IDEA hangs when decompiling a class'
This commit is contained in:
@@ -89,6 +89,7 @@ public class FastExtendedPostdominanceHelper {
|
|||||||
stackPath.add(factory.spawnEmptySet());
|
stackPath.add(factory.spawnEmptySet());
|
||||||
|
|
||||||
Set<Statement> setVisited = new HashSet<Statement>();
|
Set<Statement> setVisited = new HashSet<Statement>();
|
||||||
|
Set<Statement> setStack = new HashSet<Statement>();
|
||||||
|
|
||||||
while (!stack.isEmpty()) {
|
while (!stack.isEmpty()) {
|
||||||
|
|
||||||
@@ -122,9 +123,15 @@ public class FastExtendedPostdominanceHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (StatEdge edge : stat.getSuccessorEdges(StatEdge.TYPE_REGULAR)) {
|
for (StatEdge edge : stat.getSuccessorEdges(StatEdge.TYPE_REGULAR)) {
|
||||||
if (!setVisited.contains(edge.getDestination())) {
|
|
||||||
stack.add(edge.getDestination());
|
Statement edge_destination = edge.getDestination();
|
||||||
|
|
||||||
|
if(!setVisited.contains(edge_destination) && !setStack.contains(edge_destination)) {
|
||||||
|
|
||||||
|
stack.add(edge_destination);
|
||||||
stackPath.add(path.getCopy());
|
stackPath.add(path.getCopy());
|
||||||
|
|
||||||
|
setStack.add(edge_destination);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user