diff --git a/compiler/testData/klib/syntheticAccessors/privateMember/crossFilePrivateLeak/leakingPrivateExtensionFun.accessors.txt b/compiler/testData/klib/syntheticAccessors/privateMember/crossFilePrivateLeak/leakingPrivateExtensionFun.accessors.txt
index a8665c9..d04613f 100644
--- a/compiler/testData/klib/syntheticAccessors/privateMember/crossFilePrivateLeak/leakingPrivateExtensionFun.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/privateMember/crossFilePrivateLeak/leakingPrivateExtensionFun.accessors.txt
@@ -4,7 +4,7 @@
 
 public class A
     internal inline fun internalInlineMethod(): String
-        /* ACCESSOR use-site */ access$privateExtension($receiver = <this>)
+        /* ACCESSOR use-site */ access$AKt$privateExtension($receiver = <this>)
 /* TARGET declaration */ private fun A.privateExtension(): String
-/* ACCESSOR declaration */ public fun access$privateExtension($receiver: A): String
+/* ACCESSOR declaration */ public fun access$AKt$privateExtension($receiver: A): String
     /* TARGET use-site */ $receiver.privateExtension()
diff --git a/compiler/testData/klib/syntheticAccessors/privateMember/crossFilePrivateLeak/leakingPrivateExtensionFunThroughPrivateInlineChain.accessors.txt b/compiler/testData/klib/syntheticAccessors/privateMember/crossFilePrivateLeak/leakingPrivateExtensionFunThroughPrivateInlineChain.accessors.txt
index f638362..65d70a1 100644
--- a/compiler/testData/klib/syntheticAccessors/privateMember/crossFilePrivateLeak/leakingPrivateExtensionFunThroughPrivateInlineChain.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/privateMember/crossFilePrivateLeak/leakingPrivateExtensionFunThroughPrivateInlineChain.accessors.txt
@@ -4,7 +4,7 @@
 
 public class A
     internal inline fun internalInlineExtension(): String
-        /* ACCESSOR use-site */ access$privateExtension($receiver = this)
+        /* ACCESSOR use-site */ access$AKt$privateExtension($receiver = this)
 /* TARGET declaration */ private fun A.privateExtension(): String
 private inline fun A.privateInlineExtension1(): String
     /* TARGET use-site */ <this>.privateExtension()
@@ -14,5 +14,5 @@
     /* TARGET use-site */ this.privateExtension()
 private inline fun A.privateInlineExtension4(): String
     /* TARGET use-site */ this.privateExtension()
-/* ACCESSOR declaration */ public fun access$privateExtension($receiver: A): String
+/* ACCESSOR declaration */ public fun access$AKt$privateExtension($receiver: A): String
     /* TARGET use-site */ $receiver.privateExtension()
diff --git a/compiler/testData/klib/syntheticAccessors/privateMember/crossFilePrivateLeak/leakingPrivateExtensionVarThroughInlineFun.accessors.txt b/compiler/testData/klib/syntheticAccessors/privateMember/crossFilePrivateLeak/leakingPrivateExtensionVarThroughInlineFun.accessors.txt
index 7dc6dc8..bb5b162 100644
--- a/compiler/testData/klib/syntheticAccessors/privateMember/crossFilePrivateLeak/leakingPrivateExtensionVarThroughInlineFun.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/privateMember/crossFilePrivateLeak/leakingPrivateExtensionVarThroughInlineFun.accessors.txt
@@ -4,13 +4,13 @@
 
 public class A
     internal inline fun customSetVar(value: Int)
-        /* ACCESSOR use-site */ access$<set-privateVar>($receiver = <this>, value = value)
+        /* ACCESSOR use-site */ access$AKt$<set-privateVar>($receiver = <this>, value = value)
     internal inline fun customGetVar(): Int
-        /* ACCESSOR use-site */ access$<get-privateVar>($receiver = <this>)
+        /* ACCESSOR use-site */ access$AKt$<get-privateVar>($receiver = <this>)
 private var A.privateVar: Int
     /* TARGET declaration */ private fun A.<get-privateVar>(): Int
     /* TARGET declaration */ private fun A.<set-privateVar>(value: Int)
-/* ACCESSOR declaration */ public fun access$<set-privateVar>($receiver: A, value: Int)
+/* ACCESSOR declaration */ public fun access$AKt$<set-privateVar>($receiver: A, value: Int)
     /* TARGET use-site */ $receiver.<set-privateVar>(value = value)
-/* ACCESSOR declaration */ public fun access$<get-privateVar>($receiver: A): Int
+/* ACCESSOR declaration */ public fun access$AKt$<get-privateVar>($receiver: A): Int
     /* TARGET use-site */ $receiver.<get-privateVar>()
diff --git a/compiler/testData/klib/syntheticAccessors/privateMember/crossFilePrivateLeak/leakingPrivateExtensionVarThroughPrivateInlineVarChain.accessors.txt b/compiler/testData/klib/syntheticAccessors/privateMember/crossFilePrivateLeak/leakingPrivateExtensionVarThroughPrivateInlineVarChain.accessors.txt
index cea90e7..a69e00c 100644
--- a/compiler/testData/klib/syntheticAccessors/privateMember/crossFilePrivateLeak/leakingPrivateExtensionVarThroughPrivateInlineVarChain.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/privateMember/crossFilePrivateLeak/leakingPrivateExtensionVarThroughPrivateInlineVarChain.accessors.txt
@@ -5,9 +5,9 @@
 public class A
     internal var inlineVar: Int
         internal inline fun <get-inlineVar>(): Int
-            /* ACCESSOR use-site */ access$<get-privateVar>($receiver = this)
+            /* ACCESSOR use-site */ access$AKt$<get-privateVar>($receiver = this)
         internal inline fun <set-inlineVar>(value: Int)
-            /* ACCESSOR use-site */ access$<set-privateVar>($receiver = this, value = value)
+            /* ACCESSOR use-site */ access$AKt$<set-privateVar>($receiver = this, value = value)
 private var A.privateVar: Int
     /* TARGET declaration */ private fun A.<get-privateVar>(): Int
     /* TARGET declaration */ private fun A.<set-privateVar>(value: Int)
@@ -21,7 +21,7 @@
         /* TARGET use-site */ this.<get-privateVar>()
     private inline fun A.<set-privateInlineVar2>(value: Int)
         /* TARGET use-site */ this.<set-privateVar>(value = value)
-/* ACCESSOR declaration */ public fun access$<get-privateVar>($receiver: A): Int
+/* ACCESSOR declaration */ public fun access$AKt$<get-privateVar>($receiver: A): Int
     /* TARGET use-site */ $receiver.<get-privateVar>()
-/* ACCESSOR declaration */ public fun access$<set-privateVar>($receiver: A, value: Int)
+/* ACCESSOR declaration */ public fun access$AKt$<set-privateVar>($receiver: A, value: Int)
     /* TARGET use-site */ $receiver.<set-privateVar>(value = value)
diff --git a/compiler/testData/klib/syntheticAccessors/privateMember/crossModulePrivateLeak/leakingPrivateExtensionFun.accessors.txt b/compiler/testData/klib/syntheticAccessors/privateMember/crossModulePrivateLeak/leakingPrivateExtensionFun.accessors.txt
index 719fe26..3b6909a 100644
--- a/compiler/testData/klib/syntheticAccessors/privateMember/crossModulePrivateLeak/leakingPrivateExtensionFun.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/privateMember/crossModulePrivateLeak/leakingPrivateExtensionFun.accessors.txt
@@ -4,7 +4,7 @@
 
 public class A
     internal inline fun internalInlineMethod(): String
-        /* ACCESSOR use-site */ access$privateExtension($receiver = <this>)
+        /* ACCESSOR use-site */ access$AKt$privateExtension($receiver = <this>)
 /* TARGET declaration */ private fun A.privateExtension(): String
-/* ACCESSOR declaration */ public fun access$privateExtension($receiver: A): String
+/* ACCESSOR declaration */ public fun access$AKt$privateExtension($receiver: A): String
     /* TARGET use-site */ $receiver.privateExtension()
diff --git a/compiler/testData/klib/syntheticAccessors/privateMember/crossModulePrivateLeak/leakingPrivateExtensionFunThroughPrivateInlineChain.accessors.txt b/compiler/testData/klib/syntheticAccessors/privateMember/crossModulePrivateLeak/leakingPrivateExtensionFunThroughPrivateInlineChain.accessors.txt
index 4739f98..7d3538b 100644
--- a/compiler/testData/klib/syntheticAccessors/privateMember/crossModulePrivateLeak/leakingPrivateExtensionFunThroughPrivateInlineChain.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/privateMember/crossModulePrivateLeak/leakingPrivateExtensionFunThroughPrivateInlineChain.accessors.txt
@@ -4,7 +4,7 @@
 
 public class A
     internal inline fun internalInlineExtension(): String
-        /* ACCESSOR use-site */ access$privateExtension($receiver = this)
+        /* ACCESSOR use-site */ access$AKt$privateExtension($receiver = this)
 private inline fun A.privateInlineExtension4(): String
     /* TARGET use-site */ this.privateExtension()
 private inline fun A.privateInlineExtension3(): String
@@ -14,5 +14,5 @@
 private inline fun A.privateInlineExtension1(): String
     /* TARGET use-site */ <this>.privateExtension()
 /* TARGET declaration */ private fun A.privateExtension(): String
-/* ACCESSOR declaration */ public fun access$privateExtension($receiver: A): String
+/* ACCESSOR declaration */ public fun access$AKt$privateExtension($receiver: A): String
     /* TARGET use-site */ $receiver.privateExtension()
