Add tests for property const initializers
Merge-request: KT-MR-8661 Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
This commit is contained in:
committed by
Space Team
parent
3a9ca1c1eb
commit
e75d739c7a
@@ -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()
|
||||
}
|
||||
+18
@@ -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()
|
||||
}
|
||||
Reference in New Issue
Block a user