Skip to content

Commit 4c07aa8

Browse files
committed
Parcelable: Add test for clinit merging
1 parent 90b3de8 commit 4c07aa8

File tree

3 files changed

+80
-0
lines changed

3 files changed

+80
-0
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// CURIOUS_ABOUT <clinit>
2+
// WITH_RUNTIME
3+
4+
import kotlinx.android.parcel.*
5+
import android.os.Parcelable
6+
import kotlin.jvm.JvmStatic
7+
8+
@MagicParcel
9+
class User(val firstName: String) : Parcelable {
10+
companion object {
11+
@JvmStatic
12+
private val test = StringBuilder()
13+
}
14+
}
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
public static class User$CREATOR : java/lang/Object, android/os/Parcelable$Creator {
2+
public void <init>()
3+
4+
public final User createFromParcel(android.os.Parcel p0)
5+
6+
public final User[] newArray(int p0)
7+
}
8+
9+
public final class User$Companion : java/lang/Object {
10+
private void <init>()
11+
12+
public void <init>(kotlin.jvm.internal.DefaultConstructorMarker p0)
13+
14+
public final static java.lang.StringBuilder access$getTest$p(User$Companion p0)
15+
16+
private final java.lang.StringBuilder getTest()
17+
18+
private static void test$annotations()
19+
}
20+
21+
public final class User : java/lang/Object, android/os/Parcelable {
22+
public final static User$CREATOR CREATOR
23+
24+
public final static User$Companion Companion
25+
26+
private final java.lang.String firstName
27+
28+
private final static java.lang.StringBuilder test
29+
30+
static void <clinit>() {
31+
NEW
32+
DUP
33+
ACONST_NULL
34+
INVOKESPECIAL (User$Companion, <init>, (Lkotlin/jvm/internal/DefaultConstructorMarker;)V)
35+
PUTSTATIC (Companion, LUser$Companion;)
36+
LABEL (L0)
37+
LINENUMBER (12)
38+
NEW
39+
DUP
40+
INVOKESPECIAL (java/lang/StringBuilder, <init>, ()V)
41+
PUTSTATIC (test, Ljava/lang/StringBuilder;)
42+
NEW
43+
DUP
44+
INVOKESPECIAL (User$CREATOR, <init>, ()V)
45+
PUTSTATIC (CREATOR, LUser$CREATOR;)
46+
RETURN
47+
}
48+
49+
public void <init>(java.lang.String p0)
50+
51+
public final static java.lang.StringBuilder access$getTest$cp()
52+
53+
public final int describeContents()
54+
55+
public final java.lang.String getFirstName()
56+
57+
private final static java.lang.StringBuilder getTest()
58+
59+
public final void writeToParcel(android.os.Parcel p0, int p1)
60+
}

plugins/plugins-tests/tests/org/jetbrains/kotlin/android/parcel/ParcelBytecodeListingTestGenerated.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,12 @@ public void testCustomSimpleWithNewArray() throws Exception {
5454
doTest(fileName);
5555
}
5656

57+
@TestMetadata("duplicatingClinit.kt")
58+
public void testDuplicatingClinit() throws Exception {
59+
String fileName = KotlinTestUtils.navigationMetadata("plugins/android-extensions/android-extensions-compiler/testData/parcel/codegen/duplicatingClinit.kt");
60+
doTest(fileName);
61+
}
62+
5763
@TestMetadata("listInsideList.kt")
5864
public void testListInsideList() throws Exception {
5965
String fileName = KotlinTestUtils.navigationMetadata("plugins/android-extensions/android-extensions-compiler/testData/parcel/codegen/listInsideList.kt");

0 commit comments

Comments
 (0)