Prohibit @JvmField on properties of inline class types

#KT-26454 Fixed
This commit is contained in:
Mikhail Zarechenskiy
2018-09-10 10:55:24 +03:00
parent 55ef96e5c9
commit e5ee142208
4 changed files with 40 additions and 5 deletions
@@ -33,12 +33,12 @@ fun requiresFunctionNameMangling(valueParameterTypes: List<KotlinType>): Boolean
fun DeclarationDescriptor.isInlineClassThatRequiresMangling(): Boolean =
isInlineClass() && !isDontMangleClass(this as ClassDescriptor)
fun KotlinType.isInlineClassThatRequiresMangling() =
constructor.declarationDescriptor?.isInlineClassThatRequiresMangling() == true
private fun KotlinType.requiresFunctionNameMangling() =
isInlineClassThatRequiresMangling() || isTypeParameterWithUpperBoundThatRequiresMangling()
private fun KotlinType.isInlineClassThatRequiresMangling() =
constructor.declarationDescriptor?.isInlineClassThatRequiresMangling() == true
private fun isDontMangleClass(classDescriptor: ClassDescriptor) =
classDescriptor.fqNameSafe == DescriptorUtils.RESULT_FQ_NAME