Files
kotlin-fork/native/native.tests/testData/codegen/enum/isFrozen.kt
T
2023-12-19 10:57:24 +00:00

30 lines
765 B
Kotlin
Vendored

/*
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the LICENSE file.
*/
@file:OptIn(FreezingIsDeprecated::class, kotlin.experimental.ExperimentalNativeApi::class)
import kotlin.test.*
import kotlin.native.concurrent.*
enum class Zzz(val zzz: String, var value: Int = 0) {
Z1("z1"),
Z2("z2")
}
fun box(): String {
if (Platform.memoryModel == MemoryModel.STRICT) {
assertTrue(Zzz.Z1.isFrozen)
assertFailsWith<InvalidMutabilityException> {
Zzz.Z1.value = 42
}
assertEquals(0, Zzz.Z1.value)
} else {
assertFalse(Zzz.Z1.isFrozen)
Zzz.Z1.value = 42
assertEquals(42, Zzz.Z1.value)
}
return "OK"
}