diff --git a/compiler/testData/klib/syntheticAccessors/privateMember/crossModulePrivateLeak/leakingPrivateExtensionVarThroughInlineFun.accessors.txt b/compiler/testData/klib/syntheticAccessors/privateMember/crossModulePrivateLeak/leakingPrivateExtensionVarThroughInlineFun.accessors.txt
index 384cd42..329eee0 100644
--- a/compiler/testData/klib/syntheticAccessors/privateMember/crossModulePrivateLeak/leakingPrivateExtensionVarThroughInlineFun.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/privateMember/crossModulePrivateLeak/leakingPrivateExtensionVarThroughInlineFun.accessors.txt
@@ -4,13 +4,13 @@
 
 public class A
     internal inline fun customSetVar(value: Int)
-        /* ACCESSOR use-site */ access$<set-privateVar>($receiver = <this>, value = value)
+        /* ACCESSOR use-site */ access$AKt$<set-privateVar>($receiver = <this>, value = value)
     internal inline fun customGetVar(): Int
-        /* ACCESSOR use-site */ access$<get-privateVar>($receiver = <this>)
+        /* ACCESSOR use-site */ access$AKt$<get-privateVar>($receiver = <this>)
 private var A.privateVar: Int
     /* TARGET declaration */ private fun A.<get-privateVar>(): Int
     /* TARGET declaration */ private fun A.<set-privateVar>(value: Int)
-/* ACCESSOR declaration */ public fun access$<set-privateVar>($receiver: A, value: Int)
+/* ACCESSOR declaration */ public fun access$AKt$<set-privateVar>($receiver: A, value: Int)
     /* TARGET use-site */ $receiver.<set-privateVar>(value = value)
-/* ACCESSOR declaration */ public fun access$<get-privateVar>($receiver: A): Int
+/* ACCESSOR declaration */ public fun access$AKt$<get-privateVar>($receiver: A): Int
     /* TARGET use-site */ $receiver.<get-privateVar>()
diff --git a/compiler/testData/klib/syntheticAccessors/privateMember/crossModulePrivateLeak/leakingPrivateExtensionVarThroughPrivateInlineVarChain.accessors.txt b/compiler/testData/klib/syntheticAccessors/privateMember/crossModulePrivateLeak/leakingPrivateExtensionVarThroughPrivateInlineVarChain.accessors.txt
index 1d63573..6ea34d7 100644
--- a/compiler/testData/klib/syntheticAccessors/privateMember/crossModulePrivateLeak/leakingPrivateExtensionVarThroughPrivateInlineVarChain.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/privateMember/crossModulePrivateLeak/leakingPrivateExtensionVarThroughPrivateInlineVarChain.accessors.txt
@@ -5,9 +5,9 @@
 public class A
     internal var inlineVar: Int
         internal inline fun <get-inlineVar>(): Int
-            /* ACCESSOR use-site */ access$<get-privateVar>($receiver = this)
+            /* ACCESSOR use-site */ access$AKt$<get-privateVar>($receiver = this)
         internal inline fun <set-inlineVar>(value: Int)
-            /* ACCESSOR use-site */ access$<set-privateVar>($receiver = this, value = value)
+            /* ACCESSOR use-site */ access$AKt$<set-privateVar>($receiver = this, value = value)
 private var A.privateInlineVar2: Int
     private inline fun A.<get-privateInlineVar2>(): Int
         /* TARGET use-site */ this.<get-privateVar>()
@@ -21,7 +21,7 @@
 private var A.privateVar: Int
     /* TARGET declaration */ private fun A.<get-privateVar>(): Int
     /* TARGET declaration */ private fun A.<set-privateVar>(value: Int)
-/* ACCESSOR declaration */ public fun access$<get-privateVar>($receiver: A): Int
+/* ACCESSOR declaration */ public fun access$AKt$<get-privateVar>($receiver: A): Int
     /* TARGET use-site */ $receiver.<get-privateVar>()
-/* ACCESSOR declaration */ public fun access$<set-privateVar>($receiver: A, value: Int)
+/* ACCESSOR declaration */ public fun access$AKt$<set-privateVar>($receiver: A, value: Int)
     /* TARGET use-site */ $receiver.<set-privateVar>(value = value)
diff --git a/compiler/testData/klib/syntheticAccessors/privateMember/singleFile/usePrivateExtensionFromInternalInline.accessors.txt b/compiler/testData/klib/syntheticAccessors/privateMember/singleFile/usePrivateExtensionFromInternalInline.accessors.txt
index 2b1983b..a49792a 100644
--- a/compiler/testData/klib/syntheticAccessors/privateMember/singleFile/usePrivateExtensionFromInternalInline.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/privateMember/singleFile/usePrivateExtensionFromInternalInline.accessors.txt
@@ -4,7 +4,7 @@
 
 public class A
     internal inline fun internalInlineMethodA(): Int
-        /* ACCESSOR use-site */ access$privateExtension($receiver = <this>)
+        /* ACCESSOR use-site */ access$UsePrivateExtensionFromInternalInlineKt$privateExtension($receiver = <this>)
     internal inline fun internalInlineMethodB(): Int
         /* ACCESSOR use-site */ access$<get-privateExtensionVar>($this = <this>, $receiver = 21)
     private val Int.privateExtensionVar: Int
@@ -12,5 +12,5 @@
     /* ACCESSOR declaration */ public fun access$<get-privateExtensionVar>($this: A, $receiver: Int): Int
         /* TARGET use-site */ ($this, $receiver).<get-privateExtensionVar>()
 /* TARGET declaration */ private fun A.privateExtension(): Int
-/* ACCESSOR declaration */ public fun access$privateExtension($receiver: A): Int
+/* ACCESSOR declaration */ public fun access$UsePrivateExtensionFromInternalInlineKt$privateExtension($receiver: A): Int
     /* TARGET use-site */ $receiver.privateExtension()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateExtensionFun.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateExtensionFun.accessors.txt
index fc97c31..c702780 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateExtensionFun.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateExtensionFun.accessors.txt
@@ -4,6 +4,6 @@
 
 /* TARGET declaration */ private fun A.privateExtension(): String
 internal inline fun A.internalInlineMethod(): String
-    /* ACCESSOR use-site */ access$privateExtension($receiver = <this>)
-/* ACCESSOR declaration */ public fun access$privateExtension($receiver: A): String
+    /* ACCESSOR use-site */ access$BKt$privateExtension($receiver = <this>)
+/* ACCESSOR declaration */ public fun access$BKt$privateExtension($receiver: A): String
     /* TARGET use-site */ $receiver.privateExtension()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateExtensionFunThroughPrivateInlineChain.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateExtensionFunThroughPrivateInlineChain.accessors.txt
index d370d42..0a4ad93 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateExtensionFunThroughPrivateInlineChain.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateExtensionFunThroughPrivateInlineChain.accessors.txt
@@ -12,6 +12,6 @@
 private inline fun A.privateInlineExtension4(): String
     /* TARGET use-site */ this.privateExtension()
 internal inline fun A.internalInlineExtension(): String
-    /* ACCESSOR use-site */ access$privateExtension($receiver = this)
-/* ACCESSOR declaration */ public fun access$privateExtension($receiver: A): String
+    /* ACCESSOR use-site */ access$BKt$privateExtension($receiver = this)
+/* ACCESSOR declaration */ public fun access$BKt$privateExtension($receiver: A): String
     /* TARGET use-site */ $receiver.privateExtension()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateExtensionVarThroughInlineFun.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateExtensionVarThroughInlineFun.accessors.txt
index 112afbb..1fe7525 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateExtensionVarThroughInlineFun.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateExtensionVarThroughInlineFun.accessors.txt
@@ -6,10 +6,10 @@
     /* TARGET declaration */ private fun A.<get-privateVar>(): Int
     /* TARGET declaration */ private fun A.<set-privateVar>(value: Int)
 internal inline fun A.customSetVar(value: Int)
-    /* ACCESSOR use-site */ access$<set-privateVar>($receiver = <this>, value = value)
+    /* ACCESSOR use-site */ access$BKt$<set-privateVar>($receiver = <this>, value = value)
 internal inline fun A.customGetVar(): Int
-    /* ACCESSOR use-site */ access$<get-privateVar>($receiver = <this>)
-/* ACCESSOR declaration */ public fun access$<set-privateVar>($receiver: A, value: Int)
+    /* ACCESSOR use-site */ access$BKt$<get-privateVar>($receiver = <this>)
+/* ACCESSOR declaration */ public fun access$BKt$<set-privateVar>($receiver: A, value: Int)
     /* TARGET use-site */ $receiver.<set-privateVar>(value = value)
-/* ACCESSOR declaration */ public fun access$<get-privateVar>($receiver: A): Int
+/* ACCESSOR declaration */ public fun access$BKt$<get-privateVar>($receiver: A): Int
     /* TARGET use-site */ $receiver.<get-privateVar>()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateExtensionVarThroughPrivateInlineVarChain.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateExtensionVarThroughPrivateInlineVarChain.accessors.txt
index e7a75a5..5bce089 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateExtensionVarThroughPrivateInlineVarChain.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateExtensionVarThroughPrivateInlineVarChain.accessors.txt
@@ -17,10 +17,10 @@
         /* TARGET use-site */ this.<set-privateVar>(value = value)
 internal var A.inlineVar: Int
     internal inline fun A.<get-inlineVar>(): Int
