diff --git a/libraries/tools/idl2k/src/main/kotlin/model.kt b/libraries/tools/idl2k/src/main/kotlin/model.kt index 96b5056f3bd..5acb8410eaf 100644 --- a/libraries/tools/idl2k/src/main/kotlin/model.kt +++ b/libraries/tools/idl2k/src/main/kotlin/model.kt @@ -16,8 +16,6 @@ package org.jetbrains.idl2k -import java.util.HashSet - data class NamedValue(val name: String, val value: V) data class Repository( diff --git a/libraries/tools/idl2k/src/main/kotlin/typeMappings.kt b/libraries/tools/idl2k/src/main/kotlin/typeMappings.kt index 3baa8c8b9a7..4cab9e92822 100644 --- a/libraries/tools/idl2k/src/main/kotlin/typeMappings.kt +++ b/libraries/tools/idl2k/src/main/kotlin/typeMappings.kt @@ -46,10 +46,10 @@ private val typeMapper = mapOf( ) -fun GenerateTraitOrClass.allSuperTypes(all: Map) = HashSet().let { result -> allSuperTypesImpl(listOf(this), all, result); result.toList() } +fun GenerateTraitOrClass.allSuperTypes(all: Map) = LinkedHashSet().let { result -> allSuperTypesImpl(listOf(this), all, result); result.toList() } tailRecursive -fun allSuperTypesImpl(roots: List, all: Map, result: HashSet) { +fun allSuperTypesImpl(roots: List, all: Map, result: MutableSet) { if (roots.isNotEmpty()) { allSuperTypesImpl(roots.flatMap { it.superTypes }.map { all[it] }.filterNotNull().filter { result.add(it) }, all, result) }