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:
@@ -90,7 +90,7 @@ internal class InlineClassAwareCaller<out M : Member?>(
|
||||
}
|
||||
} else {
|
||||
val containingDeclaration = descriptor.containingDeclaration
|
||||
if (containingDeclaration is ClassDescriptor && containingDeclaration.isInline) {
|
||||
if (containingDeclaration is ClassDescriptor && containingDeclaration.isInlineClass()) {
|
||||
kotlinParameterTypes.add(containingDeclaration.defaultType)
|
||||
}
|
||||
}
|
||||
@@ -180,7 +180,7 @@ internal fun KotlinType.toInlineClass(): Class<*>? =
|
||||
constructor.declarationDescriptor.toInlineClass()
|
||||
|
||||
internal fun DeclarationDescriptor?.toInlineClass(): Class<*>? =
|
||||
if (this is ClassDescriptor && isInline)
|
||||
if (this is ClassDescriptor && isInlineClass())
|
||||
toJavaClass() ?: throw KotlinReflectionInternalError("Class object for the class $name cannot be found (classId=$classId)")
|
||||
else
|
||||
null
|
||||
|
||||
Reference in New Issue
Block a user