From e787dbf374c3383d34f00972e44cfeb53ff6ab8e Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Fri, 5 Jun 2020 10:09:07 +0300 Subject: [PATCH] [IR.serialization.jvm] Use Descriptor-based IR in JvmIrLinker only --- compiler/ir/serialization.jvm/build.gradle.kts | 8 -------- .../ir/backend/jvm/serialization/JvmIrLinker.kt | 13 +++++++++++-- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/compiler/ir/serialization.jvm/build.gradle.kts b/compiler/ir/serialization.jvm/build.gradle.kts index 95c21730742..5b248259793 100644 --- a/compiler/ir/serialization.jvm/build.gradle.kts +++ b/compiler/ir/serialization.jvm/build.gradle.kts @@ -17,12 +17,4 @@ sourceSets { projectDefault() } "test" {} -} - -tasks { - val compileKotlin by existing(org.jetbrains.kotlin.gradle.tasks.KotlinCompile::class) { - kotlinOptions { - freeCompilerArgs += "-Xopt-in=org.jetbrains.kotlin.ir.DescriptorBasedIr" - } - } } \ No newline at end of file diff --git a/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/ir/backend/jvm/serialization/JvmIrLinker.kt b/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/ir/backend/jvm/serialization/JvmIrLinker.kt index bf897c5c0a2..51c0af21c88 100644 --- a/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/ir/backend/jvm/serialization/JvmIrLinker.kt +++ b/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/ir/backend/jvm/serialization/JvmIrLinker.kt @@ -12,6 +12,7 @@ import org.jetbrains.kotlin.backend.common.serialization.encodings.BinarySymbolD import org.jetbrains.kotlin.backend.common.serialization.signature.IdSignatureSerializer import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.konan.KlibModuleOrigin +import org.jetbrains.kotlin.ir.DescriptorBasedIr import org.jetbrains.kotlin.ir.declarations.IrField import org.jetbrains.kotlin.ir.declarations.IrModuleFragment import org.jetbrains.kotlin.ir.declarations.impl.IrModuleFragmentImpl @@ -28,8 +29,16 @@ import org.jetbrains.kotlin.load.java.descriptors.JavaClassDescriptor import org.jetbrains.kotlin.load.java.lazy.descriptors.LazyJavaPackageFragment import org.jetbrains.kotlin.name.Name -class JvmIrLinker(currentModule: ModuleDescriptor?, logger: LoggingContext, builtIns: IrBuiltIns, symbolTable: SymbolTable, override val functionalInteraceFactory: IrAbstractFunctionFactory, private val stubGenerator: DeclarationStubGenerator, private val manglerDesc: JvmManglerDesc) : - KotlinIrLinker(currentModule, logger, builtIns, symbolTable, emptyList()) { +@OptIn(DescriptorBasedIr::class) +class JvmIrLinker( + currentModule: ModuleDescriptor?, + logger: LoggingContext, + builtIns: IrBuiltIns, + symbolTable: SymbolTable, + override val functionalInteraceFactory: IrAbstractFunctionFactory, + private val stubGenerator: DeclarationStubGenerator, + private val manglerDesc: JvmManglerDesc +) : KotlinIrLinker(currentModule, logger, builtIns, symbolTable, emptyList()) { override val fakeOverrideBuilderImpl = FakeOverrideBuilderImpl(symbolTable, IdSignatureSerializer(JvmManglerIr), builtIns)