diff --git a/native/swift/sir-compiler-bridge/src/org/jetbrains/kotlin/sir/bridge/BridgeGenerator.kt b/native/swift/sir-compiler-bridge/src/org/jetbrains/kotlin/sir/bridge/BridgeGenerator.kt
index b8a606c..a5cfd30 100644
--- a/native/swift/sir-compiler-bridge/src/org/jetbrains/kotlin/sir/bridge/BridgeGenerator.kt
+++ b/native/swift/sir-compiler-bridge/src/org/jetbrains/kotlin/sir/bridge/BridgeGenerator.kt
@@ -69,6 +69,25 @@
 )
 
 /**
+ * A mapping from Kotlin class to a corresponding [Swift class][sirClass].
+ */
+public class TypeBindingBridgeRequest(
+    public val sirClass: SirClass,
+) : BridgeRequest
+
+/**
+ * Bridge that implements mapping from Kotlin type name to Swift type name.
+ *
+ * @see TypeBindingBridgeRequest
+ */
+public class TypeBindingBridge(
+    /**
+     * File-level annotation to be placed on the generated Kotlin bridge.
+     */
+    public val kotlinFileAnnotation: String,
+) : GeneratedBridge
+
+/**
  * Generates various [GeneratedBridge]s given various [BridgeRequest]s
  */
 public interface BridgeGenerator {
diff --git a/native/swift/sir-compiler-bridge/src/org/jetbrains/kotlin/sir/bridge/StableBridgeRequestComparator.kt b/native/swift/sir-compiler-bridge/src/org/jetbrains/kotlin/sir/bridge/StableBridgeRequestComparator.kt
index 1a34c2e..b19df84 100644
--- a/native/swift/sir-compiler-bridge/src/org/jetbrains/kotlin/sir/bridge/StableBridgeRequestComparator.kt
+++ b/native/swift/sir-compiler-bridge/src/org/jetbrains/kotlin/sir/bridge/StableBridgeRequestComparator.kt
@@ -5,6 +5,8 @@
 
 package org.jetbrains.kotlin.sir.bridge
 
+import org.jetbrains.kotlin.sir.util.swiftFqName
+
 public object StableBridgeRequestComparator : Comparator<BridgeRequest> {
     override fun compare(
         lhs: BridgeRequest,
@@ -13,6 +15,13 @@
         is FunctionBridgeRequest -> {
             when (rhs) {
                 is FunctionBridgeRequest -> lhs.bridgeName.compareTo(rhs.bridgeName)
+                is TypeBindingBridgeRequest -> 1
+            }
+        }
+        is TypeBindingBridgeRequest -> {
+            when (rhs) {
+                is FunctionBridgeRequest -> -1
+                is TypeBindingBridgeRequest -> lhs.sirClass.swiftFqName.compareTo(rhs.sirClass.swiftFqName)
             }
         }
     }
diff --git a/native/swift/sir-compiler-bridge/src/org/jetbrains/kotlin/sir/bridge/impl/BridgeGeneratorImpl.kt b/native/swift/sir-compiler-bridge/src/org/jetbrains/kotlin/sir/bridge/impl/BridgeGeneratorImpl.kt
index 2d7e50e6..b40815a 100644
--- a/native/swift/sir-compiler-bridge/src/org/jetbrains/kotlin/sir/bridge/impl/BridgeGeneratorImpl.kt
+++ b/native/swift/sir-compiler-bridge/src/org/jetbrains/kotlin/sir/bridge/impl/BridgeGeneratorImpl.kt
@@ -7,6 +7,7 @@
 
 import org.jetbrains.kotlin.sir.*
 import org.jetbrains.kotlin.sir.bridge.*
+import org.jetbrains.kotlin.sir.mangler.mangledNameOrNull
 import org.jetbrains.kotlin.sir.util.*
 
 private const val exportAnnotationFqName = "kotlin.native.internal.ExportedBridge"
@@ -17,6 +18,7 @@
 internal class BridgeGeneratorImpl(private val typeNamer: SirTypeNamer) : BridgeGenerator {
     override fun generateBridges(request: BridgeRequest): List<GeneratedBridge> = when (request) {
         is FunctionBridgeRequest -> generateFunctionBridges(request)
+        is TypeBindingBridgeRequest -> listOf(generateTypeBindingBridge(request))
     }
 
     private fun generateFunctionBridges(request: FunctionBridgeRequest) = buildList {
@@ -71,6 +73,18 @@
             }
         }
     })
