Files
kotlin-fork/compiler/testData/codegen/box/inlineClasses/kt27113.kt
T
Vladimir Sukharev a036e41809 [Test] Convert IGNORE: NATIVE directives in box tests from D to I
^KT-59057

Merge-request: KT-MR-10748
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2023-06-23 09:11:17 +00:00

23 lines
768 B
Kotlin
Vendored

// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
class CharacterLiteral(private val prefix: NamelessString, private val s: NamelessString) {
override fun toString(): String = "$prefix'$s'"
}
OPTIONAL_JVM_INLINE_ANNOTATION
value class NamelessString(val b: CharArray) {
override fun toString(): String = b.concatToString()
}
fun box(): String {
val abcCharArray = "abc".toCharArray()
if (abcCharArray.toString() == "abc") return "Prerequisite failed: value of abcCharArray.toString() is intended to be not equal to 'abc'"
val ns1 = NamelessString(abcCharArray)
val ns2 = NamelessString("def".toCharArray())
val cl = CharacterLiteral(ns1, ns2)
if (cl.toString() != "abc'def'") return cl.toString()
return "OK"
}