Files
kotlin-fork/compiler/testData/codegen/box/involvesIrInterpreter/thisPlusString.kt
T
Ivan Kylchik 1ddcdcfc39 [IR] Rewrite logic around object interpretation
Basically we want to allow object interpretation only when we try
to access some const val property.

#KT-57810 Fixed
2023-04-19 13:52:44 +00:00

20 lines
576 B
Kotlin
Vendored

// TARGET_BACKEND: JVM_IR
// TARGET_BACKEND: NATIVE
// TARGET_BACKEND: JS_IR
// WITH_STDLIB
object Test {
fun foo(): String = "foo " + this
fun bar(): String = "<!EVALUATED("bar ")!>bar <!>$this"
fun baz(): String = "baz " + this.toString()
}
fun box(): String {
if (!Test.foo().startsWith("foo ")) return "<!EVALUATED("Fail ")!>Fail <!>${Test.foo()}"
if (!Test.bar().startsWith("bar ")) return "<!EVALUATED("Fail ")!>Fail <!>${Test.bar()}"
if (!Test.baz().startsWith("baz ")) return "<!EVALUATED("Fail ")!>Fail <!>${Test.baz()}"
return "OK"
}