-        /* ACCESSOR use-site */ access$<get-privateVar>($receiver = this)
+        /* ACCESSOR use-site */ access$BKt$<get-privateVar>($receiver = this)
     internal inline fun A.<set-inlineVar>(value: Int)
-        /* ACCESSOR use-site */ access$<set-privateVar>($receiver = this, value = value)
-/* ACCESSOR declaration */ public fun access$<get-privateVar>($receiver: A): Int
+        /* ACCESSOR use-site */ access$BKt$<set-privateVar>($receiver = this, value = value)
+/* ACCESSOR declaration */ public fun access$BKt$<get-privateVar>($receiver: A): Int
     /* TARGET use-site */ $receiver.<get-privateVar>()
-/* ACCESSOR declaration */ public fun access$<set-privateVar>($receiver: A, value: Int)
+/* ACCESSOR declaration */ public fun access$BKt$<set-privateVar>($receiver: A, value: Int)
     /* TARGET use-site */ $receiver.<set-privateVar>(value = value)
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelFun.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelFun.accessors.txt
index 831d1fa..c663491 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelFun.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelFun.accessors.txt
@@ -4,6 +4,6 @@
 
 /* TARGET declaration */ private fun privateFun(): String
 internal inline fun internalInlineFun(): String
-    /* ACCESSOR use-site */ access$privateFun()
-/* ACCESSOR declaration */ public fun access$privateFun(): String
+    /* ACCESSOR use-site */ access$AKt$privateFun()
+/* ACCESSOR declaration */ public fun access$AKt$privateFun(): String
     /* TARGET use-site */ privateFun()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelFunFromLambdaInsideInternalInline.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelFunFromLambdaInsideInternalInline.accessors.txt
index eb20083..bec1292 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelFunFromLambdaInsideInternalInline.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelFunFromLambdaInsideInternalInline.accessors.txt
@@ -6,6 +6,6 @@
 internal val internalInlineVal: Function0<String>
     internal inline fun <get-internalInlineVal>(): Function0<String>
         local fun <anonymous>(): String
-            /* ACCESSOR use-site */ access$privateMethod()
-/* ACCESSOR declaration */ public fun access$privateMethod(): String
+            /* ACCESSOR use-site */ access$AKt$privateMethod()
+/* ACCESSOR declaration */ public fun access$AKt$privateMethod(): String
     /* TARGET use-site */ privateMethod()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelFunFromLambdaInsidePublicInline.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelFunFromLambdaInsidePublicInline.accessors.txt
index 22b34f1..613a729 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelFunFromLambdaInsidePublicInline.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelFunFromLambdaInsidePublicInline.accessors.txt
@@ -6,6 +6,6 @@
 public val publicInlineVal: Function0<String>
     public inline fun <get-publicInlineVal>(): Function0<String>
         local fun <anonymous>(): String
-            /* ACCESSOR use-site */ access$privateMethod()
-/* ACCESSOR declaration */ public fun access$privateMethod(): String
+            /* ACCESSOR use-site */ access$AKt$privateMethod()
+/* ACCESSOR declaration */ public fun access$AKt$privateMethod(): String
     /* TARGET use-site */ privateMethod()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelFunThroughPrivateInlineFunChain.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelFunThroughPrivateInlineFunChain.accessors.txt
index 34ad8a1..8a49432 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelFunThroughPrivateInlineFunChain.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelFunThroughPrivateInlineFunChain.accessors.txt
@@ -12,6 +12,6 @@
 private inline fun privateInlineFun4(): String
     /* TARGET use-site */ privateFun()
 internal inline fun internalInlineFun(): String
-    /* ACCESSOR use-site */ access$privateFun()
-/* ACCESSOR declaration */ public fun access$privateFun(): String
+    /* ACCESSOR use-site */ access$AKt$privateFun()
+/* ACCESSOR declaration */ public fun access$AKt$privateFun(): String
     /* TARGET use-site */ privateFun()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelSetterThroughInlineFun.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelSetterThroughInlineFun.accessors.txt
index 966c4a3..193f6f4 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelSetterThroughInlineFun.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelSetterThroughInlineFun.accessors.txt
@@ -7,10 +7,10 @@
 public var privateSetterVarB: Int
     /* TARGET declaration */ private fun <set-privateSetterVarB>(value: Int)
 internal inline fun customSetVarA(value: Int)
-    /* ACCESSOR use-site */ access$<set-privateSetterVarA>(<set-?> = value)
+    /* ACCESSOR use-site */ access$AKt$<set-privateSetterVarA>(<set-?> = value)
 internal inline fun customSetVarB(value: Int)
-    /* ACCESSOR use-site */ access$<set-privateSetterVarB>(value = value)
-/* ACCESSOR declaration */ public fun access$<set-privateSetterVarA>(<set-?>: Int)
+    /* ACCESSOR use-site */ access$AKt$<set-privateSetterVarB>(value = value)
+/* ACCESSOR declaration */ public fun access$AKt$<set-privateSetterVarA>(<set-?>: Int)
     /* TARGET use-site */ <set-privateSetterVarA>(<set-?> = <set-?>)
-/* ACCESSOR declaration */ public fun access$<set-privateSetterVarB>(value: Int)
+/* ACCESSOR declaration */ public fun access$AKt$<set-privateSetterVarB>(value: Int)
     /* TARGET use-site */ <set-privateSetterVarB>(value = value)
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelSetterThroughInlineVar.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelSetterThroughInlineVar.accessors.txt
index aa5a927..17303e8 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelSetterThroughInlineVar.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelSetterThroughInlineVar.accessors.txt
@@ -8,11 +8,11 @@
     /* TARGET declaration */ private fun <set-privateSetterVarB>(value: Int)
 internal var inlineVarA: Int
     internal inline fun <set-inlineVarA>(value: Int)
-        /* ACCESSOR use-site */ access$<set-privateSetterVarA>(<set-?> = value)
+        /* ACCESSOR use-site */ access$AKt$<set-privateSetterVarA>(<set-?> = value)
 internal var inlineVarB: Int
     internal inline fun <set-inlineVarB>(value: Int)
-        /* ACCESSOR use-site */ access$<set-privateSetterVarB>(value = value)
-/* ACCESSOR declaration */ public fun access$<set-privateSetterVarA>(<set-?>: Int)
+        /* ACCESSOR use-site */ access$AKt$<set-privateSetterVarB>(value = value)
+/* ACCESSOR declaration */ public fun access$AKt$<set-privateSetterVarA>(<set-?>: Int)
     /* TARGET use-site */ <set-privateSetterVarA>(<set-?> = <set-?>)
-/* ACCESSOR declaration */ public fun access$<set-privateSetterVarB>(value: Int)
+/* ACCESSOR declaration */ public fun access$AKt$<set-privateSetterVarB>(value: Int)
     /* TARGET use-site */ <set-privateSetterVarB>(value = value)
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelSuspendFun.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelSuspendFun.accessors.txt
index d32d977..1a660db 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelSuspendFun.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelSuspendFun.accessors.txt
@@ -4,6 +4,6 @@
 
 /* TARGET declaration */ private suspend fun privateSuspendMethod(): String
 internal suspend inline fun internalInline(): String
-    /* ACCESSOR use-site */ access$privateSuspendMethod()
-/* ACCESSOR declaration */ public suspend fun access$privateSuspendMethod(): String
+    /* ACCESSOR use-site */ access$AKt$privateSuspendMethod()
+/* ACCESSOR declaration */ public suspend fun access$AKt$privateSuspendMethod(): String
     /* TARGET use-site */ privateSuspendMethod()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelVarThroughInlineFun.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelVarThroughInlineFun.accessors.txt
index c9c1466..3f1786c 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelVarThroughInlineFun.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelVarThroughInlineFun.accessors.txt
@@ -6,10 +6,10 @@
     /* TARGET declaration */ private fun <get-privateVar>(): Int
     /* TARGET declaration */ private fun <set-privateVar>(<set-?>: Int)
 internal inline fun customSetVar(value: Int)
-    /* ACCESSOR use-site */ access$<set-privateVar>(<set-?> = value)
+    /* ACCESSOR use-site */ access$AKt$<set-privateVar>(<set-?> = value)
 internal inline fun customGetVar(): Int
-    /* ACCESSOR use-site */ access$<get-privateVar>()
-/* ACCESSOR declaration */ public fun access$<set-privateVar>(<set-?>: Int)
+    /* ACCESSOR use-site */ access$AKt$<get-privateVar>()
+/* ACCESSOR declaration */ public fun access$AKt$<set-privateVar>(<set-?>: Int)
     /* TARGET use-site */ <set-privateVar>(<set-?> = <set-?>)
-/* ACCESSOR declaration */ public fun access$<get-privateVar>(): Int
+/* ACCESSOR declaration */ public fun access$AKt$<get-privateVar>(): Int
     /* TARGET use-site */ <get-privateVar>()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelVarThroughInlineFunParameter.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelVarThroughInlineFunParameter.accessors.txt
index 7199a6c..49a5d48 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelVarThroughInlineFunParameter.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelVarThroughInlineFunParameter.accessors.txt
@@ -8,11 +8,11 @@
     /* TARGET declaration */ private fun <get-privateValFunctional>(): Function0<Int>
 internal inline fun executor(param: Int): Int
     param: Int
-        /* ACCESSOR use-site */ access$<get-privateVal>()
+        /* ACCESSOR use-site */ access$AKt$<get-privateVal>()
 internal inline fun executorFunctional(noinline block: Function0<Int>): Int
     noinline block: Function0<Int>
