From fe3413c291c51dcb2b1585e47b7adc2efe84000b Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Wed, 16 Aug 2017 01:50:28 +0300 Subject: [PATCH] Parcelable: Add INNERCLASS metadata to Creator factory class and its outer class --- .../kotlin/android/parcel/ParcelableCodegenExtension.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/parcel/ParcelableCodegenExtension.kt b/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/parcel/ParcelableCodegenExtension.kt index 0e7f1e6cca3..91c0bdcd26d 100644 --- a/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/parcel/ParcelableCodegenExtension.kt +++ b/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/parcel/ParcelableCodegenExtension.kt @@ -247,6 +247,9 @@ open class ParcelableCodegenExtension : ExpressionCodegenExtension { val codegenForCreator = ImplementationBodyCodegen( codegen.myClass, classContextForCreator, classBuilderForCreator, codegen.state, codegen.parentCodegen, false) + 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) + classBuilderForCreator.defineClass(null, V1_6, ACC_PUBLIC or ACC_STATIC, creatorAsmType.internalName, null, "java/lang/Object", arrayOf("android/os/Parcelable\$Creator"))