diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/dfa/cfg/ControlFlowGraph.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/dfa/cfg/ControlFlowGraph.kt index c328c199bf2..7d21f20d2de 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/dfa/cfg/ControlFlowGraph.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/dfa/cfg/ControlFlowGraph.kt @@ -155,19 +155,17 @@ enum class EdgeKind( @OptIn(ExperimentalStdlibApi::class) private fun ControlFlowGraph.orderNodes(): LinkedHashSet> { - val visitedNodes = LinkedHashSet>() + val visitedNodes = linkedSetOf>() /* * [delayedNodes] is needed to accomplish next order contract: * for each node all previous node lays before it */ - val delayedNodes = LinkedHashSet>() val stack = ArrayDeque>() stack.addFirst(enterNode) while (stack.isNotEmpty()) { val node = stack.removeFirst() val previousNodes = node.previousNodes if (previousNodes.any { it !in visitedNodes && it.owner == this && !node.incomingEdges.getValue(it).kind.isBack }) { - delayedNodes.add(node) stack.addLast(node) continue }