-        /* ACCESSOR use-site */ access$<get-privateValFunctional>()
-/* ACCESSOR declaration */ public fun access$<get-privateVal>(): Int
+        /* ACCESSOR use-site */ access$AKt$<get-privateValFunctional>()
+/* ACCESSOR declaration */ public fun access$AKt$<get-privateVal>(): Int
     /* TARGET use-site */ <get-privateVal>()
-/* ACCESSOR declaration */ public fun access$<get-privateValFunctional>(): Function0<Int>
+/* ACCESSOR declaration */ public fun access$AKt$<get-privateValFunctional>(): Function0<Int>
     /* TARGET use-site */ <get-privateValFunctional>()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelVarThroughInlineVar.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelVarThroughInlineVar.accessors.txt
index e7e5934..cfe5463 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelVarThroughInlineVar.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingPrivateTopLevelVarThroughInlineVar.accessors.txt
@@ -7,10 +7,10 @@
     /* TARGET declaration */ private fun <set-privateVar>(<set-?>: Int)
 internal var inlineVar: Int
     internal inline fun <get-inlineVar>(): Int
-        /* ACCESSOR use-site */ access$<get-privateVar>()
+        /* ACCESSOR use-site */ access$AKt$<get-privateVar>()
     internal inline fun <set-inlineVar>(value: Int)
-        /* ACCESSOR use-site */ access$<set-privateVar>(<set-?> = value)
-/* ACCESSOR declaration */ public fun access$<get-privateVar>(): Int
+        /* ACCESSOR use-site */ access$AKt$<set-privateVar>(<set-?> = value)
+/* ACCESSOR declaration */ public fun access$AKt$<get-privateVar>(): Int
     /* TARGET use-site */ <get-privateVar>()
-/* ACCESSOR declaration */ public fun access$<set-privateVar>(<set-?>: Int)
+/* ACCESSOR declaration */ public fun access$AKt$<set-privateVar>(<set-?>: Int)
     /* TARGET use-site */ <set-privateVar>(<set-?> = <set-?>)
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingTopLevelPrivateSetterThroughPrivateInlineFunChain.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingTopLevelPrivateSetterThroughPrivateInlineFunChain.accessors.txt
index 4844702..1e2eecf 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingTopLevelPrivateSetterThroughPrivateInlineFunChain.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingTopLevelPrivateSetterThroughPrivateInlineFunChain.accessors.txt
@@ -9,6 +9,6 @@
 private inline fun privateSetVar2(value: Int)
     /* TARGET use-site */ <set-privateSetterVar>(<set-?> = value)
 internal inline fun internalSetVar(value: Int)
-    /* ACCESSOR use-site */ access$<set-privateSetterVar>(<set-?> = value)
-/* ACCESSOR declaration */ public fun access$<set-privateSetterVar>(<set-?>: Int)
+    /* ACCESSOR use-site */ access$AKt$<set-privateSetterVar>(<set-?> = value)
+/* ACCESSOR declaration */ public fun access$AKt$<set-privateSetterVar>(<set-?>: Int)
     /* TARGET use-site */ <set-privateSetterVar>(<set-?> = <set-?>)
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingTopLevelPrivateVarThroughPrivateInlineFunChain.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingTopLevelPrivateVarThroughPrivateInlineFunChain.accessors.txt
index 91030a9..7f03afe 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingTopLevelPrivateVarThroughPrivateInlineFunChain.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingTopLevelPrivateVarThroughPrivateInlineFunChain.accessors.txt
@@ -14,10 +14,10 @@
 private inline fun privateGetVar2(): Int
     /* TARGET use-site */ <get-privateVar>()
 internal inline fun internalSetVar(value: Int)
-    /* ACCESSOR use-site */ access$<set-privateVar>(<set-?> = value)
+    /* ACCESSOR use-site */ access$AKt$<set-privateVar>(<set-?> = value)
 internal inline fun internalGetVar(): Int
-    /* ACCESSOR use-site */ access$<get-privateVar>()
-/* ACCESSOR declaration */ public fun access$<set-privateVar>(<set-?>: Int)
+    /* ACCESSOR use-site */ access$AKt$<get-privateVar>()
+/* ACCESSOR declaration */ public fun access$AKt$<set-privateVar>(<set-?>: Int)
     /* TARGET use-site */ <set-privateVar>(<set-?> = <set-?>)
-/* ACCESSOR declaration */ public fun access$<get-privateVar>(): Int
+/* ACCESSOR declaration */ public fun access$AKt$<get-privateVar>(): Int
     /* TARGET use-site */ <get-privateVar>()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingTopLevelPrivateVarThroughPrivateInlineVarChain.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingTopLevelPrivateVarThroughPrivateInlineVarChain.accessors.txt
index 0c0de4c..22a46e4 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingTopLevelPrivateVarThroughPrivateInlineVarChain.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/leakingTopLevelPrivateVarThroughPrivateInlineVarChain.accessors.txt
@@ -17,10 +17,10 @@
         /* TARGET use-site */ <set-privateVar>(<set-?> = value)
 internal var inlineVar: Int
     internal inline fun <get-inlineVar>(): Int
-        /* ACCESSOR use-site */ access$<get-privateVar>()
+        /* ACCESSOR use-site */ access$AKt$<get-privateVar>()
     internal inline fun <set-inlineVar>(value: Int)
-        /* ACCESSOR use-site */ access$<set-privateVar>(<set-?> = value)
-/* ACCESSOR declaration */ public fun access$<get-privateVar>(): Int
+        /* ACCESSOR use-site */ access$AKt$<set-privateVar>(<set-?> = value)
+/* ACCESSOR declaration */ public fun access$AKt$<get-privateVar>(): Int
     /* TARGET use-site */ <get-privateVar>()
-/* ACCESSOR declaration */ public fun access$<set-privateVar>(<set-?>: Int)
+/* ACCESSOR declaration */ public fun access$AKt$<set-privateVar>(<set-?>: Int)
     /* TARGET use-site */ <set-privateVar>(<set-?> = <set-?>)
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/potentiallyClashingFunAccessors.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/potentiallyClashingFunAccessors.accessors.txt
index e40219a..632ec0d 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/potentiallyClashingFunAccessors.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/potentiallyClashingFunAccessors.accessors.txt
@@ -4,8 +4,8 @@
 
 /* TARGET declaration */ private fun fileName(): String
 internal inline fun inlineFun1(): String
-    /* ACCESSOR use-site */ access$fileName()
-/* ACCESSOR declaration */ public fun access$fileName(): String
+    /* ACCESSOR use-site */ access$File1Kt$fileName()
+/* ACCESSOR declaration */ public fun access$File1Kt$fileName(): String
     /* TARGET use-site */ fileName()
 
 
@@ -13,6 +13,6 @@
 
 /* TARGET declaration */ private fun fileName(): String
 internal inline fun inlineFun2(): String
-    /* ACCESSOR use-site */ access$fileName()
-/* ACCESSOR declaration */ public fun access$fileName(): String
+    /* ACCESSOR use-site */ access$File2Kt$fileName()
+/* ACCESSOR declaration */ public fun access$File2Kt$fileName(): String
     /* TARGET use-site */ fileName()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/potentiallyClashingFunAccessors.kt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/potentiallyClashingFunAccessors.kt
index fcb9dfd..b30048a 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/potentiallyClashingFunAccessors.kt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/potentiallyClashingFunAccessors.kt
@@ -1,6 +1,3 @@
-// IGNORE_BACKEND: NATIVE
-// ^^^ Muted because of conflicting synthetic accessors for top-level callables. To be fixed in KT-69787.
-
 // FILE: file1.kt
 package org.sample
 
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/potentiallyClashingVarAccessors.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/potentiallyClashingVarAccessors.accessors.txt
index a9ec64b..1e842f0 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/potentiallyClashingVarAccessors.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/potentiallyClashingVarAccessors.accessors.txt
@@ -7,12 +7,12 @@
     /* TARGET declaration */ private fun <set-fileNameVar>(<set-?>: String)
 internal var fileNameInlineVar1: String
     internal inline fun <get-fileNameInlineVar1>(): String
-        /* ACCESSOR use-site */ access$<get-fileNameVar>()
+        /* ACCESSOR use-site */ access$File1Kt$<get-fileNameVar>()
     internal inline fun <set-fileNameInlineVar1>(value: String)
-        /* ACCESSOR use-site */ access$<set-fileNameVar>(<set-?> = value)
-/* ACCESSOR declaration */ public fun access$<get-fileNameVar>(): String
+        /* ACCESSOR use-site */ access$File1Kt$<set-fileNameVar>(<set-?> = value)
+/* ACCESSOR declaration */ public fun access$File1Kt$<get-fileNameVar>(): String
     /* TARGET use-site */ <get-fileNameVar>()
-/* ACCESSOR declaration */ public fun access$<set-fileNameVar>(<set-?>: String)
+/* ACCESSOR declaration */ public fun access$File1Kt$<set-fileNameVar>(<set-?>: String)
     /* TARGET use-site */ <set-fileNameVar>(<set-?> = <set-?>)
 
 
@@ -23,10 +23,10 @@
     /* TARGET declaration */ private fun <set-fileNameVar>(<set-?>: String)
 internal var fileNameInlineVar2: String
     internal inline fun <get-fileNameInlineVar2>(): String
-        /* ACCESSOR use-site */ access$<get-fileNameVar>()
+        /* ACCESSOR use-site */ access$File2Kt$<get-fileNameVar>()
     internal inline fun <set-fileNameInlineVar2>(value: String)
