Keep KonanTarget.predefinedTargets as Map<String, KonanTarget>

This commit is contained in:
Dmitriy Dolovov
2020-03-31 13:49:49 +07:00
parent 132464fa4f
commit a2e2213d31
3 changed files with 5 additions and 5 deletions
@@ -16,7 +16,7 @@ open class HostManager(protected val distribution: Distribution = Distribution()
private val experimentalEnabled = experimental || distribution.experimentalEnabled private val experimentalEnabled = experimental || distribution.experimentalEnabled
private val configurableSubtargets = zephyrSubtargets private val configurableSubtargets = zephyrSubtargets
val targetValues: List<KonanTarget> by lazy { KonanTarget.predefinedTargets.toList() + configurableSubtargets } val targetValues: List<KonanTarget> by lazy { KonanTarget.predefinedTargets.values + configurableSubtargets }
val targets = targetValues.associateBy { it.visibleName } val targets = targetValues.associateBy { it.visibleName }
@@ -39,8 +39,8 @@ sealed class KonanTarget(override val name: String, val family: Family, val arch
companion object { companion object {
// TODO: need a better way to enumerated predefined targets. // TODO: need a better way to enumerated predefined targets.
val predefinedTargets by lazy { val predefinedTargets: Map<String, KonanTarget> by lazy {
setOf( listOf(
ANDROID_X64, ANDROID_X86, ANDROID_ARM32, ANDROID_ARM64, ANDROID_X64, ANDROID_X86, ANDROID_ARM32, ANDROID_ARM64,
IOS_ARM32, IOS_ARM64, IOS_X64, IOS_ARM32, IOS_ARM64, IOS_X64,
WATCHOS_ARM32, WATCHOS_ARM64, WATCHOS_X86, WATCHOS_X64, WATCHOS_ARM32, WATCHOS_ARM64, WATCHOS_X86, WATCHOS_X64,
@@ -50,7 +50,7 @@ sealed class KonanTarget(override val name: String, val family: Family, val arch
MACOS_X64, MACOS_X64,
LINUX_ARM64, LINUX_ARM32_HFP, LINUX_MIPS32, LINUX_MIPSEL32, LINUX_ARM64, LINUX_ARM32_HFP, LINUX_MIPS32, LINUX_MIPSEL32,
WASM32 WASM32
) ).associateBy { it.name }
} }
} }
} }
@@ -14,7 +14,7 @@ class KonanTargetTest {
assertEquals( assertEquals(
"Some of predefined KonanTarget instances are not listed in 'KonanTarget.predefinedTargets'", "Some of predefined KonanTarget instances are not listed in 'KonanTarget.predefinedTargets'",
KonanTarget::class.sealedSubclasses.mapNotNull { it.objectInstance }.toSet(), KonanTarget::class.sealedSubclasses.mapNotNull { it.objectInstance }.toSet(),
KonanTarget.predefinedTargets KonanTarget.predefinedTargets.values.toSet()
) )
} }
} }