27 lines
1.1 KiB
Kotlin
Vendored
27 lines
1.1 KiB
Kotlin
Vendored
// !LANGUAGE: +IntrinsicConstEvaluation
|
|
// TARGET_BACKEND: JVM_IR
|
|
// IGNORE_BACKEND_K1: JVM_IR
|
|
|
|
class A(val OK: Int, val somePropertyWithLongName: String) {
|
|
fun foo() {}
|
|
suspend fun bar() {}
|
|
}
|
|
val topLevelProp = 1
|
|
|
|
const val propertyName1 = A::OK.<!EVALUATED("OK")!>name<!>
|
|
const val propertyName2 = A::somePropertyWithLongName.<!EVALUATED("somePropertyWithLongName")!>name<!>
|
|
const val methodName = A::foo.<!EVALUATED("foo")!>name<!>
|
|
const val suspendMethodName = A::bar.<!EVALUATED("bar")!>name<!>
|
|
const val className = ::A.<!EVALUATED("<init>")!>name<!>
|
|
const val topLevelPropName = ::topLevelProp.<!EVALUATED("topLevelProp")!>name<!>
|
|
|
|
fun box(): String {
|
|
if (<!EVALUATED("false")!>propertyName1 != "OK"<!>) return "Fail 1"
|
|
if (<!EVALUATED("false")!>propertyName2 != "somePropertyWithLongName"<!>) return "Fail 2"
|
|
if (<!EVALUATED("false")!>methodName != "foo"<!>) return "Fail 3.1"
|
|
if (<!EVALUATED("false")!>suspendMethodName != "bar"<!>) return "Fail 3.2"
|
|
if (<!EVALUATED("false")!>className != "<init>"<!>) return "Fail 4"
|
|
if (<!EVALUATED("false")!>topLevelPropName != "topLevelProp"<!>) return "Fail 5"
|
|
return "OK"
|
|
}
|