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