Files
kotlin-fork/compiler/testData/codegen/box/dataObjects/toString.kt
T
Pavel Mikhailovskii c3c09aa95a KT-4107 Data objects
2022-06-28 16:58:20 +02:00

52 lines
1.3 KiB
Kotlin
Vendored

// LANGUAGE: +DataObjects
// WITH_STDLIB
package com.example
import kotlin.test.*
data object DataObject {
data object Nested
}
class Foo {
data object Inner
}
data object Declared {
override fun toString() = "Overriden"
}
open class WithFinalToString {
final override fun toString() = "FinalToString"
}
data object InheritedFromClassWithFinalToString: WithFinalToString()
open class WithOpenToString {
override fun toString() = "OpenToString"
}
data object InheritedFromClassWithOpenToString: WithOpenToString()
abstract class WithAbstractToString {
abstract override fun toString(): String
}
data object InheritedFromClassWithAbstractToString : WithAbstractToString()
class C {
companion object CC
}
fun box(): String {
assertEquals("DataObject", DataObject.toString())
assertEquals("Nested", DataObject.Nested.toString())
assertEquals("Inner", Foo.Inner.toString())
assertEquals("Overriden", Declared.toString())
assertEquals("FinalToString", InheritedFromClassWithFinalToString.toString())
assertEquals("InheritedFromClassWithOpenToString", InheritedFromClassWithOpenToString.toString())
assertEquals("InheritedFromClassWithAbstractToString", InheritedFromClassWithAbstractToString.toString())
return "OK"
}