Value classes: treat @JvmInline value classes as inline classes
Report error on value classes without @JvmInline annotation. Do not check for @JvmInline annotation in value classes since it breaks reflection.
This commit is contained in:
+2
-1
@@ -16,6 +16,7 @@ import org.jetbrains.kotlin.descriptors.commonizer.cir.impl.CirClassImpl
|
||||
import org.jetbrains.kotlin.descriptors.commonizer.utils.compactMap
|
||||
import org.jetbrains.kotlin.descriptors.commonizer.utils.intern
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.resolve.isInlineClass
|
||||
|
||||
object CirClassFactory {
|
||||
fun create(source: ClassDescriptor): CirClass = create(
|
||||
@@ -28,7 +29,7 @@ object CirClassFactory {
|
||||
companion = source.companionObjectDescriptor?.name?.intern(),
|
||||
isCompanion = source.isCompanionObject,
|
||||
isData = source.isData,
|
||||
isInline = source.isInline,
|
||||
isInline = source.isInlineClass(),
|
||||
isInner = source.isInner,
|
||||
isExternal = source.isExternal
|
||||
).apply {
|
||||
|
||||
+1
@@ -229,6 +229,7 @@ internal class ComparingDeclarationsVisitor(
|
||||
context.assertFieldsEqual(expected::isCompanionObject, actual::isCompanionObject)
|
||||
context.assertFieldsEqual(expected::isData, actual::isData)
|
||||
context.assertFieldsEqual(expected::isInline, actual::isInline)
|
||||
context.assertFieldsEqual(expected::isValue, actual::isValue)
|
||||
context.assertFieldsEqual(expected::isInner, actual::isInner)
|
||||
context.assertFieldsEqual(expected::isExternal, actual::isExternal)
|
||||
context.assertFieldsEqual(expected::isExpect, actual::isExpect)
|
||||
|
||||
Reference in New Issue
Block a user