diff --git a/compiler/testData/codegen/box/reflection/modifiers/classes.kt b/compiler/testData/codegen/box/reflection/modifiers/classes.kt index 4ab22934d8c..43c054c8882 100644 --- a/compiler/testData/codegen/box/reflection/modifiers/classes.kt +++ b/compiler/testData/codegen/box/reflection/modifiers/classes.kt @@ -7,9 +7,10 @@ import kotlin.test.assertFalse sealed class S { data class DataClass(val x: Int) : S() + data object DataObject inner class InnerClass companion object - object NonCompanionObject + object RegularObject fun interface FunInterface { fun invoke() } } @@ -34,6 +35,13 @@ fun box(): String { assertFalse(S.DataClass::class.isFun) assertFalse(S.DataClass::class.isValue) + assertFalse(S.DataObject::class.isSealed) + assertTrue(S.DataObject::class.isData) + assertFalse(S.DataObject::class.isInner) + assertFalse(S.DataObject::class.isCompanion) + assertFalse(S.DataObject::class.isFun) + assertFalse(S.DataObject::class.isValue) + assertFalse(S.InnerClass::class.isSealed) assertFalse(S.InnerClass::class.isData) assertTrue(S.InnerClass::class.isInner) @@ -48,12 +56,12 @@ fun box(): String { assertFalse(S.Companion::class.isFun) assertFalse(S.Companion::class.isValue) - assertFalse(S.NonCompanionObject::class.isSealed) - assertFalse(S.NonCompanionObject::class.isData) - assertFalse(S.NonCompanionObject::class.isInner) - assertFalse(S.NonCompanionObject::class.isCompanion) - assertFalse(S.NonCompanionObject::class.isFun) - assertFalse(S.NonCompanionObject::class.isValue) + assertFalse(S.RegularObject::class.isSealed) + assertFalse(S.RegularObject::class.isData) + assertFalse(S.RegularObject::class.isInner) + assertFalse(S.RegularObject::class.isCompanion) + assertFalse(S.RegularObject::class.isFun) + assertFalse(S.RegularObject::class.isValue) assertFalse(S.FunInterface::class.isSealed) assertFalse(S.FunInterface::class.isData) diff --git a/libraries/stdlib/jvm/src/kotlin/reflect/KClass.kt b/libraries/stdlib/jvm/src/kotlin/reflect/KClass.kt index aaa47fd8525..3a2453b32aa 100644 --- a/libraries/stdlib/jvm/src/kotlin/reflect/KClass.kt +++ b/libraries/stdlib/jvm/src/kotlin/reflect/KClass.kt @@ -104,9 +104,10 @@ public actual interface KClass : KDeclarationContainer, KAnnotatedEleme public val isSealed: Boolean /** - * `true` if this class is a data class. - * See the [Kotlin language documentation](https://kotlinlang.org/docs/reference/data-classes.html) - * for more information. + * `true` if this class or object has the `data` keyword. + * For more information, see [data class](https://kotlinlang.org/docs/reference/data-classes.html) and + * [data object](https://kotlinlang.org/docs/object-declarations.html#data-objects) + * in the Kotlin language documentation. */ @SinceKotlin("1.1") public val isData: Boolean