From c20aa297f1f8eb4128fa1d05fdae048c0b0b8624 Mon Sep 17 00:00:00 2001 From: Roman Artemev Date: Fri, 8 May 2020 11:18:09 +0300 Subject: [PATCH] [ANDROID] Fix Parcelize reslove extension plugin - make it provide its synthetic members names --- .../android/parcel/ParcelableResolveExtension.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/parcel/ParcelableResolveExtension.kt b/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/parcel/ParcelableResolveExtension.kt index f6870839ba2..df68bcc55dd 100644 --- a/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/parcel/ParcelableResolveExtension.kt +++ b/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/parcel/ParcelableResolveExtension.kt @@ -75,6 +75,9 @@ open class ParcelableResolveExtension : SyntheticResolveExtension { return ValueParameterDescriptorImpl( this, null, index, Annotations.EMPTY, Name.identifier(name), type, false, false, false, null, this.source) } + + private val parcelizeMethodNames: List = + listOf(Name.identifier(DESCRIBE_CONTENTS.methodName), Name.identifier(WRITE_TO_PARCEL.methodName)) } @Deprecated( @@ -86,6 +89,13 @@ open class ParcelableResolveExtension : SyntheticResolveExtension { override fun getSyntheticCompanionObjectNameIfNeeded(thisDescriptor: ClassDescriptor) = null + override fun getSyntheticFunctionNames(thisDescriptor: ClassDescriptor): List { + return if (thisDescriptor.isParcelize) + parcelizeMethodNames + else + emptyList() + } + override fun generateSyntheticMethods( thisDescriptor: ClassDescriptor, name: Name,