Parcelize: Remove remaining experimental status checks (KT-32096)
This commit is contained in:
+5
-3
@@ -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)
|
||||
|
||||
+5
-8
@@ -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<SimpleFunctionDescriptor>,
|
||||
result: MutableCollection<SimpleFunctionDescriptor>
|
||||
) {
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user