[K/N] Move Native-specific mangle constants to more suitable places
They shouldn't be mixed with target-independent constants.
This commit is contained in:
committed by
teamcity
parent
08a9e7eae9
commit
9eba17d631
+8
-3
@@ -30,6 +30,11 @@ import org.jetbrains.kotlin.name.Name
|
||||
// TODO: do not serialize descriptors of non-exported declarations.
|
||||
|
||||
object KonanBinaryInterface {
|
||||
|
||||
internal const val MANGLE_FUN_PREFIX = "kfun"
|
||||
internal const val MANGLE_CLASS_PREFIX = "kclass"
|
||||
internal const val MANGLE_FIELD_PREFIX = "kfield"
|
||||
|
||||
private val mangler = object : AbstractKonanIrMangler(withReturnType = true, allowOutOfScopeTypeParameters = true) {}
|
||||
|
||||
private val exportChecker = mangler.getExportChecker(compatibleMode = true)
|
||||
@@ -43,7 +48,7 @@ object KonanBinaryInterface {
|
||||
return funSymbolNameImpl(null)
|
||||
}
|
||||
|
||||
val IrField.symbolName: String get() = withPrefix(MangleConstant.FIELD_PREFIX, fieldSymbolNameImpl())
|
||||
val IrField.symbolName: String get() = withPrefix(MANGLE_FIELD_PREFIX, fieldSymbolNameImpl())
|
||||
|
||||
val IrClass.typeInfoSymbolName: String get() = typeInfoSymbolNameImpl(null)
|
||||
|
||||
@@ -70,7 +75,7 @@ object KonanBinaryInterface {
|
||||
}
|
||||
|
||||
val mangle = mangler.run { mangleString(compatibleMode = true) }
|
||||
return withPrefix(MangleConstant.FUN_PREFIX, containerName?.plus(".$mangle") ?: mangle)
|
||||
return withPrefix(MANGLE_FUN_PREFIX, containerName?.plus(".$mangle") ?: mangle)
|
||||
}
|
||||
|
||||
private fun IrField.fieldSymbolNameImpl(): String {
|
||||
@@ -82,7 +87,7 @@ object KonanBinaryInterface {
|
||||
|
||||
private fun IrClass.typeInfoSymbolNameImpl(containerName: String?): String {
|
||||
val fqName = fqNameForIrSerialization.toString()
|
||||
return withPrefix(MangleConstant.CLASS_PREFIX, containerName?.plus(".$fqName") ?: fqName)
|
||||
return withPrefix(MANGLE_CLASS_PREFIX, containerName?.plus(".$fqName") ?: fqName)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+3
-6
@@ -7,19 +7,16 @@ package org.jetbrains.kotlin.backend.konan.llvm
|
||||
|
||||
import kotlinx.cinterop.toCValues
|
||||
import llvm.*
|
||||
import org.jetbrains.kotlin.backend.common.serialization.mangle.MangleConstant
|
||||
import org.jetbrains.kotlin.backend.konan.*
|
||||
import org.jetbrains.kotlin.backend.konan.descriptors.ClassLayoutBuilder
|
||||
import org.jetbrains.kotlin.backend.konan.descriptors.isTypedIntrinsic
|
||||
import org.jetbrains.kotlin.backend.konan.descriptors.requiredAlignment
|
||||
import org.jetbrains.kotlin.backend.konan.ir.*
|
||||
import org.jetbrains.kotlin.backend.konan.lower.isStaticInitializer
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.ir.IrElement
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.objcinterop.*
|
||||
import org.jetbrains.kotlin.ir.symbols.IrFieldSymbol
|
||||
import org.jetbrains.kotlin.ir.util.*
|
||||
import org.jetbrains.kotlin.ir.objcinterop.*
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid
|
||||
import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid
|
||||
import org.jetbrains.kotlin.library.KotlinLibrary
|
||||
@@ -210,7 +207,7 @@ private class DeclarationsGeneratorVisitor(override val generationState: NativeG
|
||||
declaration.computeTypeInfoSymbolName()
|
||||
} else {
|
||||
if (!context.config.producePerFileCache)
|
||||
"${MangleConstant.CLASS_PREFIX}:$internalName"
|
||||
"${KonanBinaryInterface.MANGLE_CLASS_PREFIX}:$internalName"
|
||||
else {
|
||||
val containerName = (generationState.cacheDeserializationStrategy as CacheDeserializationStrategy.SingleFile).filePath
|
||||
declaration.computePrivateTypeInfoSymbolName(containerName)
|
||||
@@ -389,7 +386,7 @@ private class DeclarationsGeneratorVisitor(override val generationState: NativeG
|
||||
}
|
||||
} else {
|
||||
if (!context.config.producePerFileCache)
|
||||
"${MangleConstant.FUN_PREFIX}:${qualifyInternalName(declaration)}"
|
||||
"${KonanBinaryInterface.MANGLE_FUN_PREFIX}:${qualifyInternalName(declaration)}"
|
||||
else {
|
||||
val containerName = declaration.parentClassOrNull?.fqNameForIrSerialization?.asString()
|
||||
?: (generationState.cacheDeserializationStrategy as CacheDeserializationStrategy.SingleFile).filePath
|
||||
|
||||
Reference in New Issue
Block a user