diff --git a/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ParcelizeIrGeneratorExtension.kt b/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ParcelizeIrGeneratorExtension.kt index 9dc7c4a5bc3..2b44150a760 100644 --- a/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ParcelizeIrGeneratorExtension.kt +++ b/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ParcelizeIrGeneratorExtension.kt @@ -13,9 +13,7 @@ import org.jetbrains.kotlin.parcelize.ir.ParcelizeIrTransformer class ParcelizeIrGeneratorExtension : IrGenerationExtension { override fun generate(moduleFragment: IrModuleFragment, pluginContext: IrPluginContext) { - val arrayOfNulls = pluginContext.irBuiltIns.arrayOfNulls - val charSequence = pluginContext.irBuiltIns.charSequenceClass - val androidSymbols = AndroidSymbols(pluginContext.irBuiltIns, arrayOfNulls, charSequence, moduleFragment) + val androidSymbols = AndroidSymbols(pluginContext.irBuiltIns, moduleFragment) ParcelizeIrTransformer(pluginContext, androidSymbols).transform(moduleFragment) } } diff --git a/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ir/AndroidSymbols.kt b/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ir/AndroidSymbols.kt index ff529d55417..97c06f8ba52 100644 --- a/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ir/AndroidSymbols.kt +++ b/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ir/AndroidSymbols.kt @@ -2,7 +2,6 @@ * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ -// This file was autogenerated based on android.jar, do not edit it directly. package org.jetbrains.kotlin.parcelize.ir import org.jetbrains.kotlin.backend.common.ir.createImplicitParameterDeclarationWithWrappedDescriptor @@ -29,8 +28,6 @@ import org.jetbrains.kotlin.name.Name // supertypes, which are not needed to produce correct bytecode. class AndroidSymbols( val irBuiltIns: IrBuiltIns, - val arrayOfNulls: IrSimpleFunctionSymbol, - private val charSequence: IrClassSymbol, private val moduleFragment: IrModuleFragment ) { private val irFactory: IrFactory = IrFactoryImpl @@ -380,7 +377,7 @@ class AndroidSymbols( val textUtilsWriteToParcel: IrSimpleFunctionSymbol = androidTextTextUtils.owner.addFunction("writeToParcel", irBuiltIns.unitType, isStatic = true).apply { - addValueParameter("cs", charSequence.defaultType) + addValueParameter("cs", irBuiltIns.charSequenceClass.defaultType) addValueParameter("p", androidOsParcel.defaultType) addValueParameter("parcelableFlags", irBuiltIns.intType) }.symbol diff --git a/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ir/IrParcelSerializers.kt b/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ir/IrParcelSerializers.kt index 51a4c5afd3d..67d355b9d28 100644 --- a/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ir/IrParcelSerializers.kt +++ b/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ir/IrParcelSerializers.kt @@ -234,7 +234,7 @@ class IrArrayParcelSerializer( ) : IrParcelSerializer { private fun AndroidIrBuilder.newArray(size: IrExpression): IrExpression { val arrayConstructor: IrFunctionSymbol = if (arrayType.isBoxedArray) { - androidSymbols.arrayOfNulls + context.irBuiltIns.arrayOfNulls } else { arrayType.classOrNull!!.constructors.single { it.owner.valueParameters.size == 1 } } diff --git a/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ir/ParcelizeIrTransformer.kt b/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ir/ParcelizeIrTransformer.kt index ec74f109881..0033ff977d9 100644 --- a/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ir/ParcelizeIrTransformer.kt +++ b/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ir/ParcelizeIrTransformer.kt @@ -226,7 +226,7 @@ class ParcelizeIrTransformer(private val context: IrPluginContext, private val a body = context.createIrBuilder(symbol).run { irExprBody( parcelerNewArray(parcelerObject, sizeParameter) - ?: irCall(androidSymbols.arrayOfNulls, arrayType).apply { + ?: irCall(context.irBuiltIns.arrayOfNulls, arrayType).apply { putTypeArgument(0, arrayType) putValueArgument(0, irGet(sizeParameter)) }