// !LANGUAGE: +EnumEntries // IGNORE_BACKEND: JS // KJS_WITH_FULL_RUNTIME // EXPECTED_REACHABLE_NODES: 1555 // TODO: Remove after enumEntries become public @file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") package foo import kotlin.enums.enumEntries enum class EmptyEnum enum class A { a() { }, b(), c } @OptIn(ExperimentalStdlibApi::class) fun box(): String { if (enumValues().size != 0) return "enumValues().size != 0" if (enumValues().asList() != listOf(A.a, A.b, A.c)) return "Wrong enumValues(): " + enumValues().toString() if (enumEntries().size != 0) return "enumEntries().size != 0" if (enumEntries() != listOf(A.a, A.b, A.c)) return "Wrong enumEntries(): " + enumEntries().toString() if (enumEntries() != enumEntries()) return "Enum entries create a new EntriesList for each call" if (enumValueOf("b") != A.b) return "enumValueOf('b') != A.b" return "OK" }