From aa0eeba32756a26df4930470954ecbb666ab0e6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steven=20Sch=C3=A4fer?= Date: Wed, 1 Apr 2020 19:18:29 +0200 Subject: [PATCH] Parcelize: Add a test for KT-36658 --- .../parcel/ParcelBoxTestGenerated.java | 5 +++++ .../parcel/ParcelIrBoxTestGenerated.java | 5 +++++ .../testData/parcel/box/kt36658.kt | 22 +++++++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 plugins/android-extensions/android-extensions-compiler/testData/parcel/box/kt36658.kt diff --git a/plugins/android-extensions/android-extensions-compiler/test/org/jetbrains/kotlin/android/parcel/ParcelBoxTestGenerated.java b/plugins/android-extensions/android-extensions-compiler/test/org/jetbrains/kotlin/android/parcel/ParcelBoxTestGenerated.java index 1f9521ebe11..7a7c142c4f3 100644 --- a/plugins/android-extensions/android-extensions-compiler/test/org/jetbrains/kotlin/android/parcel/ParcelBoxTestGenerated.java +++ b/plugins/android-extensions/android-extensions-compiler/test/org/jetbrains/kotlin/android/parcel/ParcelBoxTestGenerated.java @@ -134,6 +134,11 @@ public class ParcelBoxTestGenerated extends AbstractParcelBoxTest { runTest("plugins/android-extensions/android-extensions-compiler/testData/parcel/box/kt26221.kt"); } + @TestMetadata("kt36658.kt") + public void testKt36658() throws Exception { + runTest("plugins/android-extensions/android-extensions-compiler/testData/parcel/box/kt36658.kt"); + } + @TestMetadata("listKinds.kt") public void testListKinds() throws Exception { runTest("plugins/android-extensions/android-extensions-compiler/testData/parcel/box/listKinds.kt"); diff --git a/plugins/android-extensions/android-extensions-compiler/test/org/jetbrains/kotlin/android/parcel/ParcelIrBoxTestGenerated.java b/plugins/android-extensions/android-extensions-compiler/test/org/jetbrains/kotlin/android/parcel/ParcelIrBoxTestGenerated.java index 5453b44d745..242dd1ec419 100644 --- a/plugins/android-extensions/android-extensions-compiler/test/org/jetbrains/kotlin/android/parcel/ParcelIrBoxTestGenerated.java +++ b/plugins/android-extensions/android-extensions-compiler/test/org/jetbrains/kotlin/android/parcel/ParcelIrBoxTestGenerated.java @@ -134,6 +134,11 @@ public class ParcelIrBoxTestGenerated extends AbstractParcelIrBoxTest { runTest("plugins/android-extensions/android-extensions-compiler/testData/parcel/box/kt26221.kt"); } + @TestMetadata("kt36658.kt") + public void testKt36658() throws Exception { + runTest("plugins/android-extensions/android-extensions-compiler/testData/parcel/box/kt36658.kt"); + } + @TestMetadata("listKinds.kt") public void testListKinds() throws Exception { runTest("plugins/android-extensions/android-extensions-compiler/testData/parcel/box/listKinds.kt"); diff --git a/plugins/android-extensions/android-extensions-compiler/testData/parcel/box/kt36658.kt b/plugins/android-extensions/android-extensions-compiler/testData/parcel/box/kt36658.kt new file mode 100644 index 00000000000..70d0314f411 --- /dev/null +++ b/plugins/android-extensions/android-extensions-compiler/testData/parcel/box/kt36658.kt @@ -0,0 +1,22 @@ +// IGNORE_BACKEND: JVM +// StackOverflowError caused by infinite loop in MyObject.writeToParcel +// WITH_RUNTIME + +@file:JvmName("TestKt") +package test + +import kotlinx.android.parcel.* +import android.os.Parcel +import android.os.Parcelable + +@Parcelize +private object MyObject : Parcelable + +fun box() = parcelTest { parcel -> + MyObject.writeToParcel(parcel, 0) + + val bytes = parcel.marshall() + parcel.unmarshall(bytes, 0, bytes.size) + + readFromParcel(parcel) +}