diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/builders/Scope.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/builders/Scope.kt index 112a3d2a0f7..617c65c03c8 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/builders/Scope.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/builders/Scope.kt @@ -26,11 +26,7 @@ import org.jetbrains.kotlin.ir.descriptors.IrTemporaryVariableDescriptor import org.jetbrains.kotlin.ir.descriptors.IrTemporaryVariableDescriptorImpl import org.jetbrains.kotlin.ir.expressions.IrExpression import org.jetbrains.kotlin.ir.symbols.IrSymbol -import org.jetbrains.kotlin.ir.symbols.IrVariableSymbol -import org.jetbrains.kotlin.ir.symbols.impl.IrClassSymbolImpl -import org.jetbrains.kotlin.ir.symbols.impl.IrFieldSymbolImpl -import org.jetbrains.kotlin.ir.symbols.impl.IrVariableSymbolImpl -import org.jetbrains.kotlin.ir.symbols.impl.createFunctionSymbol +import org.jetbrains.kotlin.ir.symbols.impl.* import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.ir.types.impl.originalKotlinType import org.jetbrains.kotlin.ir.types.toKotlinType @@ -111,12 +107,11 @@ class Scope(val scopeOwnerSymbol: IrSymbol) { } } -@Suppress("DeprecatedCallableAddReplaceWith") -@Deprecated("Creates unbound symbol") -fun createSymbolForScopeOwner(descriptor: DeclarationDescriptor) = +private fun createSymbolForScopeOwner(descriptor: DeclarationDescriptor) = when (descriptor) { is ClassDescriptor -> IrClassSymbolImpl(descriptor) - is FunctionDescriptor -> createFunctionSymbol(descriptor) + is ClassConstructorDescriptor -> IrConstructorSymbolImpl(descriptor.original) + is FunctionDescriptor -> IrSimpleFunctionSymbolImpl(descriptor.original) is PropertyDescriptor -> IrFieldSymbolImpl(descriptor) else -> throw AssertionError("Unexpected scopeOwner descriptor: $descriptor") } diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/symbols/impl/IrSymbolBase.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/symbols/impl/IrSymbolBase.kt index b964481d98a..03c8743deac 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/symbols/impl/IrSymbolBase.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/symbols/impl/IrSymbolBase.kt @@ -98,13 +98,6 @@ class IrConstructorSymbolImpl(descriptor: ClassConstructorDescriptor) : IrBindableSymbolBase(descriptor), IrConstructorSymbol -fun createFunctionSymbol(descriptor: CallableMemberDescriptor): IrFunctionSymbol = - when (descriptor) { - is ClassConstructorDescriptor -> IrConstructorSymbolImpl(descriptor.original) - is FunctionDescriptor -> IrSimpleFunctionSymbolImpl(descriptor.original) - else -> throw IllegalArgumentException("Unexpected descriptor kind: $descriptor") - } - class IrReturnableBlockSymbolImpl(descriptor: FunctionDescriptor) : IrBindableSymbolBase(descriptor), IrReturnableBlockSymbol