From f8ee8adfdeb88e942d0919952d03e2fbfbc9a4b9 Mon Sep 17 00:00:00 2001 From: Brian Norman Date: Tue, 7 Nov 2023 14:14:06 -0600 Subject: [PATCH] [Parcelize] Fully expand type aliases when checking for RawValue ^KT-61432 Fixed --- .../fir/diagnostics/FirParcelizePropertyChecker.kt | 2 +- .../testData/diagnostics/unsupportedType.kt | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/plugins/parcelize/parcelize-compiler/parcelize.k2/src/org/jetbrains/kotlin/parcelize/fir/diagnostics/FirParcelizePropertyChecker.kt b/plugins/parcelize/parcelize-compiler/parcelize.k2/src/org/jetbrains/kotlin/parcelize/fir/diagnostics/FirParcelizePropertyChecker.kt index 88348301953..53e5303d335 100644 --- a/plugins/parcelize/parcelize-compiler/parcelize.k2/src/org/jetbrains/kotlin/parcelize/fir/diagnostics/FirParcelizePropertyChecker.kt +++ b/plugins/parcelize/parcelize-compiler/parcelize.k2/src/org/jetbrains/kotlin/parcelize/fir/diagnostics/FirParcelizePropertyChecker.kt @@ -65,7 +65,7 @@ object FirParcelizePropertyChecker : FirPropertyChecker() { context: CheckerContext, reporter: DiagnosticReporter ) { - val type = property.returnTypeRef.coneType + val type = property.returnTypeRef.coneType.fullyExpandedType(context.session) if (type is ConeErrorType || containingClassSymbol.hasCustomParceler(context.session) || property.hasIgnoredOnParcel()) { return } diff --git a/plugins/parcelize/parcelize-compiler/testData/diagnostics/unsupportedType.kt b/plugins/parcelize/parcelize-compiler/testData/diagnostics/unsupportedType.kt index 56b5288b25a..987a22ec693 100644 --- a/plugins/parcelize/parcelize-compiler/testData/diagnostics/unsupportedType.kt +++ b/plugins/parcelize/parcelize-compiler/testData/diagnostics/unsupportedType.kt @@ -1,10 +1,14 @@ // FIR_IDENTICAL + package test import kotlinx.parcelize.Parcelize import kotlinx.parcelize.RawValue import android.os.Parcelable +typealias TypeAlias = Any +typealias RawValueTypeAlias = @RawValue Any + @Parcelize class User( val a: String, @@ -14,5 +18,7 @@ class User( val e: @RawValue Any?, val f: @RawValue Map, val g: Map, - val h: Map<@RawValue Any, List<@RawValue Any>> + val h: Map<@RawValue Any, List<@RawValue Any>>, + val i: @RawValue TypeAlias, + val j: RawValueTypeAlias, ) : Parcelable