+
+    private fun generateTypeBindingBridge(request: TypeBindingBridgeRequest): TypeBindingBridge {
+        val annotationName = "kotlin.native.internal.objc.BindClassToObjCName"
+        val kotlinType = typeNamer.kotlinFqName(SirNominalType(request.sirClass))
+        val swiftName = request.sirClass.mangledNameOrNull
+        requireNotNull(swiftName) {
+            "Cannot mangle name for Swift class exported from `$kotlinType`"
+        }
+        return TypeBindingBridge(
+            kotlinFileAnnotation = "$annotationName($kotlinType::class, \"$swiftName\")"
+        )
+    }
 }
 
 private class BridgeFunctionDescriptor(
diff --git a/native/swift/sir-compiler-bridge/src/org/jetbrains/kotlin/sir/bridge/impl/CHeaderGenerator.kt b/native/swift/sir-compiler-bridge/src/org/jetbrains/kotlin/sir/bridge/impl/CHeaderGenerator.kt
index b21bfa3..0b5928fb 100644
--- a/native/swift/sir-compiler-bridge/src/org/jetbrains/kotlin/sir/bridge/impl/CHeaderGenerator.kt
+++ b/native/swift/sir-compiler-bridge/src/org/jetbrains/kotlin/sir/bridge/impl/CHeaderGenerator.kt
@@ -8,6 +8,7 @@
 import org.jetbrains.kotlin.sir.bridge.BridgePrinter
 import org.jetbrains.kotlin.sir.bridge.FunctionBridge
 import org.jetbrains.kotlin.sir.bridge.GeneratedBridge
+import org.jetbrains.kotlin.sir.bridge.TypeBindingBridge
 
 internal class CBridgePrinter : BridgePrinter {
 
@@ -18,6 +19,7 @@
     override fun add(bridge: GeneratedBridge) {
         when (bridge) {
             is FunctionBridge -> add(bridge)
+            is TypeBindingBridge -> Unit
         }
     }
 
diff --git a/native/swift/sir-compiler-bridge/src/org/jetbrains/kotlin/sir/bridge/impl/KotlinFileGenerator.kt b/native/swift/sir-compiler-bridge/src/org/jetbrains/kotlin/sir/bridge/impl/KotlinFileGenerator.kt
index 1cab91c..3f1ba21 100644
--- a/native/swift/sir-compiler-bridge/src/org/jetbrains/kotlin/sir/bridge/impl/KotlinFileGenerator.kt
+++ b/native/swift/sir-compiler-bridge/src/org/jetbrains/kotlin/sir/bridge/impl/KotlinFileGenerator.kt
@@ -8,15 +8,18 @@
 import org.jetbrains.kotlin.sir.bridge.BridgePrinter
 import org.jetbrains.kotlin.sir.bridge.FunctionBridge
 import org.jetbrains.kotlin.sir.bridge.GeneratedBridge
+import org.jetbrains.kotlin.sir.bridge.TypeBindingBridge
 
 internal class KotlinBridgePrinter : BridgePrinter {
 
     private val imports = mutableSetOf<String>()
     private val functions = mutableSetOf<List<String>>()
+    private val fileLevelAnnotations = mutableSetOf<String>()
 
     override fun add(bridge: GeneratedBridge) {
         when (bridge) {
             is FunctionBridge -> add(bridge)
+            is TypeBindingBridge -> add(bridge)
         }
     }
 
@@ -25,7 +28,17 @@
         imports += bridge.kotlinFunctionBridge.packageDependencies
     }
 
+    private fun add(bridge: TypeBindingBridge) {
+        fileLevelAnnotations += bridge.kotlinFileAnnotation
+    }
+
     override fun print(): Sequence<String> = sequence {
+        if (fileLevelAnnotations.isNotEmpty()) {
+            fileLevelAnnotations.forEach {
+                yield("@file:$it")
+            }
+            yield("")
+        }
         if (imports.isNotEmpty()) {
             imports.forEach {
                 yield("import $it")
diff --git a/native/swift/swift-export-standalone/src/org/jetbrains/kotlin/swiftexport/standalone/builders/buildBridgeRequests.kt b/native/swift/swift-export-standalone/src/org/jetbrains/kotlin/swiftexport/standalone/builders/buildBridgeRequests.kt
index 48f4fe1..b514f0c 100644
--- a/native/swift/swift-export-standalone/src/org/jetbrains/kotlin/swiftexport/standalone/builders/buildBridgeRequests.kt
+++ b/native/swift/swift-export-standalone/src/org/jetbrains/kotlin/swiftexport/standalone/builders/buildBridgeRequests.kt
@@ -29,6 +29,11 @@
     )
     addAll(
         container
+            .allClasses()
+            .flatMap { it.constructTypeBindingBridgeRequests(generator) }
+    )
+    addAll(
+        container
             .allContainers()
             .flatMap { buildBridgeRequests(generator, it) }
     )
diff --git a/native/swift/swift-export-standalone/src/org/jetbrains/kotlin/swiftexport/standalone/builders/buildTypeBindingBridges.kt b/native/swift/swift-export-standalone/src/org/jetbrains/kotlin/swiftexport/standalone/builders/buildTypeBindingBridges.kt
new file mode 100644
index 0000000..c630168
--- /dev/null
+++ b/native/swift/swift-export-standalone/src/org/jetbrains/kotlin/swiftexport/standalone/builders/buildTypeBindingBridges.kt
@@ -0,0 +1,19 @@
+/*
+ * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
+package org.jetbrains.kotlin.swiftexport.standalone.builders
+
+import org.jetbrains.kotlin.analysis.api.symbols.KaNamedClassSymbol
+import org.jetbrains.kotlin.sir.SirClass
+import org.jetbrains.kotlin.sir.bridge.BridgeGenerator
+import org.jetbrains.kotlin.sir.bridge.TypeBindingBridgeRequest
+import org.jetbrains.kotlin.sir.providers.source.KotlinSource
+
+internal fun SirClass.constructTypeBindingBridgeRequests(generator: BridgeGenerator): List<TypeBindingBridgeRequest> {
+    // `SirClass` must be generated from Kotlin sources, and be a named class.
+    (origin as? KotlinSource)?.symbol as? KaNamedClassSymbol ?: return emptyList()
+
+    return listOf(TypeBindingBridgeRequest(this))
+}
\ No newline at end of file
diff --git a/native/swift/swift-export-standalone/testData/execution/classMappings/classMappings.kt b/native/swift/swift-export-standalone/testData/execution/classMappings/classMappings.kt
new file mode 100644
index 0000000..567664c
--- /dev/null
+++ b/native/swift/swift-export-standalone/testData/execution/classMappings/classMappings.kt
@@ -0,0 +1,26 @@
+// KIND: STANDALONE
+// FREE_COMPILER_ARGS: -opt-in=kotlin.native.internal.InternalForKotlinNative
+// MODULE: ClassMappings
+// FILE: classes.kt
+import kotlin.native.internal.reflect.objCNameOrNull
+
+class FinalClass {
+    class NestedFinalClass
+}
+open class OpenClass
+private class PrivateClass : OpenClass()
+
+fun getAnyClassName(): String? = Any::class.objCNameOrNull
+fun getFinalClassName(): String? = FinalClass::class.objCNameOrNull
+fun getNestedFinalClassName(): String? = FinalClass.NestedFinalClass::class.objCNameOrNull
+fun getOpenClassName(): String? = OpenClass::class.objCNameOrNull
+fun getPrivateClassName(): String? = PrivateClass::class.objCNameOrNull
+
+// FILE: classes_in_namespace.kt
+package namespace
+
+import kotlin.native.internal.reflect.objCNameOrNull
+
+class NamespacedFinalClass
+
+fun getNamespacedFinalClassName(): String? = NamespacedFinalClass::class.objCNameOrNull
\ No newline at end of file
diff --git a/native/swift/swift-export-standalone/testData/execution/classMappings/classMappings.swift b/native/swift/swift-export-standalone/testData/execution/classMappings/classMappings.swift
new file mode 100644
index 0000000..c9f69c3
--- /dev/null
+++ b/native/swift/swift-export-standalone/testData/execution/classMappings/classMappings.swift
@@ -0,0 +1,56 @@
+import ClassMappings
+import KotlinRuntime
+import ObjectiveC
+
+enum TestTypeError: Error {
+    case classNotBound(Any.Type)
+    case classNotFound(String)
+    case classWrongType(actual: Any, expected: Any.Type)
+}
+
+func testType<T: KotlinBase>(_ optionalName: String?, _ type: T.Type) throws {
+    guard let name = optionalName else { throw TestTypeError.classNotBound(type) }
+    guard let objcClass = objc_getClass(name) else { throw TestTypeError.classNotFound(name) }
+    guard let swiftClass = objcClass as? T.Type else { throw TestTypeError.classWrongType(actual: objcClass, expected: type) }
+    try assertSame(actual: swiftClass, expected: type)
+}
+
+func testAnyClass() throws {
+    try testType(getAnyClassName(), KotlinBase.self)
+}
+
+func testFinalClass() throws {
+    try testType(getFinalClassName(), FinalClass.self)
+}
+
+func testNestedFinalClass() throws {
+    try testType(getNestedFinalClassName(), FinalClass.NestedFinalClass.self)
+}
+
+func testNamespacedFinalClass() throws {
+    try testType(namespace.getNamespacedFinalClassName(), namespace.NamespacedFinalClass.self)
+}
+
+func testOpenClass() throws {
+    try testType(getOpenClassName(), OpenClass.self)
+}
+
+func testPrivateClass() throws {
+    try assertNil(getPrivateClassName())
+}
+
+class ClassMappingsTests : TestProvider {
+    var tests: [TestCase] = []
+
+    init() {
+        providers.append(self)
+        tests = [
+            TestCase(name: "testAnyClass", method: withAutorelease(testAnyClass)),
+            TestCase(name: "testFinalClass", method: withAutorelease(testFinalClass)),
+            TestCase(name: "testNestedFinalClass", method: withAutorelease(testNestedFinalClass)),
+            TestCase(name: "testNamespacedFinalClass", method: withAutorelease(testNamespacedFinalClass)),
+            TestCase(name: "testOpenClass", method: withAutorelease(testOpenClass)),
+            TestCase(name: "testPrivateClass", method: withAutorelease(testPrivateClass)),
+        ]
+    }
+}
\ No newline at end of file
diff --git a/native/swift/swift-export-standalone/testData/generation/any/golden_result/main/main.kt b/native/swift/swift-export-standalone/testData/generation/any/golden_result/main/main.kt
index 64c4816..34f8516 100644
--- a/native/swift/swift-export-standalone/testData/generation/any/golden_result/main/main.kt
+++ b/native/swift/swift-export-standalone/testData/generation/any/golden_result/main/main.kt
@@ -1,3 +1,5 @@
+@file:kotlin.native.internal.objc.BindClassToObjCName(MyObject::class, "4main8MyObjectC")
+
 import kotlin.native.internal.ExportedBridge
 import kotlinx.cinterop.*
 
diff --git a/native/swift/swift-export-standalone/testData/generation/classes/golden_result/cross_module_inheritance/cross_module_inheritance.kt b/native/swift/swift-export-standalone/testData/generation/classes/golden_result/cross_module_inheritance/cross_module_inheritance.kt
index afc147a..6f3b958 100644
--- a/native/swift/swift-export-standalone/testData/generation/classes/golden_result/cross_module_inheritance/cross_module_inheritance.kt
+++ b/native/swift/swift-export-standalone/testData/generation/classes/golden_result/cross_module_inheritance/cross_module_inheritance.kt
@@ -1,3 +1,5 @@
+@file:kotlin.native.internal.objc.BindClassToObjCName(CLASS_ACROSS_MODULES::class, "24cross_module_inheritance20CLASS_ACROSS_MODULESC")
+
 import kotlin.native.internal.ExportedBridge
 import kotlinx.cinterop.*
 
diff --git a/native/swift/swift-export-standalone/testData/generation/classes/golden_result/inheritance/inheritance.kt b/native/swift/swift-export-standalone/testData/generation/classes/golden_result/inheritance/inheritance.kt
index a59cd78..a3749c2 100644
--- a/native/swift/swift-export-standalone/testData/generation/classes/golden_result/inheritance/inheritance.kt
+++ b/native/swift/swift-export-standalone/testData/generation/classes/golden_result/inheritance/inheritance.kt
@@ -1,3 +1,7 @@
+@file:kotlin.native.internal.objc.BindClassToObjCName(INHERITANCE_SINGLE_CLASS::class, "11inheritance24INHERITANCE_SINGLE_CLASSC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(OBJECT_WITH_CLASS_INHERITANCE::class, "11inheritance29OBJECT_WITH_CLASS_INHERITANCEC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(OPEN_CLASS::class, "11inheritance10OPEN_CLASSC")
+
 import kotlin.native.internal.ExportedBridge
 import kotlinx.cinterop.*
 
diff --git a/native/swift/swift-export-standalone/testData/generation/classes/golden_result/main/main.kt b/native/swift/swift-export-standalone/testData/generation/classes/golden_result/main/main.kt
index 46b1843..1941a69 100644
--- a/native/swift/swift-export-standalone/testData/generation/classes/golden_result/main/main.kt
+++ b/native/swift/swift-export-standalone/testData/generation/classes/golden_result/main/main.kt
@@ -1,3 +1,29 @@
+@file:kotlin.native.internal.objc.BindClassToObjCName(namespace.Foo::class, "22ExportedKotlinPackages9namespaceO4mainE3FooC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(namespace.Foo.INSIDE_CLASS::class, "22ExportedKotlinPackages9namespaceO4mainE3FooC12INSIDE_CLASSC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(namespace.NAMESPACED_CLASS::class, "22ExportedKotlinPackages9namespaceO4mainE16NAMESPACED_CLASSC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(namespace.deeper.DATA_OBJECT_WITH_PACKAGE::class, "22ExportedKotlinPackages9namespaceO6deeperO4mainE24DATA_OBJECT_WITH_PACKAGEC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(namespace.deeper.Foo::class, "22ExportedKotlinPackages9namespaceO6deeperO4mainE3FooC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(namespace.deeper.Foo.INSIDE_CLASS::class, "22ExportedKotlinPackages9namespaceO6deeperO4mainE3FooC12INSIDE_CLASSC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(namespace.deeper.Foo.INSIDE_CLASS.DEEPER_INSIDE_CLASS::class, "22ExportedKotlinPackages9namespaceO6deeperO4mainE3FooC12INSIDE_CLASSC19DEEPER_INSIDE_CLASSC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(namespace.deeper.NAMESPACED_CLASS::class, "22ExportedKotlinPackages9namespaceO6deeperO4mainE16NAMESPACED_CLASSC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(namespace.deeper.OBJECT_WITH_PACKAGE::class, "22ExportedKotlinPackages9namespaceO6deeperO4mainE19OBJECT_WITH_PACKAGEC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(namespace.deeper.OBJECT_WITH_PACKAGE.Bar::class, "22ExportedKotlinPackages9namespaceO6deeperO4mainE19OBJECT_WITH_PACKAGEC3BarC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(namespace.deeper.OBJECT_WITH_PACKAGE.Bar.OBJECT_INSIDE_CLASS::class, "22ExportedKotlinPackages9namespaceO6deeperO4mainE19OBJECT_WITH_PACKAGEC3BarC19OBJECT_INSIDE_CLASSC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(namespace.deeper.OBJECT_WITH_PACKAGE.Foo::class, "22ExportedKotlinPackages9namespaceO6deeperO4mainE19OBJECT_WITH_PACKAGEC3FooC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(namespace.deeper.OBJECT_WITH_PACKAGE.OBJECT_INSIDE_OBJECT::class, "22ExportedKotlinPackages9namespaceO6deeperO4mainE19OBJECT_WITH_PACKAGEC20OBJECT_INSIDE_OBJECTC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(why_we_need_module_names.CLASS_WITH_SAME_NAME::class, "22ExportedKotlinPackages24why_we_need_module_namesO4mainE20CLASS_WITH_SAME_NAMEC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(CLASS_WITH_SAME_NAME::class, "4main20CLASS_WITH_SAME_NAMEC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(ClassWithNonPublicConstructor::class, "4main29ClassWithNonPublicConstructorC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(Foo::class, "4main3FooC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(Foo.Companion::class, "4main3FooC9CompanionC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(Foo.INSIDE_CLASS::class, "4main3FooC12INSIDE_CLASSC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(OBJECT_NO_PACKAGE::class, "4main17OBJECT_NO_PACKAGEC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(OBJECT_NO_PACKAGE.Bar::class, "4main17OBJECT_NO_PACKAGEC3BarC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(OBJECT_NO_PACKAGE.Bar.CLASS_INSIDE_CLASS_INSIDE_OBJECT::class, "4main17OBJECT_NO_PACKAGEC3BarC32CLASS_INSIDE_CLASS_INSIDE_OBJECTC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(OBJECT_NO_PACKAGE.Bar.NamedCompanion::class, "4main17OBJECT_NO_PACKAGEC3BarC14NamedCompanionC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(OBJECT_NO_PACKAGE.Foo::class, "4main17OBJECT_NO_PACKAGEC3FooC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(OBJECT_NO_PACKAGE.OBJECT_INSIDE_OBJECT::class, "4main17OBJECT_NO_PACKAGEC20OBJECT_INSIDE_OBJECTC")
+
 import kotlin.native.internal.ExportedBridge
 import kotlinx.cinterop.*
 
diff --git a/native/swift/swift-export-standalone/testData/generation/consuming_dependencies/golden_result/dependency_deeper_neighbor_exported/dependency_deeper_neighbor_exported.kt b/native/swift/swift-export-standalone/testData/generation/consuming_dependencies/golden_result/dependency_deeper_neighbor_exported/dependency_deeper_neighbor_exported.kt
index 0d2f875..1f105fb 100644
--- a/native/swift/swift-export-standalone/testData/generation/consuming_dependencies/golden_result/dependency_deeper_neighbor_exported/dependency_deeper_neighbor_exported.kt
+++ b/native/swift/swift-export-standalone/testData/generation/consuming_dependencies/golden_result/dependency_deeper_neighbor_exported/dependency_deeper_neighbor_exported.kt
@@ -1,3 +1,5 @@
+@file:kotlin.native.internal.objc.BindClassToObjCName(dependency.four.AnotherBar::class, "22ExportedKotlinPackages10dependencyO4fourO35dependency_deeper_neighbor_exportedE10AnotherBarC")
+
 import kotlin.native.internal.ExportedBridge
 import kotlinx.cinterop.*
 
diff --git a/native/swift/swift-export-standalone/testData/generation/functionAndClassWithSameName/golden_result/dep/dep.kt b/native/swift/swift-export-standalone/testData/generation/functionAndClassWithSameName/golden_result/dep/dep.kt
index 9923cb5..8eb9c21 100644
--- a/native/swift/swift-export-standalone/testData/generation/functionAndClassWithSameName/golden_result/dep/dep.kt
+++ b/native/swift/swift-export-standalone/testData/generation/functionAndClassWithSameName/golden_result/dep/dep.kt
@@ -1,3 +1,5 @@
+@file:kotlin.native.internal.objc.BindClassToObjCName(test.factory.modules.ClassFromDependency::class, "22ExportedKotlinPackages4testO7factoryO7modulesO3depE19ClassFromDependencyC")
+
 import kotlin.native.internal.ExportedBridge
 import kotlinx.cinterop.*
 
diff --git a/native/swift/swift-export-standalone/testData/generation/functionAndClassWithSameName/golden_result/flattened/flattened.kt b/native/swift/swift-export-standalone/testData/generation/functionAndClassWithSameName/golden_result/flattened/flattened.kt
index 435bc61..108721c 100644
--- a/native/swift/swift-export-standalone/testData/generation/functionAndClassWithSameName/golden_result/flattened/flattened.kt
+++ b/native/swift/swift-export-standalone/testData/generation/functionAndClassWithSameName/golden_result/flattened/flattened.kt
@@ -1,3 +1,5 @@
+@file:kotlin.native.internal.objc.BindClassToObjCName(flattenedPackage.FlattenedPackageClass::class, "22ExportedKotlinPackages16flattenedPackageO9flattenedE21FlattenedPackageClassC")
+
 import kotlin.native.internal.ExportedBridge
 import kotlinx.cinterop.*
 
diff --git a/native/swift/swift-export-standalone/testData/generation/functionAndClassWithSameName/golden_result/main/main.kt b/native/swift/swift-export-standalone/testData/generation/functionAndClassWithSameName/golden_result/main/main.kt
index b2e394a..fc4ee0d 100644
--- a/native/swift/swift-export-standalone/testData/generation/functionAndClassWithSameName/golden_result/main/main.kt
+++ b/native/swift/swift-export-standalone/testData/generation/functionAndClassWithSameName/golden_result/main/main.kt
@@ -1,3 +1,10 @@
+@file:kotlin.native.internal.objc.BindClassToObjCName(test.factory.ClassWithFactoryInAPackage::class, "22ExportedKotlinPackages4testO7factoryO4mainE26ClassWithFactoryInAPackageC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(test.factory.Outer::class, "22ExportedKotlinPackages4testO7factoryO4mainE5OuterC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(test.factory.Outer.Nested::class, "22ExportedKotlinPackages4testO7factoryO4mainE5OuterC6NestedC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(ClassWithFactoryWithoutParameters::class, "4main33ClassWithFactoryWithoutParametersC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(ObjectWithFactory::class, "4main17ObjectWithFactoryC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(UtcOffset::class, "4main9UtcOffsetC")
+
 import kotlin.native.internal.ExportedBridge
 import kotlinx.cinterop.*
 
diff --git a/native/swift/swift-export-standalone/testData/generation/functions/golden_result/main/main.kt b/native/swift/swift-export-standalone/testData/generation/functions/golden_result/main/main.kt
index a11a6ee..1521985 100644
--- a/native/swift/swift-export-standalone/testData/generation/functions/golden_result/main/main.kt
+++ b/native/swift/swift-export-standalone/testData/generation/functions/golden_result/main/main.kt
@@ -1,3 +1,5 @@
+@file:kotlin.native.internal.objc.BindClassToObjCName(overload.Foo::class, "22ExportedKotlinPackages8overloadO4mainE3FooC")
+
 import kotlin.native.internal.ExportedBridge
 import kotlinx.cinterop.*
 
diff --git a/native/swift/swift-export-standalone/testData/generation/inheritance/golden_result/main/main.kt b/native/swift/swift-export-standalone/testData/generation/inheritance/golden_result/main/main.kt
index 3fb30bb..80323bb 100644
--- a/native/swift/swift-export-standalone/testData/generation/inheritance/golden_result/main/main.kt
+++ b/native/swift/swift-export-standalone/testData/generation/inheritance/golden_result/main/main.kt
@@ -1,3 +1,5 @@
+@file:kotlin.native.internal.objc.BindClassToObjCName(Foo::class, "4main3FooC")
+
 import kotlin.native.internal.ExportedBridge
 import kotlinx.cinterop.*
 
diff --git a/native/swift/swift-export-standalone/testData/generation/inner_classes/golden_result/main/main.kt b/native/swift/swift-export-standalone/testData/generation/inner_classes/golden_result/main/main.kt
index 6496824..5230940 100644
--- a/native/swift/swift-export-standalone/testData/generation/inner_classes/golden_result/main/main.kt
+++ b/native/swift/swift-export-standalone/testData/generation/inner_classes/golden_result/main/main.kt
@@ -1,3 +1,5 @@
+@file:kotlin.native.internal.objc.BindClassToObjCName(Outer::class, "4main5OuterC")
+
 import kotlin.native.internal.ExportedBridge
 import kotlinx.cinterop.*
 
diff --git a/native/swift/swift-export-standalone/testData/generation/nothing_type/golden_result/main/main.kt b/native/swift/swift-export-standalone/testData/generation/nothing_type/golden_result/main/main.kt
index efbb1cf..593de3b 100644
--- a/native/swift/swift-export-standalone/testData/generation/nothing_type/golden_result/main/main.kt
+++ b/native/swift/swift-export-standalone/testData/generation/nothing_type/golden_result/main/main.kt
@@ -1,3 +1,5 @@
+@file:kotlin.native.internal.objc.BindClassToObjCName(Bar::class, "4main3BarC")
+
 import kotlin.native.internal.ExportedBridge
 import kotlinx.cinterop.*
 
diff --git a/native/swift/swift-export-standalone/testData/generation/nullable_type/golden_result/main/main.kt b/native/swift/swift-export-standalone/testData/generation/nullable_type/golden_result/main/main.kt
index a98cb1b..25f1bf6 100644
--- a/native/swift/swift-export-standalone/testData/generation/nullable_type/golden_result/main/main.kt
+++ b/native/swift/swift-export-standalone/testData/generation/nullable_type/golden_result/main/main.kt
@@ -1,3 +1,6 @@
+@file:kotlin.native.internal.objc.BindClassToObjCName(Bar::class, "4main3BarC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(Foo::class, "4main3FooC")
+
 import kotlin.native.internal.ExportedBridge
 import kotlinx.cinterop.*
 
diff --git a/native/swift/swift-export-standalone/testData/generation/package_flattening/golden_result/main/main.kt b/native/swift/swift-export-standalone/testData/generation/package_flattening/golden_result/main/main.kt
index 5037843..e54302b 100644
--- a/native/swift/swift-export-standalone/testData/generation/package_flattening/golden_result/main/main.kt
+++ b/native/swift/swift-export-standalone/testData/generation/package_flattening/golden_result/main/main.kt
@@ -1,3 +1,5 @@
+@file:kotlin.native.internal.objc.BindClassToObjCName(org.kotlin.foo.Clazz::class, "22ExportedKotlinPackages3orgO6kotlinO3fooO4mainE5ClazzC")
+
 import kotlin.native.internal.ExportedBridge
 import kotlinx.cinterop.*
 
diff --git a/native/swift/swift-export-standalone/testData/generation/package_flattening_invalid_target/golden_result/main/main.kt b/native/swift/swift-export-standalone/testData/generation/package_flattening_invalid_target/golden_result/main/main.kt
index 6736d69..92f8f79 100644
--- a/native/swift/swift-export-standalone/testData/generation/package_flattening_invalid_target/golden_result/main/main.kt
+++ b/native/swift/swift-export-standalone/testData/generation/package_flattening_invalid_target/golden_result/main/main.kt
@@ -1,3 +1,5 @@
+@file:kotlin.native.internal.objc.BindClassToObjCName(org.kotlin.Foo::class, "22ExportedKotlinPackages3orgO6kotlinO4mainE3FooC")
+
 import kotlin.native.internal.ExportedBridge
 import kotlinx.cinterop.*
 
diff --git a/native/swift/swift-export-standalone/testData/generation/package_flattening_missing_target/golden_result/main/main.kt b/native/swift/swift-export-standalone/testData/generation/package_flattening_missing_target/golden_result/main/main.kt
index 6736d69..92f8f79 100644
--- a/native/swift/swift-export-standalone/testData/generation/package_flattening_missing_target/golden_result/main/main.kt
+++ b/native/swift/swift-export-standalone/testData/generation/package_flattening_missing_target/golden_result/main/main.kt
@@ -1,3 +1,5 @@
+@file:kotlin.native.internal.objc.BindClassToObjCName(org.kotlin.Foo::class, "22ExportedKotlinPackages3orgO6kotlinO4mainE3FooC")
+
 import kotlin.native.internal.ExportedBridge
 import kotlinx.cinterop.*
 
diff --git a/native/swift/swift-export-standalone/testData/generation/single_module_production/golden_result/main/main.kt b/native/swift/swift-export-standalone/testData/generation/single_module_production/golden_result/main/main.kt
index 5037843..2cb89ec 100644
--- a/native/swift/swift-export-standalone/testData/generation/single_module_production/golden_result/main/main.kt
+++ b/native/swift/swift-export-standalone/testData/generation/single_module_production/golden_result/main/main.kt
@@ -1,3 +1,5 @@
+@file:kotlin.native.internal.objc.BindClassToObjCName(org.kotlin.foo.Clazz::class, "4main3orgO6kotlinO3fooO4mainE5ClazzC")
+
 import kotlin.native.internal.ExportedBridge
 import kotlinx.cinterop.*
 
diff --git a/native/swift/swift-export-standalone/testData/generation/type_reference/golden_result/main/main.kt b/native/swift/swift-export-standalone/testData/generation/type_reference/golden_result/main/main.kt
index 7fca47d..c117353 100644
--- a/native/swift/swift-export-standalone/testData/generation/type_reference/golden_result/main/main.kt
+++ b/native/swift/swift-export-standalone/testData/generation/type_reference/golden_result/main/main.kt
@@ -1,3 +1,21 @@
+@file:kotlin.native.internal.objc.BindClassToObjCName(namespace.deeper.Class_with_package::class, "22ExportedKotlinPackages9namespaceO6deeperO4mainE18Class_with_packageC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(namespace.deeper.Class_with_package.INNER_CLASS::class, "22ExportedKotlinPackages9namespaceO6deeperO4mainE18Class_with_packageC11INNER_CLASSC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(namespace.deeper.Class_with_package.INNER_OBJECT::class, "22ExportedKotlinPackages9namespaceO6deeperO4mainE18Class_with_packageC12INNER_OBJECTC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(namespace.deeper.DATA_OBJECT::class, "22ExportedKotlinPackages9namespaceO6deeperO4mainE11DATA_OBJECTC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(namespace.deeper.Object_with_package::class, "22ExportedKotlinPackages9namespaceO6deeperO4mainE19Object_with_packageC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(namespace.deeper.Object_with_package.INNER_CLASS::class, "22ExportedKotlinPackages9namespaceO6deeperO4mainE19Object_with_packageC11INNER_CLASSC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(namespace.deeper.Object_with_package.INNER_OBJECT::class, "22ExportedKotlinPackages9namespaceO6deeperO4mainE19Object_with_packageC12INNER_OBJECTC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(Class_without_package::class, "4main21Class_without_packageC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(Class_without_package.INNER_CLASS::class, "4main21Class_without_packageC11INNER_CLASSC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(Class_without_package.INNER_OBJECT::class, "4main21Class_without_packageC12INNER_OBJECTC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(Demo::class, "4main4DemoC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(Demo.INNER_CLASS::class, "4main4DemoC11INNER_CLASSC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(Demo.INNER_OBJECT::class, "4main4DemoC12INNER_OBJECTC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(OPEN_CLASS::class, "4main10OPEN_CLASSC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(Object_without_package::class, "4main22Object_without_packageC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(Object_without_package.INNER_CLASS::class, "4main22Object_without_packageC11INNER_CLASSC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(Object_without_package.INNER_OBJECT::class, "4main22Object_without_packageC12INNER_OBJECTC")
+
 import kotlin.native.internal.ExportedBridge
 import kotlinx.cinterop.*
 
diff --git a/native/swift/swift-export-standalone/testData/generation/typealiases/golden_result/main/main.kt b/native/swift/swift-export-standalone/testData/generation/typealiases/golden_result/main/main.kt
index 69a3b2c..8376acf 100644
--- a/native/swift/swift-export-standalone/testData/generation/typealiases/golden_result/main/main.kt
+++ b/native/swift/swift-export-standalone/testData/generation/typealiases/golden_result/main/main.kt
@@ -1,3 +1,10 @@
+@file:kotlin.native.internal.objc.BindClassToObjCName(typealiases.Foo::class, "22ExportedKotlinPackages11typealiasesO4mainE3FooC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(typealiases.inner.Bar::class, "22ExportedKotlinPackages11typealiasesO5innerO4mainE3BarC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(DATA_OBJECT_WITH_PACKAGE::class, "4main24DATA_OBJECT_WITH_PACKAGEC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(INHERITANCE_SINGLE_CLASS::class, "4main24INHERITANCE_SINGLE_CLASSC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(OBJECT_WITH_CLASS_INHERITANCE::class, "4main29OBJECT_WITH_CLASS_INHERITANCEC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(OPEN_CLASS::class, "4main10OPEN_CLASSC")
+
 import kotlin.native.internal.ExportedBridge
 import kotlinx.cinterop.*
 
diff --git a/native/swift/swift-export-standalone/testData/generation/unsupportedDeclarationsReporting/golden_result/main/main.kt b/native/swift/swift-export-standalone/testData/generation/unsupportedDeclarationsReporting/golden_result/main/main.kt
index 7f24015..9c9532f 100644
--- a/native/swift/swift-export-standalone/testData/generation/unsupportedDeclarationsReporting/golden_result/main/main.kt
+++ b/native/swift/swift-export-standalone/testData/generation/unsupportedDeclarationsReporting/golden_result/main/main.kt
@@ -1,3 +1,6 @@
+@file:kotlin.native.internal.objc.BindClassToObjCName(Foo::class, "4main3FooC")
+@file:kotlin.native.internal.objc.BindClassToObjCName(Foo.Nested::class, "4main3FooC6NestedC")
+
 import kotlin.native.internal.ExportedBridge
 import kotlinx.cinterop.*
 
diff --git a/native/swift/swift-export-standalone/tests-gen/org/jetbrains/kotlin/swiftexport/standalone/SwiftExportExecutionTestGenerated.java b/native/swift/swift-export-standalone/tests-gen/org/jetbrains/kotlin/swiftexport/standalone/SwiftExportExecutionTestGenerated.java
index 271355f..e6a386e 100644
--- a/native/swift/swift-export-standalone/tests-gen/org/jetbrains/kotlin/swiftexport/standalone/SwiftExportExecutionTestGenerated.java
+++ b/native/swift/swift-export-standalone/tests-gen/org/jetbrains/kotlin/swiftexport/standalone/SwiftExportExecutionTestGenerated.java
@@ -42,6 +42,12 @@
   }
 
   @Test
+  @TestMetadata("classMappings")
+  public void testClassMappings() {
+    runTest("native/swift/swift-export-standalone/testData/execution/classMappings/");
+  }
+
+  @Test
   @TestMetadata("never_type")
   public void testNever_type() {
     runTest("native/swift/swift-export-standalone/testData/execution/never_type/");
