Add tests for property const initializers

Merge-request: KT-MR-8661
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
This commit is contained in:
Vladimir Sukharev
2023-02-06 15:43:41 +00:00
committed by Space Team
parent 3a9ca1c1eb
commit e75d739c7a
15 changed files with 321 additions and 0 deletions
@@ -0,0 +1,19 @@
// KT-56023
// JS_IR: InterpreterError: Unsupported number of arguments for invocation as builtin function: four
// NATIVE: in mode -Pkotlin.internal.native.test.mode=TWO_STAGE_MULTI_MODULE (default test mode), test fails as below
// InterpreterError: Unsupported number of arguments for invocation as builtin function: four
// in mode -Pkotlin.internal.native.test.mode=ONE_STAGE_MULTI_MODULE, test passes
// IGNORE_BACKEND_K2: NATIVE, JS_IR
// MODULE: lib
// FILE: lib.kt
const val four = 4
// MODULE: main(lib)
// FILE: main.kt
fun box(): String {
if (four == 4)
return "OK"
else
return four.toString()
}
@@ -0,0 +1,18 @@
// KT-56023
// JS_IR: IllegalStateException: CONST_VAL_WITH_NON_CONST_INITIALIZER: Const 'val' initializer should be a constant value at (7,18) in /lib.kt
// NATIVE: test fails as below in both modes -Pkotlin.internal.native.test.mode=TWO_STAGE_MULTI_MODULE, -Pkotlin.internal.native.test.mode=ONE_STAGE_MULTI_MODULE
// error: const 'val' initializer should be a constant value
// IGNORE_BACKEND_K2: NATIVE, JS_IR
// MODULE: lib
// FILE: lib.kt
const val four = 2 + 2
// MODULE: main(lib)
// FILE: main.kt
fun box(): String {
if (four == 4)
return "OK"
else
return four.toString()
}
@@ -0,0 +1,12 @@
// MODULE: lib
// FILE: lib.kt
val four = 2 + 2
// MODULE: main(lib)
// FILE: main.kt
fun box(): String {
if (four == 4)
return "OK"
else
return four.toString()
}
@@ -0,0 +1,16 @@
// MODULE: lib1
// FILE: lib1.kt
fun initializer() = 4
// MODULE: lib2(lib1)
// FILE: lib2.kt
val four = initializer()
// MODULE: main(lib1, lib2)
// FILE: main.kt
fun box(): String {
if (four == 4)
return "OK"
else
return four.toString()
}