-        /* ACCESSOR use-site */ access$<set-fileNameVar>(<set-?> = value)
-/* ACCESSOR declaration */ public fun access$<get-fileNameVar>(): String
+        /* ACCESSOR use-site */ access$File2Kt$<set-fileNameVar>(<set-?> = value)
+/* ACCESSOR declaration */ public fun access$File2Kt$<get-fileNameVar>(): String
     /* TARGET use-site */ <get-fileNameVar>()
-/* ACCESSOR declaration */ public fun access$<set-fileNameVar>(<set-?>: String)
+/* ACCESSOR declaration */ public fun access$File2Kt$<set-fileNameVar>(<set-?>: String)
     /* TARGET use-site */ <set-fileNameVar>(<set-?> = <set-?>)
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/potentiallyClashingVarAccessors.kt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/potentiallyClashingVarAccessors.kt
index 7c724c4..3a655fc 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/potentiallyClashingVarAccessors.kt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossFilePrivateLeak/potentiallyClashingVarAccessors.kt
@@ -1,6 +1,3 @@
-// IGNORE_BACKEND: NATIVE
-// ^^^ Muted because of conflicting synthetic accessors for top-level callables. To be fixed in KT-69787.
-
 // FILE: file1.kt
 package org.sample
 
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateExtensionFun.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateExtensionFun.accessors.txt
index f1b3634..c199714 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateExtensionFun.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateExtensionFun.accessors.txt
@@ -3,7 +3,7 @@
 /* FILE package=<root> fileName=a.kt */
 
 internal inline fun String.internalInlineMethod(): String
-    /* ACCESSOR use-site */ access$privateExtension($receiver = <this>)
+    /* ACCESSOR use-site */ access$AKt$privateExtension($receiver = <this>)
 /* TARGET declaration */ private fun String.privateExtension(): String
-/* ACCESSOR declaration */ public fun access$privateExtension($receiver: String): String
+/* ACCESSOR declaration */ public fun access$AKt$privateExtension($receiver: String): String
     /* TARGET use-site */ $receiver.privateExtension()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateExtensionFunThroughPrivateInlineChain.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateExtensionFunThroughPrivateInlineChain.accessors.txt
index fc449de..2e5aff2 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateExtensionFunThroughPrivateInlineChain.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateExtensionFunThroughPrivateInlineChain.accessors.txt
@@ -3,7 +3,7 @@
 /* FILE package=<root> fileName=a.kt */
 
 internal inline fun String.internalInlineExtension(): String
-    /* ACCESSOR use-site */ access$privateExtension($receiver = this)
+    /* ACCESSOR use-site */ access$AKt$privateExtension($receiver = this)
 private inline fun String.privateInlineExtension4(): String
     /* TARGET use-site */ this.privateExtension()
 private inline fun String.privateInlineExtension3(): String
@@ -13,5 +13,5 @@
 private inline fun String.privateInlineExtension1(): String
     /* TARGET use-site */ <this>.privateExtension()
 /* TARGET declaration */ private fun String.privateExtension(): String
-/* ACCESSOR declaration */ public fun access$privateExtension($receiver: String): String
+/* ACCESSOR declaration */ public fun access$AKt$privateExtension($receiver: String): String
     /* TARGET use-site */ $receiver.privateExtension()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateExtensionVarThroughInlineFun.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateExtensionVarThroughInlineFun.accessors.txt
index ffb5dd8..21461d2 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateExtensionVarThroughInlineFun.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateExtensionVarThroughInlineFun.accessors.txt
@@ -3,13 +3,13 @@
 /* FILE package=<root> fileName=a.kt */
 
 internal inline fun customGetVar(): Int
-    /* ACCESSOR use-site */ access$<get-privateVar>($receiver = 0)
+    /* ACCESSOR use-site */ access$AKt$<get-privateVar>($receiver = 0)
 internal inline fun customSetVar(value: Int)
-    /* ACCESSOR use-site */ access$<set-privateVar>($receiver = 0, value = value)
+    /* ACCESSOR use-site */ access$AKt$<set-privateVar>($receiver = 0, value = value)
 private var Int.privateVar: Int
     /* TARGET declaration */ private fun Int.<get-privateVar>(): Int
     /* TARGET declaration */ private fun Int.<set-privateVar>(value: Int)
-/* ACCESSOR declaration */ public fun access$<get-privateVar>($receiver: Int): Int
+/* ACCESSOR declaration */ public fun access$AKt$<get-privateVar>($receiver: Int): Int
     /* TARGET use-site */ $receiver.<get-privateVar>()
-/* ACCESSOR declaration */ public fun access$<set-privateVar>($receiver: Int, value: Int)
+/* ACCESSOR declaration */ public fun access$AKt$<set-privateVar>($receiver: Int, value: Int)
     /* TARGET use-site */ $receiver.<set-privateVar>(value = value)
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateExtensionVarThroughPrivateInlineVarChain.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateExtensionVarThroughPrivateInlineVarChain.accessors.txt
index 7b78cb8..b2846c1 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateExtensionVarThroughPrivateInlineVarChain.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateExtensionVarThroughPrivateInlineVarChain.accessors.txt
@@ -4,9 +4,9 @@
 
 internal var Int.inlineVar: Int
     internal inline fun Int.<get-inlineVar>(): Int
-        /* ACCESSOR use-site */ access$<get-privateVar>($receiver = this)
+        /* ACCESSOR use-site */ access$AKt$<get-privateVar>($receiver = this)
     internal inline fun Int.<set-inlineVar>(value: Int)
-        /* ACCESSOR use-site */ access$<set-privateVar>($receiver = this, value = value)
+        /* ACCESSOR use-site */ access$AKt$<set-privateVar>($receiver = this, value = value)
 private var Int.privateInlineVar2: Int
     private inline fun Int.<get-privateInlineVar2>(): Int
         /* TARGET use-site */ this.<get-privateVar>()
@@ -20,7 +20,7 @@
 private var Int.privateVar: Int
     /* TARGET declaration */ private fun Int.<get-privateVar>(): Int
     /* TARGET declaration */ private fun Int.<set-privateVar>(value: Int)
-/* ACCESSOR declaration */ public fun access$<get-privateVar>($receiver: Int): Int
+/* ACCESSOR declaration */ public fun access$AKt$<get-privateVar>($receiver: Int): Int
     /* TARGET use-site */ $receiver.<get-privateVar>()
-/* ACCESSOR declaration */ public fun access$<set-privateVar>($receiver: Int, value: Int)
+/* ACCESSOR declaration */ public fun access$AKt$<set-privateVar>($receiver: Int, value: Int)
     /* TARGET use-site */ $receiver.<set-privateVar>(value = value)
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelFun.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelFun.accessors.txt
index f00ef3f..cfefbe0 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelFun.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelFun.accessors.txt
@@ -3,7 +3,7 @@
 /* FILE package=<root> fileName=a.kt */
 
 internal inline fun internalInlineFun(): String
-    /* ACCESSOR use-site */ access$privateFun()
+    /* ACCESSOR use-site */ access$AKt$privateFun()
 /* TARGET declaration */ private fun privateFun(): String
-/* ACCESSOR declaration */ public fun access$privateFun(): String
+/* ACCESSOR declaration */ public fun access$AKt$privateFun(): String
     /* TARGET use-site */ privateFun()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelFunFromLambdaInsideInternalInline.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelFunFromLambdaInsideInternalInline.accessors.txt
index c24dfb9..af0c7ec 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelFunFromLambdaInsideInternalInline.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelFunFromLambdaInsideInternalInline.accessors.txt
@@ -5,7 +5,7 @@
 internal val internalInlineVal: Function0<String>
     internal inline fun <get-internalInlineVal>(): Function0<String>
         local fun <anonymous>(): String
-            /* ACCESSOR use-site */ access$privateMethod()
+            /* ACCESSOR use-site */ access$AKt$privateMethod()
 /* TARGET declaration */ private fun privateMethod(): String
-/* ACCESSOR declaration */ public fun access$privateMethod(): String
+/* ACCESSOR declaration */ public fun access$AKt$privateMethod(): String
     /* TARGET use-site */ privateMethod()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelFunFromLambdaInsidePublicInline.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelFunFromLambdaInsidePublicInline.accessors.txt
index 6dbfbad..42aa8e5 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelFunFromLambdaInsidePublicInline.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelFunFromLambdaInsidePublicInline.accessors.txt
@@ -5,7 +5,7 @@
 public val publicInlineVal: Function0<String>
     public inline fun <get-publicInlineVal>(): Function0<String>
         local fun <anonymous>(): String
-            /* ACCESSOR use-site */ access$privateMethod()
+            /* ACCESSOR use-site */ access$AKt$privateMethod()
 /* TARGET declaration */ private fun privateMethod(): String
-/* ACCESSOR declaration */ public fun access$privateMethod(): String
+/* ACCESSOR declaration */ public fun access$AKt$privateMethod(): String
     /* TARGET use-site */ privateMethod()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelFunThroughPrivateInlineFunChain.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelFunThroughPrivateInlineFunChain.accessors.txt
index 70c4112..c7c8b91 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelFunThroughPrivateInlineFunChain.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelFunThroughPrivateInlineFunChain.accessors.txt
@@ -3,7 +3,7 @@
 /* FILE package=<root> fileName=a.kt */
 
 internal inline fun internalInlineFun(): String
