diff --git a/core/src/main/java/org/teavm/model/analysis/ClassInference.java b/core/src/main/java/org/teavm/model/analysis/ClassInference.java index dc7050af2..14143937e 100644 --- a/core/src/main/java/org/teavm/model/analysis/ClassInference.java +++ b/core/src/main/java/org/teavm/model/analysis/ClassInference.java @@ -260,7 +260,11 @@ public class ClassInference { if (degree > 0) { for (int predecessor : assignmentGraph.incomingEdges(variable)) { - nextEntries.add(packNodeAndDegree(predecessor, degree)); + int predecessorEntry = packNodeAndDegree(predecessor, degree); + graphBuilder.addEdge(predecessorEntry, entry); + if (!visited[predecessorEntry]) { + stack.push(predecessorEntry); + } } for (int successor : itemGraph.outgoingEdges(variable)) {