diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt index 35ccd32af34..bfa80f769f5 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt @@ -486,7 +486,6 @@ class Fir2IrConverter( override val symbols: BuiltinSymbolsBase, override val platform: TargetPlatform?, override val irBuiltIns: IrBuiltIns, - @property:ObsoleteDescriptorBasedAPI override val symbolTable: SymbolTable ) : IrPluginContext { @ObsoleteDescriptorBasedAPI diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrPluginContext.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrPluginContext.kt index 633580fe3f6..d90625d9d91 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrPluginContext.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrPluginContext.kt @@ -29,7 +29,6 @@ interface IrPluginContext : IrGeneratorContext { @ObsoleteDescriptorBasedAPI val bindingContext: BindingContext - @ObsoleteDescriptorBasedAPI val symbolTable: ReferenceSymbolTable @ObsoleteDescriptorBasedAPI diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrPluginContextImpl.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrPluginContextImpl.kt index b9c1b9082f0..ad0406d65f9 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrPluginContextImpl.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrPluginContextImpl.kt @@ -43,7 +43,7 @@ open class IrPluginContextImpl constructor( @OptIn(ObsoleteDescriptorBasedAPI::class) override val moduleDescriptor: ModuleDescriptor = module - @OptIn(ObsoleteDescriptorBasedAPI::class) + override val symbolTable: ReferenceSymbolTable = st private fun resolveMemberScope(fqName: FqName): MemberScope? { @@ -95,6 +95,7 @@ open class IrPluginContextImpl constructor( return symbols } + @OptIn(ObsoleteDescriptorBasedAPI::class) override fun referenceClass(fqName: FqName): IrClassSymbol? { assert(!fqName.isRoot) return resolveSymbol(fqName.parent()) { scope -> @@ -105,6 +106,7 @@ open class IrPluginContextImpl constructor( } } + @OptIn(ObsoleteDescriptorBasedAPI::class) override fun referenceTypeAlias(fqName: FqName): IrTypeAliasSymbol? { assert(!fqName.isRoot) return resolveSymbol(fqName.parent()) { scope -> @@ -120,6 +122,7 @@ open class IrPluginContextImpl constructor( return classSymbol.owner.declarations.filterIsInstance().map { it.symbol } } + @OptIn(ObsoleteDescriptorBasedAPI::class) override fun referenceFunctions(fqName: FqName): Collection { assert(!fqName.isRoot) return resolveSymbolCollection(fqName.parent()) { scope -> @@ -128,6 +131,7 @@ open class IrPluginContextImpl constructor( } } + @OptIn(ObsoleteDescriptorBasedAPI::class) override fun referenceProperties(fqName: FqName): Collection { assert(!fqName.isRoot) return resolveSymbolCollection(fqName.parent()) { scope -> diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsCommonBackendContext.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsCommonBackendContext.kt index 2f110b30ce0..f972a0a6ad6 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsCommonBackendContext.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsCommonBackendContext.kt @@ -14,6 +14,7 @@ import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.descriptors.PropertyDescriptor import org.jetbrains.kotlin.descriptors.SimpleFunctionDescriptor import org.jetbrains.kotlin.incremental.components.NoLookupLocation +import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.backend.js.utils.isDispatchReceiver import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol @@ -51,6 +52,7 @@ interface JsCommonBackendContext : CommonBackendContext { // TODO: investigate if it could be removed internal fun BackendContext.lazy2(fn: () -> T) = lazy { irFactory.stageController.withInitialIr(fn) } +@OptIn(ObsoleteDescriptorBasedAPI::class) class JsCommonCoroutineSymbols( symbolTable: SymbolTable, val module: ModuleDescriptor, diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIntrinsics.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIntrinsics.kt index 1b763d6e77f..6fce1af8bce 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIntrinsics.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIntrinsics.kt @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.ir.backend.js import org.jetbrains.kotlin.builtins.PrimitiveType import org.jetbrains.kotlin.ir.IrBuiltIns +import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.backend.js.utils.getJsName import org.jetbrains.kotlin.ir.declarations.IrFunction import org.jetbrains.kotlin.ir.declarations.IrProperty @@ -24,6 +25,7 @@ import org.jetbrains.kotlin.psi2ir.findSingleFunction import org.jetbrains.kotlin.util.capitalizeDecapitalize.toLowerCaseAsciiOnly import java.util.* +@OptIn(ObsoleteDescriptorBasedAPI::class) class JsIntrinsics(private val irBuiltIns: IrBuiltIns, val context: JsIrBackendContext) { // TODO: Should we drop operator intrinsics in favor of IrDynamicOperatorExpression? diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIrBackendContext.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIrBackendContext.kt index 3a8334704f4..82432a548fe 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIrBackendContext.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIrBackendContext.kt @@ -16,6 +16,7 @@ import org.jetbrains.kotlin.descriptors.SimpleFunctionDescriptor import org.jetbrains.kotlin.incremental.components.NoLookupLocation import org.jetbrains.kotlin.ir.IrBuiltIns import org.jetbrains.kotlin.ir.IrElement +import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET import org.jetbrains.kotlin.ir.backend.js.codegen.JsGenerationGranularity import org.jetbrains.kotlin.ir.backend.js.ir.JsIrBuilder @@ -56,6 +57,7 @@ enum class IcCompatibleIr2Js(val isCompatible: Boolean, val incrementalCacheEnab IC_MODE(true, true) } +@OptIn(ObsoleteDescriptorBasedAPI::class) class JsIrBackendContext( val module: ModuleDescriptor, override val irBuiltIns: IrBuiltIns, diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/calls/ExceptionHelperCallsTransformer.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/calls/ExceptionHelperCallsTransformer.kt index 94f43b4d33a..b0729487d47 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/calls/ExceptionHelperCallsTransformer.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/calls/ExceptionHelperCallsTransformer.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.ir.backend.js.lower.calls +import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.backend.js.JsIrBackendContext import org.jetbrains.kotlin.ir.expressions.IrFunctionAccessExpression import org.jetbrains.kotlin.ir.util.irCall @@ -15,6 +16,7 @@ import org.jetbrains.kotlin.name.Name class ExceptionHelperCallsTransformer(private val context: JsIrBackendContext) : CallsTransformer { // TODO: move symbol resolve into context + @OptIn(ObsoleteDescriptorBasedAPI::class) private fun referenceFunction(fqn: FqName) = context.getFunctions(fqn).singleOrNull()?.let { context.symbolTable.referenceSimpleFunction(it) diff --git a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmSymbols.kt b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmSymbols.kt index 36417c8b7b3..2797cea1504 100644 --- a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmSymbols.kt +++ b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmSymbols.kt @@ -12,6 +12,7 @@ import org.jetbrains.kotlin.descriptors.PackageViewDescriptor import org.jetbrains.kotlin.descriptors.PropertyDescriptor import org.jetbrains.kotlin.descriptors.SimpleFunctionDescriptor import org.jetbrains.kotlin.incremental.components.NoLookupLocation +import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.backend.js.ReflectionSymbols import org.jetbrains.kotlin.ir.symbols.IrClassSymbol import org.jetbrains.kotlin.ir.symbols.IrClassifierSymbol @@ -26,6 +27,7 @@ import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.resolve.scopes.MemberScope import java.lang.IllegalArgumentException +@OptIn(ObsoleteDescriptorBasedAPI::class) class WasmSymbols( context: WasmBackendContext, private val symbolTable: SymbolTable @@ -311,4 +313,4 @@ class WasmSymbols( fun getKFunctionType(type: IrType, list: List): IrType { return irBuiltIns.functionN(list.size).typeWith(list + type) } -} \ No newline at end of file +} diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazySymbolTable.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazySymbolTable.kt index cdfd9189632..c953418858b 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazySymbolTable.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazySymbolTable.kt @@ -7,11 +7,13 @@ package org.jetbrains.kotlin.ir.declarations.lazy import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.ir.IrLock +import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.symbols.* import org.jetbrains.kotlin.ir.util.DeclarationStubGenerator import org.jetbrains.kotlin.ir.util.ReferenceSymbolTable import org.jetbrains.kotlin.ir.util.SymbolTable +@OptIn(ObsoleteDescriptorBasedAPI::class) class IrLazySymbolTable(private val originalTable: SymbolTable) : ReferenceSymbolTable by originalTable { val lock: IrLock get() = originalTable.lock diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/ConstantValueGenerator.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/ConstantValueGenerator.kt index cc9269a7bb7..b5197cc6877 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/ConstantValueGenerator.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/ConstantValueGenerator.kt @@ -12,6 +12,7 @@ import org.jetbrains.kotlin.descriptors.NotFoundClasses import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor import org.jetbrains.kotlin.incremental.components.NoLookupLocation +import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET import org.jetbrains.kotlin.ir.expressions.IrConstructorCall import org.jetbrains.kotlin.ir.expressions.IrExpression @@ -53,6 +54,7 @@ abstract class ConstantValueGenerator( startOffset, endOffset, constantValue, valueParameter.type, valueParameter.varargElementType ) + @OptIn(ObsoleteDescriptorBasedAPI::class) private fun generateConstantOrAnnotationValueAsExpression( startOffset: Int, endOffset: Int, @@ -147,6 +149,7 @@ abstract class ConstantValueGenerator( } } + @OptIn(ObsoleteDescriptorBasedAPI::class) fun generateAnnotationConstructorCall(annotationDescriptor: AnnotationDescriptor, realType: KotlinType? = null): IrConstructorCall? { val annotationType = realType ?: annotationDescriptor.type val annotationClassDescriptor = annotationType.constructor.declarationDescriptor diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt index 8517a2150a9..07f4dab55bd 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt @@ -354,6 +354,7 @@ fun IrValueParameter.hasDefaultValue(): Boolean = DFS.ifAny( { current -> current.defaultValue != null } ) +@ObsoleteDescriptorBasedAPI fun ReferenceSymbolTable.referenceClassifier(classifier: ClassifierDescriptor): IrClassifierSymbol = when (classifier) { is TypeParameterDescriptor -> @@ -366,6 +367,7 @@ fun ReferenceSymbolTable.referenceClassifier(classifier: ClassifierDescriptor): throw IllegalArgumentException("Unexpected classifier descriptor: $classifier") } +@ObsoleteDescriptorBasedAPI fun ReferenceSymbolTable.referenceFunction(callable: CallableDescriptor): IrFunctionSymbol = when (callable) { is ClassConstructorDescriptor -> diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt index e825d14d437..c32688698f1 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt @@ -24,33 +24,51 @@ import org.jetbrains.kotlin.resolve.descriptorUtil.isEffectivelyExternal import org.jetbrains.kotlin.utils.threadLocal interface ReferenceSymbolTable { + @ObsoleteDescriptorBasedAPI fun referenceClass(descriptor: ClassDescriptor): IrClassSymbol fun referenceClass(sig: IdSignature, reg: Boolean = true): IrClassSymbol + @ObsoleteDescriptorBasedAPI fun referenceScript(descriptor: ScriptDescriptor): IrScriptSymbol + @ObsoleteDescriptorBasedAPI fun referenceConstructor(descriptor: ClassConstructorDescriptor): IrConstructorSymbol fun referenceConstructor(sig: IdSignature, reg: Boolean = true): IrConstructorSymbol + @ObsoleteDescriptorBasedAPI fun referenceEnumEntry(descriptor: ClassDescriptor): IrEnumEntrySymbol fun referenceEnumEntry(sig: IdSignature, reg: Boolean = true): IrEnumEntrySymbol + + @ObsoleteDescriptorBasedAPI fun referenceField(descriptor: PropertyDescriptor): IrFieldSymbol fun referenceField(sig: IdSignature, reg: Boolean = true): IrFieldSymbol + + @ObsoleteDescriptorBasedAPI fun referenceProperty(descriptor: PropertyDescriptor): IrPropertySymbol fun referenceProperty(sig: IdSignature, reg: Boolean = true): IrPropertySymbol + @ObsoleteDescriptorBasedAPI fun referenceProperty(descriptor: PropertyDescriptor, generate: () -> IrProperty): IrProperty + @ObsoleteDescriptorBasedAPI fun referenceSimpleFunction(descriptor: FunctionDescriptor): IrSimpleFunctionSymbol fun referenceSimpleFunction(sig: IdSignature, reg: Boolean = true): IrSimpleFunctionSymbol + + @ObsoleteDescriptorBasedAPI fun referenceDeclaredFunction(descriptor: FunctionDescriptor): IrSimpleFunctionSymbol + + @ObsoleteDescriptorBasedAPI fun referenceValueParameter(descriptor: ParameterDescriptor): IrValueParameterSymbol + @ObsoleteDescriptorBasedAPI fun referenceTypeParameter(classifier: TypeParameterDescriptor): IrTypeParameterSymbol fun referenceTypeParameter(sig: IdSignature, reg: Boolean = true): IrTypeParameterSymbol + + @ObsoleteDescriptorBasedAPI fun referenceScopedTypeParameter(classifier: TypeParameterDescriptor): IrTypeParameterSymbol fun referenceVariable(descriptor: VariableDescriptor): IrVariableSymbol + @ObsoleteDescriptorBasedAPI fun referenceTypeAlias(descriptor: TypeAliasDescriptor): IrTypeAliasSymbol fun referenceTypeAlias(sig: IdSignature, reg: Boolean = true): IrTypeAliasSymbol @@ -430,6 +448,7 @@ open class SymbolTable( ) } + @ObsoleteDescriptorBasedAPI override fun referenceScript(descriptor: ScriptDescriptor): IrScriptSymbol = scriptSymbolTable.referenced(descriptor) { IrScriptSymbolImpl(descriptor) } @@ -476,6 +495,7 @@ open class SymbolTable( } } + @ObsoleteDescriptorBasedAPI override fun referenceClass(descriptor: ClassDescriptor): IrClassSymbol = @Suppress("Reformat") // This is needed for cases like kt46069.kt, where psi2ir creates descriptor-less IR elements for adapted function references. @@ -548,6 +568,7 @@ open class SymbolTable( constructorSymbolTable.set(sig, symbol) } + @ObsoleteDescriptorBasedAPI override fun referenceConstructor(descriptor: ClassConstructorDescriptor): IrConstructorSymbol = constructorSymbolTable.referenced(descriptor) { signature -> createConstructorSymbol(descriptor, signature) } @@ -614,6 +635,7 @@ open class SymbolTable( } } + @ObsoleteDescriptorBasedAPI override fun referenceEnumEntry(descriptor: ClassDescriptor): IrEnumEntrySymbol = enumEntrySymbolTable.referenced(descriptor) { signature -> createEnumEntrySymbol(descriptor, signature) } @@ -687,6 +709,7 @@ open class SymbolTable( fieldSymbolTable.set(sig, symbol) } + @ObsoleteDescriptorBasedAPI override fun referenceField(descriptor: PropertyDescriptor): IrFieldSymbol = fieldSymbolTable.referenced(descriptor) { signature -> createFieldSymbol(descriptor, signature) } @@ -702,6 +725,7 @@ open class SymbolTable( @Deprecated(message = "Use declareProperty/referenceProperty", level = DeprecationLevel.WARNING) val propertyTable = HashMap() + @ObsoleteDescriptorBasedAPI override fun referenceProperty(descriptor: PropertyDescriptor, generate: () -> IrProperty): IrProperty = @Suppress("DEPRECATION") propertyTable.getOrPut(descriptor, generate) @@ -768,6 +792,7 @@ open class SymbolTable( propertySymbolTable.set(sig, symbol) } + @ObsoleteDescriptorBasedAPI override fun referenceProperty(descriptor: PropertyDescriptor): IrPropertySymbol = propertySymbolTable.referenced(descriptor) { signature -> createPropertySymbol(descriptor, signature) } @@ -785,6 +810,7 @@ open class SymbolTable( private fun createTypeAliasSymbol(descriptor: TypeAliasDescriptor, signature: IdSignature?): IrTypeAliasSymbol = signature?.let { IrTypeAliasPublicSymbolImpl(it, descriptor) } ?: IrTypeAliasSymbolImpl(descriptor) + @ObsoleteDescriptorBasedAPI override fun referenceTypeAlias(descriptor: TypeAliasDescriptor): IrTypeAliasSymbol = typeAliasSymbolTable.referenced(descriptor) { signature -> createTypeAliasSymbol(descriptor, signature) } @@ -862,6 +888,7 @@ open class SymbolTable( simpleFunctionSymbolTable.set(sig, symbol) } + @ObsoleteDescriptorBasedAPI override fun referenceSimpleFunction(descriptor: FunctionDescriptor): IrSimpleFunctionSymbol = simpleFunctionSymbolTable.referenced(descriptor) { signature -> createSimpleFunctionSymbol(descriptor, signature) } @@ -877,6 +904,7 @@ open class SymbolTable( } } + @ObsoleteDescriptorBasedAPI override fun referenceDeclaredFunction(descriptor: FunctionDescriptor) = simpleFunctionSymbolTable.referenced(descriptor) { throw AssertionError("Function is not declared: $descriptor") } @@ -986,15 +1014,18 @@ open class SymbolTable( valueParameterSymbolTable.introduceLocal(irValueParameter.descriptor, irValueParameter.symbol) } + @ObsoleteDescriptorBasedAPI override fun referenceValueParameter(descriptor: ParameterDescriptor) = valueParameterSymbolTable.referenced(descriptor) { throw AssertionError("Undefined parameter referenced: $descriptor\n${valueParameterSymbolTable.dump()}") } + @ObsoleteDescriptorBasedAPI override fun referenceTypeParameter(classifier: TypeParameterDescriptor): IrTypeParameterSymbol = scopedTypeParameterSymbolTable.get(classifier, signaturer.composeSignature(classifier)) ?: globalTypeParameterSymbolTable.referenced(classifier) { signature -> createTypeParameterSymbol(classifier, signature) } + @ObsoleteDescriptorBasedAPI override fun referenceScopedTypeParameter(classifier: TypeParameterDescriptor): IrTypeParameterSymbol = scopedTypeParameterSymbolTable.referenced(classifier) { signature -> createTypeParameterSymbol(classifier, signature) } diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/KJvmReplCompilerBase.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/KJvmReplCompilerBase.kt index 1357b284cf0..3aabdfec432 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/KJvmReplCompilerBase.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/KJvmReplCompilerBase.kt @@ -26,6 +26,7 @@ import org.jetbrains.kotlin.config.languageVersionSettings import org.jetbrains.kotlin.descriptors.ScriptDescriptor import org.jetbrains.kotlin.diagnostics.impl.SimpleDiagnosticsCollector import org.jetbrains.kotlin.idea.MainFunctionDetector +import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmDescriptorMangler import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl import org.jetbrains.kotlin.ir.util.SymbolTable @@ -187,6 +188,7 @@ open class KJvmReplCompilerBase( return generationState } + @OptIn(ObsoleteDescriptorBasedAPI::class) private fun generateWithBackendIr( compilationState: ReplCompilationState, sourceFiles: List,