-    /* ACCESSOR use-site */ access$privateFun()
+    /* ACCESSOR use-site */ access$AKt$privateFun()
 private inline fun privateInlineFun4(): String
     /* TARGET use-site */ privateFun()
 private inline fun privateInlineFun3(): String
@@ -13,5 +13,5 @@
 private inline fun privateInlineFun1(): String
     /* TARGET use-site */ privateFun()
 /* TARGET declaration */ private fun privateFun(): String
-/* ACCESSOR declaration */ public fun access$privateFun(): String
+/* ACCESSOR declaration */ public fun access$AKt$privateFun(): String
     /* TARGET use-site */ privateFun()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelSetterThroughInlineFun.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelSetterThroughInlineFun.accessors.txt
index d26ebf9..8c84e48 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelSetterThroughInlineFun.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelSetterThroughInlineFun.accessors.txt
@@ -7,10 +7,10 @@
 public var privateSetterVarB: Int
     /* TARGET declaration */ private fun <set-privateSetterVarB>(value: Int)
 internal inline fun customSetVarA(value: Int)
-    /* ACCESSOR use-site */ access$<set-privateSetterVarA>(<set-?> = value)
+    /* ACCESSOR use-site */ access$AKt$<set-privateSetterVarA>(<set-?> = value)
 internal inline fun customSetVarB(value: Int)
-    /* ACCESSOR use-site */ access$<set-privateSetterVarB>(value = value)
-/* ACCESSOR declaration */ public fun access$<set-privateSetterVarA>(<set-?>: Int)
+    /* ACCESSOR use-site */ access$AKt$<set-privateSetterVarB>(value = value)
+/* ACCESSOR declaration */ public fun access$AKt$<set-privateSetterVarA>(<set-?>: Int)
     /* TARGET use-site */ <set-privateSetterVarA>(<set-?> = <set-?>)
-/* ACCESSOR declaration */ public fun access$<set-privateSetterVarB>(value: Int)
+/* ACCESSOR declaration */ public fun access$AKt$<set-privateSetterVarB>(value: Int)
     /* TARGET use-site */ <set-privateSetterVarB>(value = value)
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelSetterThroughInlineVar.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelSetterThroughInlineVar.accessors.txt
index 725d308..f8621f0 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelSetterThroughInlineVar.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelSetterThroughInlineVar.accessors.txt
@@ -8,11 +8,11 @@
     /* TARGET declaration */ private fun <set-privateSetterVarB>(value: Int)
 internal var inlineVarA: Int
     internal inline fun <set-inlineVarA>(value: Int)
-        /* ACCESSOR use-site */ access$<set-privateSetterVarA>(<set-?> = value)
+        /* ACCESSOR use-site */ access$AKt$<set-privateSetterVarA>(<set-?> = value)
 internal var inlineVarB: Int
     internal inline fun <set-inlineVarB>(value: Int)
-        /* ACCESSOR use-site */ access$<set-privateSetterVarB>(value = value)
-/* ACCESSOR declaration */ public fun access$<set-privateSetterVarA>(<set-?>: Int)
+        /* ACCESSOR use-site */ access$AKt$<set-privateSetterVarB>(value = value)
+/* ACCESSOR declaration */ public fun access$AKt$<set-privateSetterVarA>(<set-?>: Int)
     /* TARGET use-site */ <set-privateSetterVarA>(<set-?> = <set-?>)
-/* ACCESSOR declaration */ public fun access$<set-privateSetterVarB>(value: Int)
+/* ACCESSOR declaration */ public fun access$AKt$<set-privateSetterVarB>(value: Int)
     /* TARGET use-site */ <set-privateSetterVarB>(value = value)
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelSuspendFun.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelSuspendFun.accessors.txt
index d5960f5..4151a31 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelSuspendFun.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelSuspendFun.accessors.txt
@@ -3,7 +3,7 @@
 /* FILE package=<root> fileName=a.kt */
 
 internal suspend inline fun internalInline(): String
-    /* ACCESSOR use-site */ access$privateSuspendMethod()
+    /* ACCESSOR use-site */ access$AKt$privateSuspendMethod()
 /* TARGET declaration */ private suspend fun privateSuspendMethod(): String
-/* ACCESSOR declaration */ public suspend fun access$privateSuspendMethod(): String
+/* ACCESSOR declaration */ public suspend fun access$AKt$privateSuspendMethod(): String
     /* TARGET use-site */ privateSuspendMethod()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelVarThroughInlineFun.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelVarThroughInlineFun.accessors.txt
index fb885fd..abe4545 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelVarThroughInlineFun.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelVarThroughInlineFun.accessors.txt
@@ -6,10 +6,10 @@
     /* TARGET declaration */ private fun <get-privateVar>(): Int
     /* TARGET declaration */ private fun <set-privateVar>(<set-?>: Int)
 internal inline fun customGetVar(): Int
-    /* ACCESSOR use-site */ access$<get-privateVar>()
+    /* ACCESSOR use-site */ access$AKt$<get-privateVar>()
 internal inline fun customSetVar(value: Int)
-    /* ACCESSOR use-site */ access$<set-privateVar>(<set-?> = value)
-/* ACCESSOR declaration */ public fun access$<get-privateVar>(): Int
+    /* ACCESSOR use-site */ access$AKt$<set-privateVar>(<set-?> = value)
+/* ACCESSOR declaration */ public fun access$AKt$<get-privateVar>(): Int
     /* TARGET use-site */ <get-privateVar>()
-/* ACCESSOR declaration */ public fun access$<set-privateVar>(<set-?>: Int)
+/* ACCESSOR declaration */ public fun access$AKt$<set-privateVar>(<set-?>: Int)
     /* TARGET use-site */ <set-privateVar>(<set-?> = <set-?>)
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelVarThroughInlineFunParameter.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelVarThroughInlineFunParameter.accessors.txt
index 9a3ca0b..1cc75a0 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelVarThroughInlineFunParameter.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelVarThroughInlineFunParameter.accessors.txt
@@ -8,11 +8,11 @@
     /* TARGET declaration */ private fun <get-privateValFunctional>(): Function0<Int>
 internal inline fun executor(param: Int): Int
     param: Int
-        /* ACCESSOR use-site */ access$<get-privateVal>()
+        /* ACCESSOR use-site */ access$AKt$<get-privateVal>()
 internal inline fun executorFunctional(noinline block: Function0<Int>): Int
     noinline block: Function0<Int>
-        /* ACCESSOR use-site */ access$<get-privateValFunctional>()
-/* ACCESSOR declaration */ public fun access$<get-privateVal>(): Int
+        /* ACCESSOR use-site */ access$AKt$<get-privateValFunctional>()
+/* ACCESSOR declaration */ public fun access$AKt$<get-privateVal>(): Int
     /* TARGET use-site */ <get-privateVal>()
-/* ACCESSOR declaration */ public fun access$<get-privateValFunctional>(): Function0<Int>
+/* ACCESSOR declaration */ public fun access$AKt$<get-privateValFunctional>(): Function0<Int>
     /* TARGET use-site */ <get-privateValFunctional>()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelVarThroughInlineVar.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelVarThroughInlineVar.accessors.txt
index 5ed880f..bd3f74a 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelVarThroughInlineVar.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingPrivateTopLevelVarThroughInlineVar.accessors.txt
@@ -7,10 +7,10 @@
     /* TARGET declaration */ private fun <set-privateVar>(<set-?>: Int)
 internal var inlineVar: Int
     internal inline fun <get-inlineVar>(): Int
-        /* ACCESSOR use-site */ access$<get-privateVar>()
+        /* ACCESSOR use-site */ access$AKt$<get-privateVar>()
     internal inline fun <set-inlineVar>(value: Int)
-        /* ACCESSOR use-site */ access$<set-privateVar>(<set-?> = value)
-/* ACCESSOR declaration */ public fun access$<get-privateVar>(): Int
+        /* ACCESSOR use-site */ access$AKt$<set-privateVar>(<set-?> = value)
+/* ACCESSOR declaration */ public fun access$AKt$<get-privateVar>(): Int
     /* TARGET use-site */ <get-privateVar>()
-/* ACCESSOR declaration */ public fun access$<set-privateVar>(<set-?>: Int)
+/* ACCESSOR declaration */ public fun access$AKt$<set-privateVar>(<set-?>: Int)
     /* TARGET use-site */ <set-privateVar>(<set-?> = <set-?>)
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingTopLevelPrivateSetterThroughPrivateInlineFunChain.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingTopLevelPrivateSetterThroughPrivateInlineFunChain.accessors.txt
index 7c357bf..b7a8388 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingTopLevelPrivateSetterThroughPrivateInlineFunChain.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingTopLevelPrivateSetterThroughPrivateInlineFunChain.accessors.txt
@@ -5,10 +5,10 @@
 public var privateSetterVar: Int
     /* TARGET declaration */ private fun <set-privateSetterVar>(<set-?>: Int)
 internal inline fun internalSetVar(value: Int)
-    /* ACCESSOR use-site */ access$<set-privateSetterVar>(<set-?> = value)
+    /* ACCESSOR use-site */ access$AKt$<set-privateSetterVar>(<set-?> = value)
 private inline fun privateSetVar2(value: Int)
     /* TARGET use-site */ <set-privateSetterVar>(<set-?> = value)
 private inline fun privateSetVar1(value: Int)
     /* TARGET use-site */ <set-privateSetterVar>(<set-?> = value)
