// !LANGUAGE: +IntrinsicConstEvaluation // TARGET_BACKEND: JVM_IR // TARGET_BACKEND: JS_IR // TARGET_BACKEND: NATIVE // WITH_STDLIB fun T.id() = this fun someSideEffect(value: Any?) = {} class A { val a = "" fun b() = "" init { someSideEffect("A init") } fun test() { val a = A::a.name val b = A::b.name val c = ::A.")!>name val d = this::a.name val e = A()::b.name val f = getA()::b.name val temp = A() val g = temp::b.name val insideStringConcat = "${temp::b.name}" val complexExpression1 = A()::a.name + A()::b.name val complexExpression2 = A::a.name + A::b.name var recursive = ::test.name } fun getA(): A = A() } // STOP_EVALUATION_CHECKS fun box(): String { A().test() return "OK" }