[IR] Rename PublicSignature -> CommonSignature

This commit is contained in:
Roman Artemev
2021-05-26 18:50:45 +03:00
committed by TeamCityServer
parent 5a284de2d4
commit 0856cd82d7
15 changed files with 50 additions and 46 deletions
@@ -42,7 +42,7 @@ private val objCConstructorFqName = FqName("kotlinx.cinterop.ObjCConstructor")
private val objCFactoryFqName = interopPackageName.child(Name.identifier("ObjCFactory"))
private val objcnamesForwardDeclarationsPackageName = Name.identifier("objcnames")
private fun getTopLevelPublicSignature(fqName: FqName): IdSignature.PublicSignature =
private fun getTopLevelPublicSignature(fqName: FqName): IdSignature.CommonSignature =
getPublicSignature(fqName.parent(), fqName.shortName().asString())
fun ClassDescriptor.isObjCClass(): Boolean =
@@ -26,7 +26,6 @@ import org.jetbrains.kotlin.ir.expressions.IrExpression
import org.jetbrains.kotlin.ir.expressions.impl.IrConstImpl
import org.jetbrains.kotlin.ir.expressions.impl.IrConstructorCallImpl
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
import org.jetbrains.kotlin.ir.symbols.isPublicApi
import org.jetbrains.kotlin.ir.types.IdSignatureValues
import org.jetbrains.kotlin.ir.types.classifierOrFail
import org.jetbrains.kotlin.ir.types.isMarkedNullable
@@ -36,8 +35,7 @@ import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
private fun IrClass.isClassTypeWithSignature(signature: IdSignature.PublicSignature): Boolean {
if (!symbol.isPublicApi) return false
private fun IrClass.isClassTypeWithSignature(signature: IdSignature.CommonSignature): Boolean {
return signature == symbol.signature
}
@@ -188,8 +188,10 @@ internal class RTTIGenerator(override val context: Context) : ContextUtils {
vector128Type to 10
)
private fun getElementType(irClass: IrClass): LLVMTypeRef? =
if (irClass.symbol.isPublicApi) arrayClasses[irClass.symbol.signature as IdSignature.PublicSignature] else null
private fun getElementType(irClass: IrClass): LLVMTypeRef? {
val signature = irClass.symbol.signature as? IdSignature.CommonSignature?
return signature?.let { arrayClasses[it] }
}
private fun getInstanceSize(classType: LLVMTypeRef?, irClass: IrClass) : Int {
val elementType = getElementType(irClass)
@@ -190,7 +190,7 @@ internal class KonanIrLinker(
override fun contains(idSig: IdSignature): Boolean = idSig.isForwardDeclarationSignature()
private fun resolveDescriptor(idSig: IdSignature): ClassDescriptor =
with(idSig as IdSignature.PublicSignature) {
with(idSig as IdSignature.CommonSignature) {
val classId = ClassId(packageFqName(), FqName(declarationFqName), false)
moduleDescriptor.findClassAcrossModuleDependencies(classId) ?: error("No declaration found with $idSig")
}