-/* ACCESSOR declaration */ public fun access$<set-privateSetterVar>(<set-?>: Int)
+/* ACCESSOR declaration */ public fun access$AKt$<set-privateSetterVar>(<set-?>: Int)
     /* TARGET use-site */ <set-privateSetterVar>(<set-?> = <set-?>)
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingTopLevelPrivateVarThroughPrivateInlineFunChain.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingTopLevelPrivateVarThroughPrivateInlineFunChain.accessors.txt
index 6b099162..5ee4bb8 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingTopLevelPrivateVarThroughPrivateInlineFunChain.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingTopLevelPrivateVarThroughPrivateInlineFunChain.accessors.txt
@@ -6,9 +6,9 @@
     /* TARGET declaration */ private fun <get-privateVar>(): Int
     /* TARGET declaration */ private fun <set-privateVar>(<set-?>: Int)
 internal inline fun internalGetVar(): Int
-    /* ACCESSOR use-site */ access$<get-privateVar>()
+    /* ACCESSOR use-site */ access$AKt$<get-privateVar>()
 internal inline fun internalSetVar(value: Int)
-    /* ACCESSOR use-site */ access$<set-privateVar>(<set-?> = value)
+    /* ACCESSOR use-site */ access$AKt$<set-privateVar>(<set-?> = value)
 private inline fun privateGetVar2(): Int
     /* TARGET use-site */ <get-privateVar>()
 private inline fun privateSetVar2(value: Int)
@@ -17,7 +17,7 @@
     /* TARGET use-site */ <get-privateVar>()
 private inline fun privateSetVar1(value: Int)
     /* TARGET use-site */ <set-privateVar>(<set-?> = value)
-/* ACCESSOR declaration */ public fun access$<get-privateVar>(): Int
+/* ACCESSOR declaration */ public fun access$AKt$<get-privateVar>(): Int
     /* TARGET use-site */ <get-privateVar>()
-/* ACCESSOR declaration */ public fun access$<set-privateVar>(<set-?>: Int)
+/* ACCESSOR declaration */ public fun access$AKt$<set-privateVar>(<set-?>: Int)
     /* TARGET use-site */ <set-privateVar>(<set-?> = <set-?>)
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingTopLevelPrivateVarThroughPrivateInlineVarChain.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingTopLevelPrivateVarThroughPrivateInlineVarChain.accessors.txt
index aa7dbc2..41a8b30 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingTopLevelPrivateVarThroughPrivateInlineVarChain.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/leakingTopLevelPrivateVarThroughPrivateInlineVarChain.accessors.txt
@@ -7,9 +7,9 @@
     /* TARGET declaration */ private fun <set-privateVar>(<set-?>: Int)
 internal var inlineVar: Int
     internal inline fun <get-inlineVar>(): Int
-        /* ACCESSOR use-site */ access$<get-privateVar>()
+        /* ACCESSOR use-site */ access$AKt$<get-privateVar>()
     internal inline fun <set-inlineVar>(value: Int)
-        /* ACCESSOR use-site */ access$<set-privateVar>(<set-?> = value)
+        /* ACCESSOR use-site */ access$AKt$<set-privateVar>(<set-?> = value)
 private var privateInlineVar2: Int
     private inline fun <get-privateInlineVar2>(): Int
         /* TARGET use-site */ <get-privateVar>()
@@ -20,7 +20,7 @@
         /* TARGET use-site */ <get-privateVar>()
     private inline fun <set-privateInlineVar1>(value: Int)
         /* TARGET use-site */ <set-privateVar>(<set-?> = value)
-/* ACCESSOR declaration */ public fun access$<get-privateVar>(): Int
+/* ACCESSOR declaration */ public fun access$AKt$<get-privateVar>(): Int
     /* TARGET use-site */ <get-privateVar>()
-/* ACCESSOR declaration */ public fun access$<set-privateVar>(<set-?>: Int)
+/* ACCESSOR declaration */ public fun access$AKt$<set-privateVar>(<set-?>: Int)
     /* TARGET use-site */ <set-privateVar>(<set-?> = <set-?>)
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/potentiallyClashingFunAccessors.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/potentiallyClashingFunAccessors.accessors.txt
new file mode 100644
index 0000000..94c5cb3
--- /dev/null
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/potentiallyClashingFunAccessors.accessors.txt
@@ -0,0 +1,20 @@
+/* MODULE name=<lib1> */
+
+/* FILE package=org.sample fileName=file1.kt */
+
+internal inline fun inlineFun1(): String
+    /* ACCESSOR use-site */ access$File1Kt$libName()
+/* TARGET declaration */ private fun libName(): String
+/* ACCESSOR declaration */ public fun access$File1Kt$libName(): String
+    /* TARGET use-site */ libName()
+
+
+/* MODULE name=<lib2> */
+
+/* FILE package=org.sample fileName=file2.kt */
+
+internal inline fun inlineFun2(): String
+    /* ACCESSOR use-site */ access$File2Kt$libName()
+/* TARGET declaration */ private fun libName(): String
+/* ACCESSOR declaration */ public fun access$File2Kt$libName(): String
+    /* TARGET use-site */ libName()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/potentiallyClashingFunAccessors.kt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/potentiallyClashingFunAccessors.kt
index c8ae399..ba6bf8a 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/potentiallyClashingFunAccessors.kt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/potentiallyClashingFunAccessors.kt
@@ -1,8 +1,5 @@
-// IGNORE_BACKEND: ANY
-// ^^^ Muted because of conflicting synthetic accessors for top-level callables. To be fixed in KT-69787.
-
 // MODULE: lib1
-// FILE: lib.kt
+// FILE: file1.kt
 package org.sample
 
 private fun libName() = "lib1 "
@@ -10,7 +7,7 @@
 internal inline fun inlineFun1() = libName()
 
 // MODULE: lib2
-// FILE: lib.kt
+// FILE: file2.kt
 package org.sample
 
 private fun libName() = "lib2 "
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/potentiallyClashingVarAccessors.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/potentiallyClashingVarAccessors.accessors.txt
index 07656f2..05202dc 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/potentiallyClashingVarAccessors.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/potentiallyClashingVarAccessors.accessors.txt
@@ -7,12 +7,12 @@
     /* TARGET declaration */ private fun <set-libName>(<set-?>: String)
 internal var libNameInlineVar1: String
     internal inline fun <get-libNameInlineVar1>(): String
-        /* ACCESSOR use-site */ access$<get-libName>()
+        /* ACCESSOR use-site */ access$File1Kt$<get-libName>()
     internal inline fun <set-libNameInlineVar1>(value: String)
-        /* ACCESSOR use-site */ access$<set-libName>(<set-?> = value)
-/* ACCESSOR declaration */ public fun access$<get-libName>(): String
+        /* ACCESSOR use-site */ access$File1Kt$<set-libName>(<set-?> = value)
+/* ACCESSOR declaration */ public fun access$File1Kt$<get-libName>(): String
     /* TARGET use-site */ <get-libName>()
-/* ACCESSOR declaration */ public fun access$<set-libName>(<set-?>: String)
+/* ACCESSOR declaration */ public fun access$File1Kt$<set-libName>(<set-?>: String)
     /* TARGET use-site */ <set-libName>(<set-?> = <set-?>)
 
 
@@ -25,10 +25,10 @@
     /* TARGET declaration */ private fun <set-libName>(<set-?>: String)
 internal var libNameInlineVar2: String
     internal inline fun <get-libNameInlineVar2>(): String
-        /* ACCESSOR use-site */ access$<get-libName>()
+        /* ACCESSOR use-site */ access$File2Kt$<get-libName>()
     internal inline fun <set-libNameInlineVar2>(value: String)
-        /* ACCESSOR use-site */ access$<set-libName>(<set-?> = value)
-/* ACCESSOR declaration */ public fun access$<get-libName>(): String
+        /* ACCESSOR use-site */ access$File2Kt$<set-libName>(<set-?> = value)
+/* ACCESSOR declaration */ public fun access$File2Kt$<get-libName>(): String
     /* TARGET use-site */ <get-libName>()
-/* ACCESSOR declaration */ public fun access$<set-libName>(<set-?>: String)
+/* ACCESSOR declaration */ public fun access$File2Kt$<set-libName>(<set-?>: String)
     /* TARGET use-site */ <set-libName>(<set-?> = <set-?>)
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/potentiallyClashingVarAccessors.kt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/potentiallyClashingVarAccessors.kt
index 3b90eb4..57c6d8e 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/potentiallyClashingVarAccessors.kt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/crossModulePrivateLeak/potentiallyClashingVarAccessors.kt
@@ -1,6 +1,3 @@
-// IGNORE_BACKEND: NATIVE
-// ^^^ Muted because of conflicting synthetic accessors for top-level callables. To be fixed in KT-69787.
-
 // MODULE: lib1
 // FILE: file1.kt
 package org.sample
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelExtensionFunFromInternalInline.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelExtensionFunFromInternalInline.accessors.txt
index cb7c28d..73e0f9b 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelExtensionFunFromInternalInline.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelExtensionFunFromInternalInline.accessors.txt
@@ -4,6 +4,6 @@
 
 /* TARGET declaration */ private fun String.privateFun(): String
 internal inline fun internalInlineFun(): String
-    /* ACCESSOR use-site */ access$privateFun($receiver = "O")
-/* ACCESSOR declaration */ public fun access$privateFun($receiver: String): String
+    /* ACCESSOR use-site */ access$UsePrivateTopLevelExtensionFunFromInternalInlineKt$privateFun($receiver = "O")
+/* ACCESSOR declaration */ public fun access$UsePrivateTopLevelExtensionFunFromInternalInlineKt$privateFun($receiver: String): String
     /* TARGET use-site */ $receiver.privateFun()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelFunFromInternalInline.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelFunFromInternalInline.accessors.txt
