Parcelable: Remove 'ACC_STATIC' flag from Creator class, Dalvik dex checker hates it, and it's illegal anyway (KT-20034)
This commit is contained in:
committed by
Yan Zhulanow
parent
e0509e8c4d
commit
f6d7a17227
+4
-1
@@ -250,10 +250,13 @@ open class ParcelableCodegenExtension : ExpressionCodegenExtension {
|
|||||||
codegen.v.visitInnerClass(creatorAsmType.internalName, containerAsmType.internalName, "Creator", ACC_PUBLIC or ACC_STATIC)
|
codegen.v.visitInnerClass(creatorAsmType.internalName, containerAsmType.internalName, "Creator", ACC_PUBLIC or ACC_STATIC)
|
||||||
codegenForCreator.v.visitInnerClass(creatorAsmType.internalName, containerAsmType.internalName, "Creator", ACC_PUBLIC or ACC_STATIC)
|
codegenForCreator.v.visitInnerClass(creatorAsmType.internalName, containerAsmType.internalName, "Creator", ACC_PUBLIC or ACC_STATIC)
|
||||||
|
|
||||||
classBuilderForCreator.defineClass(null, V1_6, ACC_PUBLIC or ACC_STATIC,
|
classBuilderForCreator.defineClass(null, V1_6, ACC_PUBLIC or ACC_FINAL or ACC_SUPER,
|
||||||
creatorAsmType.internalName, null, "java/lang/Object",
|
creatorAsmType.internalName, null, "java/lang/Object",
|
||||||
arrayOf("android/os/Parcelable\$Creator"))
|
arrayOf("android/os/Parcelable\$Creator"))
|
||||||
|
|
||||||
|
codegen.v.visitInnerClass(creatorAsmType.internalName, containerAsmType.internalName, "Creator", ACC_PUBLIC or ACC_STATIC)
|
||||||
|
codegenForCreator.v.visitInnerClass(creatorAsmType.internalName, containerAsmType.internalName, "Creator", ACC_PUBLIC or ACC_STATIC)
|
||||||
|
|
||||||
writeSyntheticClassMetadata(classBuilderForCreator, codegen.state)
|
writeSyntheticClassMetadata(classBuilderForCreator, codegen.state)
|
||||||
|
|
||||||
writeCreatorConstructor(codegenForCreator, creatorClass, creatorAsmType)
|
writeCreatorConstructor(codegenForCreator, creatorClass, creatorAsmType)
|
||||||
|
|||||||
plugins/android-extensions/android-extensions-compiler/testData/parcel/codegen/IBinderIInterface.txt
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
public static class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
public final class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||||
public void <init>()
|
public void <init>()
|
||||||
|
|
||||||
public final java.lang.Object createFromParcel(android.os.Parcel p0) {
|
public final java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||||
|
|||||||
+2
-2
@@ -1,4 +1,4 @@
|
|||||||
public static class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
public final class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||||
public void <init>()
|
public void <init>()
|
||||||
|
|
||||||
public final java.lang.Object createFromParcel(android.os.Parcel p0)
|
public final java.lang.Object createFromParcel(android.os.Parcel p0)
|
||||||
@@ -23,7 +23,7 @@ public final class User : java/lang/Object, android/os/Parcelable {
|
|||||||
|
|
||||||
public int describeContents() {
|
public int describeContents() {
|
||||||
LABEL (L0)
|
LABEL (L0)
|
||||||
LINENUMBER (8)
|
LINENUMBER (9)
|
||||||
BIPUSH (100)
|
BIPUSH (100)
|
||||||
IRETURN
|
IRETURN
|
||||||
LABEL (L1)
|
LABEL (L1)
|
||||||
|
|||||||
Vendored
+3
-3
@@ -9,7 +9,7 @@ final class User$Companion : java/lang/Object, kotlinx/android/parcel/Parceler {
|
|||||||
|
|
||||||
public User[] newArray(int p0) {
|
public User[] newArray(int p0) {
|
||||||
LABEL (L0)
|
LABEL (L0)
|
||||||
LINENUMBER (9)
|
LINENUMBER (10)
|
||||||
ALOAD (0)
|
ALOAD (0)
|
||||||
ILOAD (1)
|
ILOAD (1)
|
||||||
INVOKESTATIC (kotlinx/android/parcel/Parceler$DefaultImpls, newArray, (Lkotlinx/android/parcel/Parceler;I)[Landroid/os/Parcelable;)
|
INVOKESTATIC (kotlinx/android/parcel/Parceler$DefaultImpls, newArray, (Lkotlinx/android/parcel/Parceler;I)[Landroid/os/Parcelable;)
|
||||||
@@ -20,7 +20,7 @@ final class User$Companion : java/lang/Object, kotlinx/android/parcel/Parceler {
|
|||||||
|
|
||||||
public android.os.Parcelable[] newArray(int p0) {
|
public android.os.Parcelable[] newArray(int p0) {
|
||||||
LABEL (L0)
|
LABEL (L0)
|
||||||
LINENUMBER (9)
|
LINENUMBER (10)
|
||||||
ALOAD (0)
|
ALOAD (0)
|
||||||
ILOAD (1)
|
ILOAD (1)
|
||||||
INVOKEVIRTUAL (User$Companion, newArray, (I)[LUser;)
|
INVOKEVIRTUAL (User$Companion, newArray, (I)[LUser;)
|
||||||
@@ -33,7 +33,7 @@ final class User$Companion : java/lang/Object, kotlinx/android/parcel/Parceler {
|
|||||||
public void write(android.os.Parcelable p0, android.os.Parcel p1, int p2)
|
public void write(android.os.Parcelable p0, android.os.Parcel p1, int p2)
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
public final class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||||
public void <init>()
|
public void <init>()
|
||||||
|
|
||||||
public final java.lang.Object createFromParcel(android.os.Parcel p0) {
|
public final java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||||
|
|||||||
+3
-3
@@ -9,7 +9,7 @@ final class User$Companion : java/lang/Object, kotlinx/android/parcel/Parceler {
|
|||||||
|
|
||||||
public User[] newArray(int p0) {
|
public User[] newArray(int p0) {
|
||||||
LABEL (L0)
|
LABEL (L0)
|
||||||
LINENUMBER (18)
|
LINENUMBER (19)
|
||||||
ILOAD (1)
|
ILOAD (1)
|
||||||
ANEWARRAY
|
ANEWARRAY
|
||||||
ARETURN
|
ARETURN
|
||||||
@@ -18,7 +18,7 @@ final class User$Companion : java/lang/Object, kotlinx/android/parcel/Parceler {
|
|||||||
|
|
||||||
public android.os.Parcelable[] newArray(int p0) {
|
public android.os.Parcelable[] newArray(int p0) {
|
||||||
LABEL (L0)
|
LABEL (L0)
|
||||||
LINENUMBER (9)
|
LINENUMBER (10)
|
||||||
ALOAD (0)
|
ALOAD (0)
|
||||||
ILOAD (1)
|
ILOAD (1)
|
||||||
INVOKEVIRTUAL (User$Companion, newArray, (I)[LUser;)
|
INVOKEVIRTUAL (User$Companion, newArray, (I)[LUser;)
|
||||||
@@ -31,7 +31,7 @@ final class User$Companion : java/lang/Object, kotlinx/android/parcel/Parceler {
|
|||||||
public void write(android.os.Parcelable p0, android.os.Parcel p1, int p2)
|
public void write(android.os.Parcelable p0, android.os.Parcel p1, int p2)
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
public final class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||||
public void <init>()
|
public void <init>()
|
||||||
|
|
||||||
public final java.lang.Object createFromParcel(android.os.Parcel p0)
|
public final java.lang.Object createFromParcel(android.os.Parcel p0)
|
||||||
|
|||||||
+2
-10
@@ -3,20 +3,14 @@ public abstract class AbstractUser : java/lang/Object, android/os/Parcelable {
|
|||||||
|
|
||||||
public int describeContents() {
|
public int describeContents() {
|
||||||
LABEL (L0)
|
LABEL (L0)
|
||||||
LINENUMBER (7)
|
LINENUMBER (8)
|
||||||
BIPUSH (100)
|
BIPUSH (100)
|
||||||
IRETURN
|
IRETURN
|
||||||
LABEL (L1)
|
LABEL (L1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public final class User$Companion : java/lang/Object {
|
public final class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||||
private void <init>()
|
|
||||||
|
|
||||||
public void <init>(kotlin.jvm.internal.DefaultConstructorMarker p0)
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
|
||||||
public void <init>()
|
public void <init>()
|
||||||
|
|
||||||
public final java.lang.Object createFromParcel(android.os.Parcel p0)
|
public final java.lang.Object createFromParcel(android.os.Parcel p0)
|
||||||
@@ -27,8 +21,6 @@ public static class User$Creator : java/lang/Object, android/os/Parcelable$Creat
|
|||||||
public final class User : AbstractUser {
|
public final class User : AbstractUser {
|
||||||
public final static User$Creator CREATOR
|
public final static User$Creator CREATOR
|
||||||
|
|
||||||
public final static User$Companion Companion
|
|
||||||
|
|
||||||
private final int age
|
private final int age
|
||||||
|
|
||||||
private final java.lang.String firstName
|
private final java.lang.String firstName
|
||||||
|
|||||||
plugins/android-extensions/android-extensions-compiler/testData/parcel/codegen/duplicatingClinit.txt
Vendored
+1
-1
@@ -10,7 +10,7 @@ public final class User$Companion : java/lang/Object {
|
|||||||
private static void test$annotations()
|
private static void test$annotations()
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
public final class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||||
public void <init>()
|
public void <init>()
|
||||||
|
|
||||||
public final java.lang.Object createFromParcel(android.os.Parcel p0)
|
public final java.lang.Object createFromParcel(android.os.Parcel p0)
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
public static class Test$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
public final class Test$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||||
public void <init>()
|
public void <init>()
|
||||||
|
|
||||||
public final java.lang.Object createFromParcel(android.os.Parcel p0)
|
public final java.lang.Object createFromParcel(android.os.Parcel p0)
|
||||||
|
|||||||
+2
-2
@@ -1,4 +1,4 @@
|
|||||||
public static class TestNotNull$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
public final class TestNotNull$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||||
public void <init>()
|
public void <init>()
|
||||||
|
|
||||||
public final java.lang.Object createFromParcel(android.os.Parcel p0)
|
public final java.lang.Object createFromParcel(android.os.Parcel p0)
|
||||||
@@ -33,7 +33,7 @@ public final class TestNotNull : java/lang/Object {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class TestNullable$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
public final class TestNullable$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||||
public void <init>()
|
public void <init>()
|
||||||
|
|
||||||
public final java.lang.Object createFromParcel(android.os.Parcel p0)
|
public final java.lang.Object createFromParcel(android.os.Parcel p0)
|
||||||
|
|||||||
Vendored
+1
-14
@@ -1,10 +1,4 @@
|
|||||||
public final class test/Foo$Companion : java/lang/Object {
|
public final class test/Foo$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||||
private void <init>()
|
|
||||||
|
|
||||||
public void <init>(kotlin.jvm.internal.DefaultConstructorMarker p0)
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class test/Foo$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
|
||||||
public void <init>()
|
public void <init>()
|
||||||
|
|
||||||
public final java.lang.Object createFromParcel(android.os.Parcel p0) {
|
public final java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||||
@@ -29,16 +23,9 @@ public static class test/Foo$Creator : java/lang/Object, android/os/Parcelable$C
|
|||||||
public final class test/Foo : java/lang/Object, android/os/Parcelable {
|
public final class test/Foo : java/lang/Object, android/os/Parcelable {
|
||||||
public final static test.Foo$Creator CREATOR
|
public final static test.Foo$Creator CREATOR
|
||||||
|
|
||||||
public final static test.Foo$Companion Companion
|
|
||||||
|
|
||||||
private final android.os.Parcelable parcelable
|
private final android.os.Parcelable parcelable
|
||||||
|
|
||||||
static void <clinit>() {
|
static void <clinit>() {
|
||||||
NEW
|
|
||||||
DUP
|
|
||||||
ACONST_NULL
|
|
||||||
INVOKESPECIAL (test/Foo$Companion, <init>, (Lkotlin/jvm/internal/DefaultConstructorMarker;)V)
|
|
||||||
PUTSTATIC (Companion, Ltest/Foo$Companion;)
|
|
||||||
NEW
|
NEW
|
||||||
DUP
|
DUP
|
||||||
INVOKESPECIAL (test/Foo$Creator, <init>, ()V)
|
INVOKESPECIAL (test/Foo$Creator, <init>, ()V)
|
||||||
|
|||||||
Vendored
+1
-1
@@ -10,7 +10,7 @@ public final class SerializableSimple : java/lang/Object, java/io/Serializable {
|
|||||||
public final java.lang.String getB()
|
public final java.lang.String getB()
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
public final class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||||
public void <init>()
|
public void <init>()
|
||||||
|
|
||||||
public final java.lang.Object createFromParcel(android.os.Parcel p0) {
|
public final java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
public static class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
public final class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||||
public void <init>()
|
public void <init>()
|
||||||
|
|
||||||
public final java.lang.Object createFromParcel(android.os.Parcel p0) {
|
public final java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
public static class Test$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
public final class Test$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||||
public void <init>()
|
public void <init>()
|
||||||
|
|
||||||
public final java.lang.Object createFromParcel(android.os.Parcel p0)
|
public final java.lang.Object createFromParcel(android.os.Parcel p0)
|
||||||
|
|||||||
+2
-2
@@ -1,4 +1,4 @@
|
|||||||
public static class Test$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
public final class Test$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||||
public void <init>()
|
public void <init>()
|
||||||
|
|
||||||
public final java.lang.Object createFromParcel(android.os.Parcel p0) {
|
public final java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||||
@@ -88,7 +88,7 @@ public final class Test : java/lang/Object, android/os/Parcelable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class TestF$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
public final class TestF$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||||
public void <init>()
|
public void <init>()
|
||||||
|
|
||||||
public final java.lang.Object createFromParcel(android.os.Parcel p0) {
|
public final java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||||
|
|||||||
Reference in New Issue
Block a user