IR: remove deprecated constructor of IrClassImpl
This commit is contained in:
@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.ir.expressions.impl.*
|
||||
import org.jetbrains.kotlin.ir.expressions.mapValueParameters
|
||||
import org.jetbrains.kotlin.ir.expressions.putTypeArguments
|
||||
import org.jetbrains.kotlin.ir.expressions.typeParametersCount
|
||||
import org.jetbrains.kotlin.ir.util.createIrClassFromDescriptor
|
||||
import org.jetbrains.kotlin.ir.util.declareSimpleFunctionWithOverrides
|
||||
import org.jetbrains.kotlin.ir.util.properties
|
||||
import org.jetbrains.kotlin.ir.util.referenceFunction
|
||||
@@ -84,12 +85,12 @@ class ClassGenerator(
|
||||
val modality = getEffectiveModality(ktClassOrObject, classDescriptor)
|
||||
|
||||
return context.symbolTable.declareClass(classDescriptor) {
|
||||
IrClassImpl(
|
||||
startOffset, endOffset, IrDeclarationOrigin.DEFINED, it,
|
||||
classDescriptor,
|
||||
context.symbolTable.nameProvider.nameForDeclaration(classDescriptor),
|
||||
visibility = visibility, modality = modality,
|
||||
).apply { metadata = MetadataSource.Class(it.descriptor) }
|
||||
createIrClassFromDescriptor(
|
||||
startOffset, endOffset, IrDeclarationOrigin.DEFINED, it, classDescriptor,
|
||||
context.symbolTable.nameProvider.nameForDeclaration(classDescriptor), visibility, modality
|
||||
).apply {
|
||||
(this as IrClassImpl).metadata = MetadataSource.Class(it.descriptor)
|
||||
}
|
||||
}.buildWithScope { irClass ->
|
||||
declarationGenerator.generateGlobalTypeParametersDeclarations(irClass, classDescriptor.declaredTypeParameters)
|
||||
|
||||
|
||||
+3
-3
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.ir.declarations.impl.*
|
||||
import org.jetbrains.kotlin.ir.expressions.IrExpressionBody
|
||||
import org.jetbrains.kotlin.ir.symbols.*
|
||||
import org.jetbrains.kotlin.ir.types.impl.IrUninitializedType
|
||||
import org.jetbrains.kotlin.ir.util.createIrClassFromDescriptor
|
||||
import org.jetbrains.kotlin.ir.util.withScope
|
||||
import org.jetbrains.kotlin.psi.KtParameter
|
||||
import org.jetbrains.kotlin.psi.KtPureElement
|
||||
@@ -75,11 +76,10 @@ class StandaloneDeclarationGenerator(private val context: GeneratorContext) {
|
||||
}
|
||||
|
||||
fun generateClass(startOffset: Int, endOffset: Int, origin: IrDeclarationOrigin, descriptor: ClassDescriptor, symbol: IrClassSymbol): IrClass {
|
||||
|
||||
val irClass = IrClassImpl(startOffset, endOffset, origin, symbol, descriptor)
|
||||
val irClass = createIrClassFromDescriptor(startOffset, endOffset, origin, symbol, descriptor)
|
||||
|
||||
symbolTable.withScope(irClass) {
|
||||
irClass.metadata = MetadataSource.Class(descriptor)
|
||||
(irClass as IrClassImpl).metadata = MetadataSource.Class(descriptor)
|
||||
|
||||
generateGlobalTypeParametersDeclarations(irClass, descriptor.declaredTypeParameters)
|
||||
irClass.superTypes = descriptor.typeConstructor.supertypes.map {
|
||||
|
||||
@@ -27,7 +27,6 @@ import org.jetbrains.kotlin.ir.util.transformIfNeeded
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementTransformer
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.isEffectivelyExternal
|
||||
import java.util.*
|
||||
import kotlin.collections.ArrayList
|
||||
|
||||
@@ -53,26 +52,6 @@ class IrClassImpl(
|
||||
IrClass,
|
||||
ClassCarrier {
|
||||
|
||||
constructor(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
symbol: IrClassSymbol,
|
||||
descriptor: ClassDescriptor,
|
||||
name: Name = descriptor.name,
|
||||
visibility: Visibility = descriptor.visibility,
|
||||
modality: Modality = descriptor.modality
|
||||
) : this(
|
||||
startOffset, endOffset, origin, symbol,
|
||||
name, kind = descriptor.kind,
|
||||
visibility = visibility, modality = modality,
|
||||
isCompanion = descriptor.isCompanionObject, isInner = descriptor.isInner,
|
||||
isData = descriptor.isData, isExternal = descriptor.isEffectivelyExternal(),
|
||||
isInline = descriptor.isInline, isExpect = descriptor.isExpect,
|
||||
isFun = descriptor.isFun,
|
||||
source = descriptor.source
|
||||
)
|
||||
|
||||
init {
|
||||
symbol.bind(this)
|
||||
}
|
||||
|
||||
@@ -5,8 +5,13 @@
|
||||
|
||||
package org.jetbrains.kotlin.ir.util
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.ParameterDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.ir.declarations.IrClass
|
||||
import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
|
||||
import org.jetbrains.kotlin.ir.declarations.impl.IrClassImpl
|
||||
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.isEffectivelyExternal
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
|
||||
val ParameterDescriptor.indexOrMinusOne: Int
|
||||
@@ -20,3 +25,18 @@ val ParameterDescriptor.isCrossinline: Boolean
|
||||
|
||||
val ParameterDescriptor.isNoinline: Boolean
|
||||
get() = this is ValueParameterDescriptor && isNoinline
|
||||
|
||||
fun createIrClassFromDescriptor(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
symbol: IrClassSymbol,
|
||||
descriptor: ClassDescriptor,
|
||||
name: Name = descriptor.name,
|
||||
visibility: Visibility = descriptor.visibility,
|
||||
modality: Modality = descriptor.modality
|
||||
): IrClass = IrClassImpl(
|
||||
startOffset, endOffset, origin, symbol, name, descriptor.kind, visibility, modality,
|
||||
descriptor.isCompanionObject, descriptor.isInner, descriptor.isData, descriptor.isEffectivelyExternal(),
|
||||
descriptor.isInline, descriptor.isExpect, descriptor.isFun, descriptor.source
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user