[K/N] Cache `FqName`s computed from `ClassId`s in KonanMangler
diff --git a/compiler/ir/serialization.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanMangler.kt b/compiler/ir/serialization.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanMangler.kt index 322a48e..0f17ee9 100644 --- a/compiler/ir/serialization.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanMangler.kt +++ b/compiler/ir/serialization.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanMangler.kt
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.util.hasAnnotation +import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.NativeRuntimeNames import org.jetbrains.kotlin.name.NativeStandardInteropNames @@ -29,6 +30,8 @@ NativeRuntimeNames.Annotations.exportForCompilerClassId, ) +private val ANNOTATIONS_TO_TREAT_AS_EXPORTED_FQNS = ANNOTATIONS_TO_TREAT_AS_EXPORTED.map(ClassId::asSingleFqName) + abstract class AbstractKonanIrMangler( private val withReturnType: Boolean, private val allowOutOfScopeTypeParameters: Boolean = false @@ -89,7 +92,7 @@ if (kind == CallableMemberDescriptor.Kind.FAKE_OVERRIDE) return false } - return ANNOTATIONS_TO_TREAT_AS_EXPORTED.any { annotations.hasAnnotation(it.asSingleFqName()) } + return ANNOTATIONS_TO_TREAT_AS_EXPORTED_FQNS.any(annotations::hasAnnotation) }