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 f740edcf959..4a586bd1510 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 @@ -113,14 +113,14 @@ open class ParcelableResolveExtension : SyntheticResolveExtension { && modality != Modality.ABSTRACT && typeParameters.isEmpty() && valueParameters.isEmpty() - && returnType?.let { type -> KotlinBuiltIns.isInt(type) } == true + // Unfortunately, we can't check the return type as it's unresolved in IDE light classes } } internal fun SimpleFunctionDescriptor.isWriteToParcel(): Boolean { return typeParameters.isEmpty() && valueParameters.size == 2 - // Unfortunately, we can't check the first parameter cause it can be unresolved + // Unfortunately, we can't check the first parameter type as it's unresolved in IDE light classes && KotlinBuiltIns.isInt(valueParameters[1].type) && returnType?.let { KotlinBuiltIns.isUnit(it) } == true } diff --git a/plugins/android-extensions/android-extensions-compiler/testData/parcel/codegen/simple.txt b/plugins/android-extensions/android-extensions-compiler/testData/parcel/codegen/simple.txt index b8c518077e8..c65c48d6d0b 100644 --- a/plugins/android-extensions/android-extensions-compiler/testData/parcel/codegen/simple.txt +++ b/plugins/android-extensions/android-extensions-compiler/testData/parcel/codegen/simple.txt @@ -17,7 +17,7 @@ public final class User$Creator : java/lang/Object, android/os/Parcelable$Creato INVOKEVIRTUAL (android/os/Parcel, readInt, ()I) ALOAD (1) INVOKEVIRTUAL (android/os/Parcel, readInt, ()I) - IFLE (L2) + IFEQ (L2) ICONST_1 GOTO (L3) LABEL (L2)