index 1ce9bf8..634caf8 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelFunFromInternalInline.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelFunFromInternalInline.accessors.txt
@@ -4,6 +4,6 @@
 
 /* TARGET declaration */ private fun privateFun(): String
 internal inline fun internalInlineFun(): String
-    /* ACCESSOR use-site */ access$privateFun()
-/* ACCESSOR declaration */ public fun access$privateFun(): String
+    /* ACCESSOR use-site */ access$UsePrivateTopLevelFunFromInternalInlineKt$privateFun()
+/* ACCESSOR declaration */ public fun access$UsePrivateTopLevelFunFromInternalInlineKt$privateFun(): String
     /* TARGET use-site */ privateFun()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelFunFromLambdaInsideInternalInline.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelFunFromLambdaInsideInternalInline.accessors.txt
index 8759665..981b1e8 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelFunFromLambdaInsideInternalInline.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelFunFromLambdaInsideInternalInline.accessors.txt
@@ -6,6 +6,6 @@
 internal val internalInlineVal: Function0<String>
     internal inline fun <get-internalInlineVal>(): Function0<String>
         local fun <anonymous>(): String
-            /* ACCESSOR use-site */ access$privateMethod()
-/* ACCESSOR declaration */ public fun access$privateMethod(): String
+            /* ACCESSOR use-site */ access$UsePrivateTopLevelFunFromLambdaInsideInternalInlineKt$privateMethod()
+/* ACCESSOR declaration */ public fun access$UsePrivateTopLevelFunFromLambdaInsideInternalInlineKt$privateMethod(): String
     /* TARGET use-site */ privateMethod()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelFunFromLambdaInsidePublicInline.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelFunFromLambdaInsidePublicInline.accessors.txt
index 59fe58e..a74fb25 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelFunFromLambdaInsidePublicInline.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelFunFromLambdaInsidePublicInline.accessors.txt
@@ -6,6 +6,6 @@
 public val publicInlineVal: Function0<String>
     public inline fun <get-publicInlineVal>(): Function0<String>
         local fun <anonymous>(): String
-            /* ACCESSOR use-site */ access$privateMethod()
-/* ACCESSOR declaration */ public fun access$privateMethod(): String
+            /* ACCESSOR use-site */ access$UsePrivateTopLevelFunFromLambdaInsidePublicInlineKt$privateMethod()
+/* ACCESSOR declaration */ public fun access$UsePrivateTopLevelFunFromLambdaInsidePublicInlineKt$privateMethod(): String
     /* TARGET use-site */ privateMethod()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelSetterFromInternalInlineFun.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelSetterFromInternalInlineFun.accessors.txt
index dd545d6..95c3a39 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelSetterFromInternalInlineFun.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelSetterFromInternalInlineFun.accessors.txt
@@ -7,10 +7,10 @@
 public var privateSetterVarB: Int
     /* TARGET declaration */ private fun <set-privateSetterVarB>(value: Int)
 internal inline fun customSetVarA(value: Int)
-    /* ACCESSOR use-site */ access$<set-privateSetterVarA>(<set-?> = value)
+    /* ACCESSOR use-site */ access$UsePrivateTopLevelSetterFromInternalInlineFunKt$<set-privateSetterVarA>(<set-?> = value)
 internal inline fun customSetVarB(value: Int)
-    /* ACCESSOR use-site */ access$<set-privateSetterVarB>(value = value)
-/* ACCESSOR declaration */ public fun access$<set-privateSetterVarA>(<set-?>: Int)
+    /* ACCESSOR use-site */ access$UsePrivateTopLevelSetterFromInternalInlineFunKt$<set-privateSetterVarB>(value = value)
+/* ACCESSOR declaration */ public fun access$UsePrivateTopLevelSetterFromInternalInlineFunKt$<set-privateSetterVarA>(<set-?>: Int)
     /* TARGET use-site */ <set-privateSetterVarA>(<set-?> = <set-?>)
-/* ACCESSOR declaration */ public fun access$<set-privateSetterVarB>(value: Int)
+/* ACCESSOR declaration */ public fun access$UsePrivateTopLevelSetterFromInternalInlineFunKt$<set-privateSetterVarB>(value: Int)
     /* TARGET use-site */ <set-privateSetterVarB>(value = value)
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelSetterFromInternalInlineVar.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelSetterFromInternalInlineVar.accessors.txt
index 1fc5270..df30b86 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelSetterFromInternalInlineVar.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelSetterFromInternalInlineVar.accessors.txt
@@ -6,6 +6,6 @@
     /* TARGET declaration */ private fun <set-privateSetterVar>(<set-?>: Int)
 internal var inlineVar: Int
     internal inline fun <set-inlineVar>(value: Int)
-        /* ACCESSOR use-site */ access$<set-privateSetterVar>(<set-?> = value)
-/* ACCESSOR declaration */ public fun access$<set-privateSetterVar>(<set-?>: Int)
+        /* ACCESSOR use-site */ access$UsePrivateTopLevelSetterFromInternalInlineVarKt$<set-privateSetterVar>(<set-?> = value)
+/* ACCESSOR declaration */ public fun access$UsePrivateTopLevelSetterFromInternalInlineVarKt$<set-privateSetterVar>(<set-?>: Int)
     /* TARGET use-site */ <set-privateSetterVar>(<set-?> = <set-?>)
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelSuspendFun.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelSuspendFun.accessors.txt
index 06a4271..26aa9ff 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelSuspendFun.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelSuspendFun.accessors.txt
@@ -4,6 +4,6 @@
 
 /* TARGET declaration */ private suspend fun privateSuspendMethod(): String
 internal suspend inline fun internalInline(): String
-    /* ACCESSOR use-site */ access$privateSuspendMethod()
-/* ACCESSOR declaration */ public suspend fun access$privateSuspendMethod(): String
+    /* ACCESSOR use-site */ access$UsePrivateTopLevelSuspendFunKt$privateSuspendMethod()
+/* ACCESSOR declaration */ public suspend fun access$UsePrivateTopLevelSuspendFunKt$privateSuspendMethod(): String
     /* TARGET use-site */ privateSuspendMethod()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelVarFromInternalInlineFun.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelVarFromInternalInlineFun.accessors.txt
index d1ed6c08..fc8a62a 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelVarFromInternalInlineFun.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelVarFromInternalInlineFun.accessors.txt
@@ -6,10 +6,10 @@
     /* TARGET declaration */ private fun <get-privateVar>(): Int
     /* TARGET declaration */ private fun <set-privateVar>(<set-?>: Int)
 internal inline fun customSetVar(value: Int)
-    /* ACCESSOR use-site */ access$<set-privateVar>(<set-?> = value)
+    /* ACCESSOR use-site */ access$UsePrivateTopLevelVarFromInternalInlineFunKt$<set-privateVar>(<set-?> = value)
 internal inline fun customGetVar(): Int
-    /* ACCESSOR use-site */ access$<get-privateVar>()
-/* ACCESSOR declaration */ public fun access$<set-privateVar>(<set-?>: Int)
+    /* ACCESSOR use-site */ access$UsePrivateTopLevelVarFromInternalInlineFunKt$<get-privateVar>()
+/* ACCESSOR declaration */ public fun access$UsePrivateTopLevelVarFromInternalInlineFunKt$<set-privateVar>(<set-?>: Int)
     /* TARGET use-site */ <set-privateVar>(<set-?> = <set-?>)
-/* ACCESSOR declaration */ public fun access$<get-privateVar>(): Int
+/* ACCESSOR declaration */ public fun access$UsePrivateTopLevelVarFromInternalInlineFunKt$<get-privateVar>(): Int
     /* TARGET use-site */ <get-privateVar>()
diff --git a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelVarFromInternalInlineVar.accessors.txt b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelVarFromInternalInlineVar.accessors.txt
index 36c9ed7..a6c532d 100644
--- a/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelVarFromInternalInlineVar.accessors.txt
+++ b/compiler/testData/klib/syntheticAccessors/topLevelPrivate/singleFile/usePrivateTopLevelVarFromInternalInlineVar.accessors.txt
@@ -7,10 +7,10 @@
     /* TARGET declaration */ private fun <set-privateVar>(<set-?>: Int)
 internal var inlineVar: Int
     internal inline fun <get-inlineVar>(): Int
-        /* ACCESSOR use-site */ access$<get-privateVar>()
+        /* ACCESSOR use-site */ access$UsePrivateTopLevelVarFromInternalInlineVarKt$<get-privateVar>()
     internal inline fun <set-inlineVar>(value: Int)
-        /* ACCESSOR use-site */ access$<set-privateVar>(<set-?> = value)
-/* ACCESSOR declaration */ public fun access$<get-privateVar>(): Int
+        /* ACCESSOR use-site */ access$UsePrivateTopLevelVarFromInternalInlineVarKt$<set-privateVar>(<set-?> = value)
+/* ACCESSOR declaration */ public fun access$UsePrivateTopLevelVarFromInternalInlineVarKt$<get-privateVar>(): Int
     /* TARGET use-site */ <get-privateVar>()
-/* ACCESSOR declaration */ public fun access$<set-privateVar>(<set-?>: Int)
+/* ACCESSOR declaration */ public fun access$UsePrivateTopLevelVarFromInternalInlineVarKt$<set-privateVar>(<set-?>: Int)
     /* TARGET use-site */ <set-privateVar>(<set-?> = <set-?>)
