Minor, inline obsolete and deprecated createFunctionSymbol

Also undeprecate 'createSymbolForScopeOwner' and make it private
This commit is contained in:
Alexander Udalov
2019-03-07 18:18:55 +01:00
parent 0c8e58936c
commit 9ca7719d1f
2 changed files with 4 additions and 16 deletions
@@ -26,11 +26,7 @@ import org.jetbrains.kotlin.ir.descriptors.IrTemporaryVariableDescriptor
import org.jetbrains.kotlin.ir.descriptors.IrTemporaryVariableDescriptorImpl import org.jetbrains.kotlin.ir.descriptors.IrTemporaryVariableDescriptorImpl
import org.jetbrains.kotlin.ir.expressions.IrExpression import org.jetbrains.kotlin.ir.expressions.IrExpression
import org.jetbrains.kotlin.ir.symbols.IrSymbol import org.jetbrains.kotlin.ir.symbols.IrSymbol
import org.jetbrains.kotlin.ir.symbols.IrVariableSymbol import org.jetbrains.kotlin.ir.symbols.impl.*
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.types.IrType import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.ir.types.impl.originalKotlinType import org.jetbrains.kotlin.ir.types.impl.originalKotlinType
import org.jetbrains.kotlin.ir.types.toKotlinType import org.jetbrains.kotlin.ir.types.toKotlinType
@@ -111,12 +107,11 @@ class Scope(val scopeOwnerSymbol: IrSymbol) {
} }
} }
@Suppress("DeprecatedCallableAddReplaceWith") private fun createSymbolForScopeOwner(descriptor: DeclarationDescriptor) =
@Deprecated("Creates unbound symbol")
fun createSymbolForScopeOwner(descriptor: DeclarationDescriptor) =
when (descriptor) { when (descriptor) {
is ClassDescriptor -> IrClassSymbolImpl(descriptor) is ClassDescriptor -> IrClassSymbolImpl(descriptor)
is FunctionDescriptor -> createFunctionSymbol(descriptor) is ClassConstructorDescriptor -> IrConstructorSymbolImpl(descriptor.original)
is FunctionDescriptor -> IrSimpleFunctionSymbolImpl(descriptor.original)
is PropertyDescriptor -> IrFieldSymbolImpl(descriptor) is PropertyDescriptor -> IrFieldSymbolImpl(descriptor)
else -> throw AssertionError("Unexpected scopeOwner descriptor: $descriptor") else -> throw AssertionError("Unexpected scopeOwner descriptor: $descriptor")
} }
@@ -98,13 +98,6 @@ class IrConstructorSymbolImpl(descriptor: ClassConstructorDescriptor) :
IrBindableSymbolBase<ClassConstructorDescriptor, IrConstructor>(descriptor), IrBindableSymbolBase<ClassConstructorDescriptor, IrConstructor>(descriptor),
IrConstructorSymbol 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) : class IrReturnableBlockSymbolImpl(descriptor: FunctionDescriptor) :
IrBindableSymbolBase<FunctionDescriptor, IrReturnableBlock>(descriptor), IrBindableSymbolBase<FunctionDescriptor, IrReturnableBlock>(descriptor),
IrReturnableBlockSymbol IrReturnableBlockSymbol