From f13f54d5ad12e00ea87959ea1f34e60914e07dd4 Mon Sep 17 00:00:00 2001 From: Leonid Startsev Date: Thu, 22 Nov 2018 17:05:00 +0300 Subject: [PATCH] Fix "kotlin.UninitializedPropertyAccessException: lateinit property typeTranslator has not been initialized" in Native IR serialization plugin --- .../serialization/compiler/backend/ir/GeneratorHelpers.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/ir/GeneratorHelpers.kt b/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/ir/GeneratorHelpers.kt index bef330438e7..4f88c56a8c8 100644 --- a/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/ir/GeneratorHelpers.kt +++ b/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/ir/GeneratorHelpers.kt @@ -45,9 +45,10 @@ import org.jetbrains.kotlinx.serialization.compiler.resolve.* val BackendContext.externalSymbols: ReferenceSymbolTable get() = ir.symbols.externalSymbolTable internal fun BackendContext.createTypeTranslator(moduleDescriptor: ModuleDescriptor): TypeTranslator = - TypeTranslator(externalSymbols, irBuiltIns.languageVersionSettings).apply { - constantValueGenerator = ConstantValueGenerator(moduleDescriptor, symbolTable = externalSymbols) - } + TypeTranslator(externalSymbols, irBuiltIns.languageVersionSettings).apply { + constantValueGenerator = ConstantValueGenerator(moduleDescriptor, symbolTable = externalSymbols) + constantValueGenerator.typeTranslator = this + } interface IrBuilderExtension { val compilerContext: BackendContext