IR: remove deprecated constructors of IrFunctionImpl
This commit is contained in:
+7
-2
@@ -176,7 +176,12 @@ class StandaloneDeclarationGenerator(private val context: GeneratorContext) {
|
||||
startOffset: Int, endOffset: Int, origin: IrDeclarationOrigin, descriptor: FunctionDescriptor, symbol: IrSimpleFunctionSymbol,
|
||||
defaultArgumentFactory: IrFunction.(IrValueParameter) -> IrExpressionBody? = { null }
|
||||
): IrSimpleFunction {
|
||||
val irFunction = IrFunctionImpl(startOffset, endOffset, origin, symbol, IrUninitializedType, descriptor)
|
||||
val irFunction = with(descriptor) {
|
||||
IrFunctionImpl(
|
||||
startOffset, endOffset, origin, symbol, name, visibility, modality, IrUninitializedType,
|
||||
isInline, isExternal, isTailrec, isSuspend, isOperator, isExpect
|
||||
)
|
||||
}
|
||||
irFunction.metadata = MetadataSource.Function(descriptor)
|
||||
|
||||
symbolTable.withScope(descriptor) {
|
||||
@@ -207,4 +212,4 @@ class StandaloneDeclarationGenerator(private val context: GeneratorContext) {
|
||||
|
||||
return irProperty
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+3
-36
@@ -9,12 +9,13 @@ import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.declarations.IrAttributeContainer
|
||||
import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
|
||||
import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction
|
||||
import org.jetbrains.kotlin.ir.declarations.impl.carriers.FunctionCarrier
|
||||
import org.jetbrains.kotlin.ir.descriptors.WrappedSimpleFunctionDescriptor
|
||||
import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol
|
||||
import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol
|
||||
import org.jetbrains.kotlin.ir.symbols.impl.IrSimpleFunctionSymbolImpl
|
||||
import org.jetbrains.kotlin.ir.types.IrType
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -95,40 +96,6 @@ class IrFunctionImpl(
|
||||
) : IrFunctionCommonImpl(startOffset, endOffset, origin, name, visibility, modality, returnType, isInline,
|
||||
isExternal, isTailrec, isSuspend, isOperator, isExpect, isFakeOverride) {
|
||||
|
||||
constructor(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
symbol: IrSimpleFunctionSymbol,
|
||||
returnType: IrType,
|
||||
descriptor: FunctionDescriptor,
|
||||
name: Name = descriptor.name
|
||||
) : this(
|
||||
startOffset, endOffset, origin, symbol,
|
||||
name = name,
|
||||
visibility = descriptor.visibility,
|
||||
modality = descriptor.modality,
|
||||
returnType = returnType,
|
||||
isInline = descriptor.isInline,
|
||||
isExternal = descriptor.isExternal,
|
||||
isTailrec = descriptor.isTailrec,
|
||||
isSuspend = descriptor.isSuspend,
|
||||
isOperator = descriptor.isOperator,
|
||||
isExpect = descriptor.isExpect
|
||||
)
|
||||
|
||||
// Used by kotlin-native in InteropLowering.kt and IrUtils2.kt
|
||||
constructor(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
descriptor: FunctionDescriptor,
|
||||
returnType: IrType
|
||||
) : this(
|
||||
startOffset, endOffset, origin,
|
||||
IrSimpleFunctionSymbolImpl(descriptor), returnType, descriptor
|
||||
)
|
||||
|
||||
@ObsoleteDescriptorBasedAPI
|
||||
override val descriptor: FunctionDescriptor get() = symbol.descriptor
|
||||
|
||||
|
||||
@@ -6,14 +6,11 @@
|
||||
package org.jetbrains.kotlin.ir.util
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
|
||||
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
|
||||
import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
|
||||
import org.jetbrains.kotlin.ir.declarations.IrField
|
||||
import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction
|
||||
import org.jetbrains.kotlin.ir.declarations.MetadataSource
|
||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFunctionImpl
|
||||
import org.jetbrains.kotlin.ir.types.IrType
|
||||
import org.jetbrains.kotlin.ir.types.impl.IrUninitializedType
|
||||
|
||||
@ObsoleteDescriptorBasedAPI
|
||||
@@ -24,13 +21,13 @@ fun SymbolTable.declareSimpleFunctionWithOverrides(
|
||||
descriptor: FunctionDescriptor
|
||||
) =
|
||||
declareSimpleFunction(descriptor) {
|
||||
IrFunctionImpl(
|
||||
startOffset, endOffset, origin, it,
|
||||
returnType = IrUninitializedType,
|
||||
descriptor = descriptor,
|
||||
name = nameProvider.nameForDeclaration(descriptor),
|
||||
).apply {
|
||||
metadata = MetadataSource.Function(descriptor)
|
||||
with(descriptor) {
|
||||
IrFunctionImpl(
|
||||
startOffset, endOffset, origin, it, nameProvider.nameForDeclaration(this),
|
||||
visibility, modality, IrUninitializedType, isInline, isExternal, isTailrec, isSuspend, isOperator, isExpect
|
||||
).also { declaration ->
|
||||
declaration.metadata = MetadataSource.Function(this)
|
||||
}
|
||||
}
|
||||
}.also { declaration ->
|
||||
generateOverriddenFunctionSymbols(declaration, this)
|
||||
|
||||
+6
-8
@@ -281,14 +281,12 @@ interface IrBuilderExtension {
|
||||
assert(symbol.isBound || declare)
|
||||
|
||||
if (declare) {
|
||||
IrFunctionImpl(
|
||||
fieldSymbol.owner.startOffset,
|
||||
fieldSymbol.owner.endOffset,
|
||||
SERIALIZABLE_PLUGIN_ORIGIN,
|
||||
symbol,
|
||||
descriptor.returnType!!.toIrType(),
|
||||
descriptor
|
||||
).also { f ->
|
||||
with(descriptor) {
|
||||
IrFunctionImpl(
|
||||
fieldSymbol.owner.startOffset, fieldSymbol.owner.endOffset, SERIALIZABLE_PLUGIN_ORIGIN, symbol,
|
||||
name, visibility, modality, returnType!!.toIrType(), isInline, isExternal, isTailrec, isSuspend, isOperator, isExpect
|
||||
)
|
||||
}.also { f ->
|
||||
generateOverriddenFunctionSymbols(f, compilerContext.symbolTable)
|
||||
f.createParameterDeclarations(receiver = null)
|
||||
f.returnType = descriptor.returnType!!.toIrType()
|
||||
|
||||
Reference in New Issue
Block a user