diff --git a/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/parcel/ParcelableCodegenExtension.kt b/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/parcel/ParcelableCodegenExtension.kt index 3402b779ab5..9c3618f1aba 100644 --- a/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/parcel/ParcelableCodegenExtension.kt +++ b/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/parcel/ParcelableCodegenExtension.kt @@ -64,6 +64,11 @@ open class ParcelableCodegenExtension : ExpressionCodegenExtension { private val ALLOWED_CLASS_KINDS = listOf(ClassKind.CLASS, ClassKind.OBJECT, ClassKind.ENUM_CLASS) } + @Deprecated( + "@Parcelize is now available in non-experimental setups as well.", + replaceWith = ReplaceWith("true"), + level = DeprecationLevel.ERROR + ) protected open fun isExperimental(element: KtElement) = true override val shouldGenerateClassSyntheticPartsInLightClassesMode: Boolean @@ -73,9 +78,6 @@ open class ParcelableCodegenExtension : ExpressionCodegenExtension { val parcelableClass = codegen.descriptor if (!parcelableClass.isParcelize) return - val sourceElement = (codegen.myClass as? KtClassOrObject) ?: return - if (!isExperimental(sourceElement)) return - if (parcelableClass.kind !in ALLOWED_CLASS_KINDS) return val propertiesToSerialize = getPropertiesToSerialize(codegen, parcelableClass) 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 2c8a3bc28f7..f6870839ba2 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 @@ -34,7 +34,6 @@ import org.jetbrains.kotlin.resolve.descriptorUtil.builtIns import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe import org.jetbrains.kotlin.resolve.descriptorUtil.module import org.jetbrains.kotlin.resolve.extensions.SyntheticResolveExtension -import org.jetbrains.kotlin.resolve.source.PsiSourceElement import org.jetbrains.kotlin.types.ErrorUtils import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.SimpleType @@ -78,6 +77,11 @@ open class ParcelableResolveExtension : SyntheticResolveExtension { } } + @Deprecated( + "@Parcelize is now available in non-experimental setups as well.", + replaceWith = ReplaceWith("true"), + level = DeprecationLevel.ERROR + ) protected open fun isExperimental(element: KtElement) = true override fun getSyntheticCompanionObjectNameIfNeeded(thisDescriptor: ClassDescriptor) = null @@ -89,21 +93,14 @@ open class ParcelableResolveExtension : SyntheticResolveExtension { fromSupertypes: List, result: MutableCollection ) { - fun isExperimental(): Boolean { - val sourceElement = (thisDescriptor.source as? PsiSourceElement)?.psi as? KtElement ?: return false - return isExperimental(sourceElement) - } - if (name.asString() == DESCRIBE_CONTENTS.methodName && thisDescriptor.isParcelize - && isExperimental() && result.none { it.isDescribeContents() } && fromSupertypes.none { it.isDescribeContents() } ) { result += createMethod(thisDescriptor, DESCRIBE_CONTENTS, Modality.OPEN, thisDescriptor.builtIns.intType) } else if (name.asString() == WRITE_TO_PARCEL.methodName && thisDescriptor.isParcelize - && isExperimental() && result.none { it.isWriteToParcel() } ) { val builtIns = thisDescriptor.builtIns