fixup! [Test] Introduce DUMP_CLASSIFIER directive for dump files
diff --git a/compiler/testData/codegen/boxInline/anonymousObject/inlineCallInsideInlineLambda.fir.smap b/compiler/testData/codegen/boxInline/anonymousObject/inlineCallInsideInlineLambda.fir.smap
deleted file mode 100644
index 64d20fb..0000000
--- a/compiler/testData/codegen/boxInline/anonymousObject/inlineCallInsideInlineLambda.fir.smap
+++ /dev/null
@@ -1,27 +0,0 @@
-// FILE: 1.kt
-
-// FILE: 2.kt
-SMAP
-2.kt
-Kotlin
-*S Kotlin
-*F
-+ 1 2.kt
-_2Kt
-+ 2 1.kt
-test/B
-+ 3 1.kt
-test/A
-*L
-1#1,37:1
-15#2,2:38
-9#3,2:40
-*S KotlinDebug
-*F
-+ 1 2.kt
-_2Kt
-*L
-27#1:38,2
-29#1:40,2
-*E
-
diff --git a/compiler/testData/codegen/boxInline/anonymousObject/inlineCallInsideInlineLambda.smap b/compiler/testData/codegen/boxInline/anonymousObject/inlineCallInsideInlineLambda.smap
index 4fe9646..64d20fb 100644
--- a/compiler/testData/codegen/boxInline/anonymousObject/inlineCallInsideInlineLambda.smap
+++ b/compiler/testData/codegen/boxInline/anonymousObject/inlineCallInsideInlineLambda.smap
@@ -10,34 +10,18 @@
 _2Kt
 + 2 1.kt
 test/B
++ 3 1.kt
+test/A
 *L
 1#1,37:1
 15#2,2:38
+9#3,2:40
 *S KotlinDebug
 *F
 + 1 2.kt
 _2Kt
 *L
 27#1:38,2
-*E
-
-SMAP
-2.kt
-Kotlin
-*S Kotlin
-*F
-+ 1 2.kt
-_2Kt$box$1$1
-+ 2 1.kt
-test/A
-*L
-1#1,37:1
-9#2,2:38
-*S KotlinDebug
-*F
-+ 1 2.kt
-_2Kt$box$1$1
-*L
-29#1:38,2
+29#1:40,2
 *E
 
diff --git a/compiler/testData/codegen/boxInline/smap/newsmap/mappingInSubInlineLambda.fir.smap b/compiler/testData/codegen/boxInline/smap/newsmap/mappingInSubInlineLambda.fir.smap
deleted file mode 100644
index 9636d6e..0000000
--- a/compiler/testData/codegen/boxInline/smap/newsmap/mappingInSubInlineLambda.fir.smap
+++ /dev/null
@@ -1,25 +0,0 @@
-// FILE: 1.kt
-
-// FILE: 2.kt
-SMAP
-2.kt
-Kotlin
-*S Kotlin
-*F
-+ 1 2.kt
-_2Kt
-+ 2 1.kt
-test/_1Kt
-*L
-1#1,36:1
-6#2,4:37
-12#2,3:41
-*S KotlinDebug
-*F
-+ 1 2.kt
-_2Kt
-*L
-26#1:37,4
-28#1:41,3
-*E
-
diff --git a/compiler/testData/codegen/boxInline/smap/newsmap/mappingInSubInlineLambda.smap b/compiler/testData/codegen/boxInline/smap/newsmap/mappingInSubInlineLambda.smap
index eee3f1b..9636d6e 100644
--- a/compiler/testData/codegen/boxInline/smap/newsmap/mappingInSubInlineLambda.smap
+++ b/compiler/testData/codegen/boxInline/smap/newsmap/mappingInSubInlineLambda.smap
@@ -13,31 +13,13 @@
 *L
 1#1,36:1
 6#2,4:37
+12#2,3:41
 *S KotlinDebug
 *F
 + 1 2.kt
 _2Kt
 *L
 26#1:37,4
-*E
-
-SMAP
-2.kt
-Kotlin
-*S Kotlin
-*F
-+ 1 2.kt
-_2Kt$box$1$1
-+ 2 1.kt
-test/_1Kt
-*L
-1#1,36:1
-12#2,3:37
-*S KotlinDebug
-*F
-+ 1 2.kt
-_2Kt$box$1$1
-*L
-28#1:37,3
+28#1:41,3
 *E
 
diff --git a/compiler/testData/codegen/boxInline/smap/newsmap/mappingInSubInlineLambdaSameFileInline.fir.smap b/compiler/testData/codegen/boxInline/smap/newsmap/mappingInSubInlineLambdaSameFileInline.fir.smap
deleted file mode 100644
index f81d883..0000000
--- a/compiler/testData/codegen/boxInline/smap/newsmap/mappingInSubInlineLambdaSameFileInline.fir.smap
+++ /dev/null
@@ -1,25 +0,0 @@
-// FILE: 1.kt
-
-// FILE: 2.kt
-SMAP
-2.kt
-Kotlin
-*S Kotlin
-*F
-+ 1 2.kt
-_2Kt
-+ 2 1.kt
-test/_1Kt
-*L
-1#1,36:1
-16#1,3:41
-6#2,4:37
-*S KotlinDebug
-*F
-+ 1 2.kt
-_2Kt
-*L
-28#1:41,3
-26#1:37,4
-*E
-
diff --git a/compiler/testData/codegen/boxInline/smap/newsmap/mappingInSubInlineLambdaSameFileInline.smap b/compiler/testData/codegen/boxInline/smap/newsmap/mappingInSubInlineLambdaSameFileInline.smap
index b91f412..f81d883 100644
--- a/compiler/testData/codegen/boxInline/smap/newsmap/mappingInSubInlineLambdaSameFileInline.smap
+++ b/compiler/testData/codegen/boxInline/smap/newsmap/mappingInSubInlineLambdaSameFileInline.smap
@@ -12,32 +12,14 @@
 test/_1Kt
 *L
 1#1,36:1
+16#1,3:41
 6#2,4:37
 *S KotlinDebug
 *F
 + 1 2.kt
 _2Kt
 *L
+28#1:41,3
 26#1:37,4
 *E
 
-SMAP
-2.kt
-Kotlin
-*S Kotlin
-*F
-+ 1 2.kt
-_2Kt$box$1$1
-+ 2 2.kt
-_2Kt
-*L
-1#1,36:1
-16#2,3:37
-*S KotlinDebug
-*F
-+ 1 2.kt
-_2Kt$box$1$1
-*L
-28#1:37,3
-*E
-
diff --git a/compiler/testData/diagnostics/tests/annotations/requiredAnnotationWithTypealiasedArgumentAsMetaAnnotation.kt b/compiler/testData/diagnostics/tests/annotations/requiredAnnotationWithTypealiasedArgumentAsMetaAnnotation.kt
index 48321dc..75b571e 100644
--- a/compiler/testData/diagnostics/tests/annotations/requiredAnnotationWithTypealiasedArgumentAsMetaAnnotation.kt
+++ b/compiler/testData/diagnostics/tests/annotations/requiredAnnotationWithTypealiasedArgumentAsMetaAnnotation.kt
@@ -1,9 +1,5 @@
 // RUN_PIPELINE_TILL: BACKEND
 // FIR_DUMP
-// IGNORE_REVERSED_RESOLVE
-// ^Reverse order has the same problem as CLI mode –
-//   it dosn't move the annotation to the backing field as
-//   '@Target' arguments are unresolved on the compiler required phase
 
 package testPack
 
diff --git a/compiler/testData/diagnostics/tests/annotations/requiredAnnotationWithTypealiasedArgumentAsMetaAnnotation.ll.txt b/compiler/testData/diagnostics/tests/annotations/requiredAnnotationWithTypealiasedArgumentAsMetaAnnotation.ll.fir.txt
similarity index 100%
rename from compiler/testData/diagnostics/tests/annotations/requiredAnnotationWithTypealiasedArgumentAsMetaAnnotation.ll.txt
rename to compiler/testData/diagnostics/tests/annotations/requiredAnnotationWithTypealiasedArgumentAsMetaAnnotation.ll.fir.txt
diff --git a/compiler/testData/diagnostics/tests/annotations/requiredAnnotationWithTypealiasedArgumentAsMetaAnnotation.partialBody.fir.txt b/compiler/testData/diagnostics/tests/annotations/requiredAnnotationWithTypealiasedArgumentAsMetaAnnotation.partialBody.fir.txt
deleted file mode 100644
index d57f2a5..0000000
--- a/compiler/testData/diagnostics/tests/annotations/requiredAnnotationWithTypealiasedArgumentAsMetaAnnotation.partialBody.fir.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-FILE: requiredAnnotationWithTypealiasedArgumentAsMetaAnnotation.kt
-    package testPack
-
-    public final typealias MyTypeAlias = R|kotlin/annotation/AnnotationTarget|
-    @R|kotlin/annotation/Target|(allowedTargets = vararg(Q|testPack/MyTypeAlias|.R|kotlin/annotation/AnnotationTarget.FIELD|) [evaluated = vararg(Q|testPack/MyTypeAlias|.R|kotlin/annotation/AnnotationTarget.FIELD|)]) public final annotation class MyAnnotation : R|kotlin/Annotation| {
-        public constructor(): R|testPack/MyAnnotation| {
-            super<R|kotlin/Any|>()
-        }
-
-    }
-    @R|testPack/MyAnnotation|() public final val property: R|kotlin/Int| = Int(0)
-        public get(): R|kotlin/Int|
diff --git a/compiler/testData/diagnostics/tests/diagnostics/conflictingOverloads.ll.fir.txt b/compiler/testData/diagnostics/tests/diagnostics/conflictingOverloads.ll.fir.txt
deleted file mode 100644
index 64cc711..0000000
--- a/compiler/testData/diagnostics/tests/diagnostics/conflictingOverloads.ll.fir.txt
+++ /dev/null
@@ -1,130 +0,0 @@
-FILE: conflictingOverloads.ll.kt
-    public final fun test(x: R|kotlin/Int|): R|kotlin/Unit| {
-    }
-    public final fun test(y: R|kotlin/Int|): R|kotlin/Unit| {
-    }
-    public final fun test(): R|kotlin/Unit| {
-    }
-    public final fun test(z: R|kotlin/Int|, c: R|kotlin/Char|): R|kotlin/Unit| {
-    }
-    public open class A : R|kotlin/Any| {
-        public constructor(): R|A| {
-            super<R|kotlin/Any|>()
-        }
-
-        public open fun rest(s: R|kotlin/String|): R|kotlin/Unit| {
-        }
-
-        public open val u: R|kotlin/Int| = Int(20)
-            public get(): R|kotlin/Int|
-
-    }
-    public final class A : R|kotlin/Any| {
-        public constructor(): R|A| {
-            super<R|kotlin/Any|>()
-        }
-
-    }
-    public final class B : R|A| {
-        public constructor(): R|B| {
-            super<R|A|>()
-        }
-
-        public open override fun rest(s: R|kotlin/String|): R|kotlin/Unit| {
-        }
-
-        public final fun rest(s: R|kotlin/String|): R|kotlin/Unit| {
-        }
-
-        public final fun rest(l: R|kotlin/Long|): R|kotlin/Unit| {
-        }
-
-        public open override val u: R|kotlin/Int| = Int(310)
-            public get(): R|kotlin/Int|
-
-    }
-    public abstract interface B : R|kotlin/Any| {
-    }
-    public final enum class B : R|kotlin/Enum<B>| {
-        private constructor(): R|B| {
-            super<R|kotlin/Enum<B>|>()
-        }
-
-        public final static fun values(): R|kotlin/Array<B>| {
-        }
-
-        public final static fun valueOf(value: R|kotlin/String|): R|B| {
-        }
-
-        public final static val entries: R|kotlin/enums/EnumEntries<B>|
-            public get(): R|kotlin/enums/EnumEntries<B>|
-
-    }
-    public final val u: R|kotlin/Int| = Int(10)
-        public get(): R|kotlin/Int|
-    public final val u: R|kotlin/Int| = Int(20)
-        public get(): R|kotlin/Int|
-    <ERROR PROPERTY: Destructuring declarations are only allowed for local variables/values>
-    <ERROR PROPERTY: Destructuring declarations are only allowed for local variables/values>
-    public final typealias TA = R|A|
-    public final typealias TA = R|B|
-    public final typealias BA = R|A|
-    public final fun <T : R|(kotlin/String) -> kotlin/Any?|, R|kotlin/Char|> kek(t: R|T|): R|kotlin/Unit| {
-    }
-    public final fun <T : R|() -> kotlin/Boolean|, R|kotlin/String|> kek(t: R|T|): R|kotlin/Unit| {
-    }
-    public final fun <T : R|kotlin/Int|> kek(t: R|T|): R|kotlin/Unit| {
-    }
-    public final fun lol(a: R|kotlin/Array<kotlin/Int>|): R|kotlin/Unit| {
-    }
-    public final fun lol(a: R|kotlin/Array<kotlin/Boolean>|): R|kotlin/Unit| {
-    }
-    public final fun <T : R|() -> kotlin/Boolean|, R|kotlin/String|> mem(t: R|T|): R|kotlin/Unit| {
-    }
-    public final fun <T : R|kotlin/String|, R|() -> kotlin/Boolean|> mem(t: R|T|): R|kotlin/Unit| {
-    }
-    public final class M : R|kotlin/Any| {
-        public constructor(): R|M| {
-            super<R|kotlin/Any|>()
-        }
-
-        public final companion object Companion : R|kotlin/Any| {
-            private constructor(): R|M.Companion| {
-                super<R|kotlin/Any|>()
-            }
-
-        }
-
-        public final val Companion: R|kotlin/Any| = object : R|kotlin/Any| {
-            private constructor(): R|<anonymous>| {
-                super<R|kotlin/Any|>()
-            }
-
-        }
-
-            public get(): R|kotlin/Any|
-
-    }
-    public final fun R|B|.foo(): R|kotlin/Unit| {
-    }
-    public final class L : R|kotlin/Any| {
-        public constructor(): R|L| {
-            super<R|kotlin/Any|>()
-        }
-
-        public final fun R|B|.foo(): R|kotlin/Unit| {
-        }
-
-    }
-    public final fun mest(): R|kotlin/Unit| {
-    }
-    public final class mest : R|kotlin/Any| {
-        public constructor(): R|mest| {
-            super<R|kotlin/Any|>()
-        }
-
-    }
-    public final fun <no name provided>(): R|kotlin/Unit| {
-    }
-    private final fun <no name provided>(): R|kotlin/Unit| {
-    }
diff --git a/compiler/testData/diagnostics/tests/diagnostics/sealedSupertype.ll.fir.txt b/compiler/testData/diagnostics/tests/diagnostics/sealedSupertype.ll.fir.txt
deleted file mode 100644
index f7d58cf..0000000
--- a/compiler/testData/diagnostics/tests/diagnostics/sealedSupertype.ll.fir.txt
+++ /dev/null
@@ -1,117 +0,0 @@
-FILE: sealedSupertype.ll.kt
-    public sealed class A : R|kotlin/Any| {
-        protected constructor(): R|A| {
-            super<R|kotlin/Any|>()
-        }
-
-    }
-    public final class B : R|A| {
-        public constructor(): R|B| {
-            super<R|A|>()
-        }
-
-    }
-    public abstract interface C : R|A| {
-    }
-    public abstract interface D : R|C|, R|A| {
-    }
-    public final class E : R|B|, R|A| {
-        public constructor(): R|E| {
-            super<R|A|>()
-        }
-
-    }
-    public sealed class P : R|kotlin/Any| {
-        protected constructor(): R|P| {
-            super<R|kotlin/Any|>()
-        }
-
-        public final object H : R|P| {
-            private constructor(): R|P.H| {
-                super<R|P|>()
-            }
-
-        }
-
-        public final class J : R|P| {
-            public constructor(): R|P.J| {
-                super<R|P|>()
-            }
-
-        }
-
-        public final object T : R|kotlin/Any| {
-            private constructor(): R|P.T| {
-                super<R|kotlin/Any|>()
-            }
-
-            public final object V : R|P| {
-                private constructor(): R|P.T.V| {
-                    super<R|P|>()
-                }
-
-            }
-
-            public final class M : R|P| {
-                public constructor(): R|P.T.M| {
-                    super<R|P|>()
-                }
-
-            }
-
-        }
-
-        public final val p: R|P| = object : R|P| {
-            private constructor(): R|<anonymous>| {
-                super<R|P|>()
-            }
-
-        }
-
-            public get(): R|P|
-
-        public final val r: R|P| = object : R|P| {
-            private constructor(): R|<anonymous>| {
-                super<R|P|>()
-            }
-
-        }
-
-            public get(): R|P|
-
-    }
-    public final class K : R|P| {
-        public constructor(): R|K| {
-            super<R|P|>()
-        }
-
-    }
-    public final object B : R|kotlin/Any| {
-        private constructor(): R|B| {
-            super<R|kotlin/Any|>()
-        }
-
-        public final class I : R|P| {
-            public constructor(): R|B.I| {
-                super<R|P|>()
-            }
-
-        }
-
-    }
-    public final fun test(): R|kotlin/Unit| {
-        local final class L : R|P| {
-            public constructor(): R|<local>/L| {
-                super<R|P|>()
-            }
-
-        }
-
-        lval a: R|<anonymous>| = object : R|P| {
-            private constructor(): R|<anonymous>| {
-                super<R|P|>()
-            }
-
-        }
-
-    }
diff --git a/compiler/testData/diagnostics/tests/j+k/primitiveOverrides/removeAt.kt b/compiler/testData/diagnostics/tests/j+k/primitiveOverrides/removeAt.kt
index c1d312e..bfed7ec 100644
--- a/compiler/testData/diagnostics/tests/j+k/primitiveOverrides/removeAt.kt
+++ b/compiler/testData/diagnostics/tests/j+k/primitiveOverrides/removeAt.kt
@@ -2,7 +2,6 @@
 // WITH_STDLIB
 // SCOPE_DUMP: A:removeAt
 // ISSUE: KT-65410
-// MUTE_LL_FIR: SCOPE_DUMP uses different parameter names in AA modes
 
 // FILE: Java1.java
 import kotlin.collections.AbstractMutableList;
diff --git a/compiler/testData/diagnostics/tests/j+k/primitiveOverrides/removeAt.ll.overrides.txt b/compiler/testData/diagnostics/tests/j+k/primitiveOverrides/removeAt.ll.overrides.txt
new file mode 100644
index 0000000..667cb62
--- /dev/null
+++ b/compiler/testData/diagnostics/tests/j+k/primitiveOverrides/removeAt.ll.overrides.txt
@@ -0,0 +1,11 @@
+A:
+  [Enhancement]: public open fun removeAt(i: R|kotlin/Int|): R|kotlin/Int!| from Use site scope of /A [id: 0]
+    [Enhancement]: public open fun removeAt(i: R|kotlin/Int|): R|kotlin/Int!| from Java enhancement scope for /Java1 [id: 0]
+      [SubstitutionOverride(DeclarationSite)]: public abstract override fun removeAt(index: R|kotlin/Int|): R|kotlin/Int!| from Substitution scope for [Use site scope of kotlin/collections/AbstractMutableList] for type Java1 [id: 1]
+        [Library]: public abstract fun removeAt(index: R|kotlin/Int|): R|E| from Use site scope of kotlin/collections/AbstractMutableList [id: 2]
+          [SubstitutionOverride(DeclarationSite)]: public abstract override fun removeAt(index: R|kotlin/Int|): R|E| from Substitution scope for [Use site scope of kotlin/collections/MutableList] for type kotlin/collections/AbstractMutableList<E> [id: 3]
+            [Library]: public abstract fun removeAt(index: R|kotlin/Int|): R|E| from Use site scope of kotlin/collections/MutableList [id: 4]
+          [SubstitutionOverride(DeclarationSite)]: public open override fun removeAt(index: R|kotlin/Int|): R|E!| [initial: public open fun remove(index: R|kotlin/Int|): R|E!|] from Substitution scope for [Java enhancement scope for java/util/AbstractList] for type kotlin/collections/AbstractMutableList<E> [id: 5]
+            [Enhancement]: public open fun removeAt(index: R|kotlin/Int|): R|E!| [initial: public open fun remove(index: R|kotlin/Int|): R|E!|] from Java enhancement scope for java/util/AbstractList [id: 6]
+              [SubstitutionOverride(DeclarationSite)]: public abstract override fun removeAt(index: R|kotlin/Int|): R|E!| from Substitution scope for [Use site scope of kotlin/collections/MutableList] for type java/util/AbstractList<E> [id: 7]
+                [Library]: public abstract fun removeAt(index: R|kotlin/Int|): R|E| from Use site scope of kotlin/collections/MutableList [id: 4]
diff --git a/compiler/testData/diagnostics/tests/j+k/primitiveOverrides/removeAt.partialBody.overrides.txt b/compiler/testData/diagnostics/tests/j+k/primitiveOverrides/removeAt.partialBody.overrides.txt
new file mode 100644
index 0000000..667cb62
--- /dev/null
+++ b/compiler/testData/diagnostics/tests/j+k/primitiveOverrides/removeAt.partialBody.overrides.txt
@@ -0,0 +1,11 @@
+A:
+  [Enhancement]: public open fun removeAt(i: R|kotlin/Int|): R|kotlin/Int!| from Use site scope of /A [id: 0]
+    [Enhancement]: public open fun removeAt(i: R|kotlin/Int|): R|kotlin/Int!| from Java enhancement scope for /Java1 [id: 0]
+      [SubstitutionOverride(DeclarationSite)]: public abstract override fun removeAt(index: R|kotlin/Int|): R|kotlin/Int!| from Substitution scope for [Use site scope of kotlin/collections/AbstractMutableList] for type Java1 [id: 1]
+        [Library]: public abstract fun removeAt(index: R|kotlin/Int|): R|E| from Use site scope of kotlin/collections/AbstractMutableList [id: 2]
+          [SubstitutionOverride(DeclarationSite)]: public abstract override fun removeAt(index: R|kotlin/Int|): R|E| from Substitution scope for [Use site scope of kotlin/collections/MutableList] for type kotlin/collections/AbstractMutableList<E> [id: 3]
+            [Library]: public abstract fun removeAt(index: R|kotlin/Int|): R|E| from Use site scope of kotlin/collections/MutableList [id: 4]
+          [SubstitutionOverride(DeclarationSite)]: public open override fun removeAt(index: R|kotlin/Int|): R|E!| [initial: public open fun remove(index: R|kotlin/Int|): R|E!|] from Substitution scope for [Java enhancement scope for java/util/AbstractList] for type kotlin/collections/AbstractMutableList<E> [id: 5]
+            [Enhancement]: public open fun removeAt(index: R|kotlin/Int|): R|E!| [initial: public open fun remove(index: R|kotlin/Int|): R|E!|] from Java enhancement scope for java/util/AbstractList [id: 6]
+              [SubstitutionOverride(DeclarationSite)]: public abstract override fun removeAt(index: R|kotlin/Int|): R|E!| from Substitution scope for [Use site scope of kotlin/collections/MutableList] for type java/util/AbstractList<E> [id: 7]
+                [Library]: public abstract fun removeAt(index: R|kotlin/Int|): R|E| from Use site scope of kotlin/collections/MutableList [id: 4]
diff --git a/compiler/testData/diagnostics/tests/j+k/primitiveOverrides/removeAt.reversed.overrides.txt b/compiler/testData/diagnostics/tests/j+k/primitiveOverrides/removeAt.reversed.overrides.txt
new file mode 100644
index 0000000..667cb62
--- /dev/null
+++ b/compiler/testData/diagnostics/tests/j+k/primitiveOverrides/removeAt.reversed.overrides.txt
@@ -0,0 +1,11 @@
+A:
+  [Enhancement]: public open fun removeAt(i: R|kotlin/Int|): R|kotlin/Int!| from Use site scope of /A [id: 0]
+    [Enhancement]: public open fun removeAt(i: R|kotlin/Int|): R|kotlin/Int!| from Java enhancement scope for /Java1 [id: 0]
+      [SubstitutionOverride(DeclarationSite)]: public abstract override fun removeAt(index: R|kotlin/Int|): R|kotlin/Int!| from Substitution scope for [Use site scope of kotlin/collections/AbstractMutableList] for type Java1 [id: 1]
+        [Library]: public abstract fun removeAt(index: R|kotlin/Int|): R|E| from Use site scope of kotlin/collections/AbstractMutableList [id: 2]
+          [SubstitutionOverride(DeclarationSite)]: public abstract override fun removeAt(index: R|kotlin/Int|): R|E| from Substitution scope for [Use site scope of kotlin/collections/MutableList] for type kotlin/collections/AbstractMutableList<E> [id: 3]
+            [Library]: public abstract fun removeAt(index: R|kotlin/Int|): R|E| from Use site scope of kotlin/collections/MutableList [id: 4]
+          [SubstitutionOverride(DeclarationSite)]: public open override fun removeAt(index: R|kotlin/Int|): R|E!| [initial: public open fun remove(index: R|kotlin/Int|): R|E!|] from Substitution scope for [Java enhancement scope for java/util/AbstractList] for type kotlin/collections/AbstractMutableList<E> [id: 5]
+            [Enhancement]: public open fun removeAt(index: R|kotlin/Int|): R|E!| [initial: public open fun remove(index: R|kotlin/Int|): R|E!|] from Java enhancement scope for java/util/AbstractList [id: 6]
+              [SubstitutionOverride(DeclarationSite)]: public abstract override fun removeAt(index: R|kotlin/Int|): R|E!| from Substitution scope for [Use site scope of kotlin/collections/MutableList] for type java/util/AbstractList<E> [id: 7]
+                [Library]: public abstract fun removeAt(index: R|kotlin/Int|): R|E| from Use site scope of kotlin/collections/MutableList [id: 4]
diff --git a/compiler/testData/diagnostics/tests/testsWithJava21/newListMethods.diag.txt b/compiler/testData/diagnostics/tests/testsWithJava21/newListMethods.diag.txt
index 4b352c3..6f8e6d6 100644
--- a/compiler/testData/diagnostics/tests/testsWithJava21/newListMethods.diag.txt
+++ b/compiler/testData/diagnostics/tests/testsWithJava21/newListMethods.diag.txt
@@ -1,47 +1,47 @@
+/newListMethods.kt:18:18: warning: This declaration overrides a deprecated member but is not marked as deprecated itself. Add the '@Deprecated' annotation or suppress the diagnostic.
+
+/newListMethods.kt:18:40: warning: 'fun getFirst(): T!' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'first()' stdlib extension if the collection supports fast random access.
+
 /newListMethods.kt:19:18: warning: This declaration overrides a deprecated member but is not marked as deprecated itself. Add the '@Deprecated' annotation or suppress the diagnostic.
 
-/newListMethods.kt:19:40: warning: 'fun getFirst(): T!' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'first()' stdlib extension if the collection supports fast random access.
+/newListMethods.kt:19:39: warning: 'fun getLast(): T!' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'last()' stdlib extension if the collection supports fast random access.
 
-/newListMethods.kt:20:18: warning: This declaration overrides a deprecated member but is not marked as deprecated itself. Add the '@Deprecated' annotation or suppress the diagnostic.
+/newListMethods.kt:21:34: warning: 'val first: T!' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'first()' stdlib extension if the collection supports fast random access.
 
-/newListMethods.kt:20:39: warning: 'fun getLast(): T!' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'last()' stdlib extension if the collection supports fast random access.
+/newListMethods.kt:22:33: warning: 'val last: T!' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'last()' stdlib extension if the collection supports fast random access.
 
-/newListMethods.kt:22:34: warning: 'val first: T!' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'first()' stdlib extension if the collection supports fast random access.
+/newListMethods.kt:29:22: warning: This declaration overrides a deprecated member but is not marked as deprecated itself. Add the '@Deprecated' annotation or suppress the diagnostic.
 
-/newListMethods.kt:23:33: warning: 'val last: T!' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'last()' stdlib extension if the collection supports fast random access.
+/newListMethods.kt:30:22: warning: 'fun <T : Any!> toArray(p0: IntFunction<Array<(out) T!>!>!): Array<(out) T!>!' is deprecated. This declaration is redundant in Kotlin and might be removed soon.
 
-/newListMethods.kt:30:22: warning: This declaration overrides a deprecated member but is not marked as deprecated itself. Add the '@Deprecated' annotation or suppress the diagnostic.
+/newListMethods.kt:35:18: warning: This declaration overrides a deprecated member but is not marked as deprecated itself. Add the '@Deprecated' annotation or suppress the diagnostic.
 
-/newListMethods.kt:31:22: warning: 'fun <T : Any!> toArray(p0: IntFunction<Array<(out) T!>!>!): Array<(out) T!>!' is deprecated. This declaration is redundant in Kotlin and might be removed soon.
+/newListMethods.kt:36:22: warning: 'fun getFirst(): T!' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'first()' stdlib extension if the collection supports fast random access.
 
-/newListMethods.kt:36:18: warning: This declaration overrides a deprecated member but is not marked as deprecated itself. Add the '@Deprecated' annotation or suppress the diagnostic.
+/newListMethods.kt:39:18: warning: This declaration overrides a deprecated member but is not marked as deprecated itself. Add the '@Deprecated' annotation or suppress the diagnostic.
 
-/newListMethods.kt:37:22: warning: 'fun getFirst(): T!' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'first()' stdlib extension if the collection supports fast random access.
+/newListMethods.kt:40:22: warning: 'fun getLast(): T!' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'last()' stdlib extension if the collection supports fast random access.
 
-/newListMethods.kt:40:18: warning: This declaration overrides a deprecated member but is not marked as deprecated itself. Add the '@Deprecated' annotation or suppress the diagnostic.
+/newListMethods.kt:47:7: error: Unresolved reference 'getFirst'.
 
-/newListMethods.kt:41:22: warning: 'fun getLast(): T!' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'last()' stdlib extension if the collection supports fast random access.
+/newListMethods.kt:48:7: error: Function invocation 'first()' expected.
 
-/newListMethods.kt:48:7: error: Unresolved reference 'getFirst'.
+/newListMethods.kt:50:7: error: Unresolved reference 'getLast'.
 
-/newListMethods.kt:49:7: error: Function invocation 'first()' expected.
+/newListMethods.kt:51:7: error: Function invocation 'last()' expected.
 
-/newListMethods.kt:51:7: error: Unresolved reference 'getLast'.
+/newListMethods.kt:59:7: warning: 'fun getFirst(): String!' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'first()' stdlib extension if the collection supports fast random access.
 
-/newListMethods.kt:52:7: error: Function invocation 'last()' expected.
+/newListMethods.kt:60:7: warning: 'val first: String!' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'first()' stdlib extension if the collection supports fast random access.
 
-/newListMethods.kt:60:7: warning: 'fun getFirst(): String!' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'first()' stdlib extension if the collection supports fast random access.
+/newListMethods.kt:62:7: warning: 'fun getLast(): String!' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'last()' stdlib extension if the collection supports fast random access.
 
-/newListMethods.kt:61:7: warning: 'val first: String!' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'first()' stdlib extension if the collection supports fast random access.
+/newListMethods.kt:63:7: warning: 'val last: String!' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'last()' stdlib extension if the collection supports fast random access.
 
-/newListMethods.kt:63:7: warning: 'fun getLast(): String!' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'last()' stdlib extension if the collection supports fast random access.
+/newListMethods.kt:71:7: warning: 'fun getFirst(): String' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'first()' stdlib extension if the collection supports fast random access.
 
-/newListMethods.kt:64:7: warning: 'val last: String!' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'last()' stdlib extension if the collection supports fast random access.
+/newListMethods.kt:72:7: warning: 'val first: String' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'first()' stdlib extension if the collection supports fast random access.
 
-/newListMethods.kt:72:7: warning: 'fun getFirst(): String' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'first()' stdlib extension if the collection supports fast random access.
+/newListMethods.kt:74:7: warning: 'fun getLast(): String' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'last()' stdlib extension if the collection supports fast random access.
 
-/newListMethods.kt:73:7: warning: 'val first: String' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'first()' stdlib extension if the collection supports fast random access.
-
-/newListMethods.kt:75:7: warning: 'fun getLast(): String' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'last()' stdlib extension if the collection supports fast random access.
-
-/newListMethods.kt:76:7: warning: 'val last: String' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'last()' stdlib extension if the collection supports fast random access.
+/newListMethods.kt:75:7: warning: 'val last: String' is deprecated. This declaration will be renamed in a future version of Kotlin. Please consider using the 'last()' stdlib extension if the collection supports fast random access.
diff --git a/compiler/testData/diagnostics/tests/testsWithJava21/newListMethods.kt b/compiler/testData/diagnostics/tests/testsWithJava21/newListMethods.kt
index 1f7503d..4d07c13 100644
--- a/compiler/testData/diagnostics/tests/testsWithJava21/newListMethods.kt
+++ b/compiler/testData/diagnostics/tests/testsWithJava21/newListMethods.kt
@@ -3,7 +3,6 @@
 // RENDER_DIAGNOSTICS_FULL_TEXT
 // DIAGNOSTICS: -SUPER_CANT_BE_EXTENSION_RECEIVER
 // ^Otherwise only K1 errors are written to .diag file.
-// MUTE_LL_FIR: different parameter names for Java methods in AA modes
 
 import java.util.function.IntFunction
 
diff --git a/compiler/testData/diagnostics/testsWithStdLib/properties/backingField/propertyTypeNarrowing.reversed.fir.txt b/compiler/testData/diagnostics/testsWithStdLib/properties/backingField/propertyTypeNarrowing.reversed.fir.txt
deleted file mode 100644
index 5fcfa26..0000000
--- a/compiler/testData/diagnostics/testsWithStdLib/properties/backingField/propertyTypeNarrowing.reversed.fir.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-FILE: propertyTypeNarrowing.kt
-    public final class A : R|kotlin/Any| {
-        public constructor(): R|A| {
-            super<R|kotlin/Any|>()
-        }
-
-        public final val it: R|kotlin/Number|
-            private final backing field field: R|kotlin/Int| = Int(4)
-            public get(): R|kotlin/Number|
-
-        public final fun test(): R|kotlin/Int| {
-            ^test this@R|/A|.R|/A.it|.R|kotlin/Int.plus|(Int(3))
-        }
-
-        public final val p: R|kotlin/Int| = Int(5)
-            public get(): R|kotlin/Int| {
-                ^ this@R|/A|.F|/A.p|
-            }
-
-    }
-    public final fun test(): R|kotlin/Unit| {
-        lval c: <ERROR TYPE REF: Unresolved name: plus (+)> = R|/A.A|().R|/A.it|.<Unresolved name: plus (+)>#(Int(1))
-        lval d: R|kotlin/Unit| = R|/test|()
-        lval b: R|kotlin/Int| = R|/A.A|().R|/A.p|.R|kotlin/Int.plus|(Int(2))
-    }
diff --git a/libraries/tools/kotlinp/jvm/testData/AnnotationParameterDefaultValues.fir.txt b/libraries/tools/kotlinp/jvm/testData/AnnotationParameterDefaultValues.fir.txt
deleted file mode 100644
index d439e26..0000000
--- a/libraries/tools/kotlinp/jvm/testData/AnnotationParameterDefaultValues.fir.txt
+++ /dev/null
@@ -1,169 +0,0 @@
-// B.class
-// ------------------------------------------
-public final annotation class B : kotlin/Annotation {
-
-  // signature: <init>(Ljava/lang/String;)V
-  public constructor(value: kotlin/String)
-
-  // getter: value()Ljava/lang/String;
-  public final val value: kotlin/String
-    public final get
-
-  // module name: test-module
-}
-// Other.class
-// ------------------------------------------
-public final annotation class Other : kotlin/Annotation {
-
-  // signature: <init>(Ljava/lang/String;Lkotlin/annotation/AnnotationTarget;Lkotlin/reflect/KClass;Lkotlin/reflect/KClass;LB;Lkotlin/Array;Lkotlin/Array;Lkotlin/Array;Lkotlin/Array;)V
-  public constructor(str: kotlin/String = "OK", enum: kotlin/annotation/AnnotationTarget = kotlin/annotation/AnnotationTarget.CLASS, klass: kotlin/reflect/KClass<*> = B::class, klass2: kotlin/reflect/KClass<*> = kotlin/IntArray::class, anno: B = B(value = "B"), stra: kotlin/Array<kotlin/String> = ["OK"], ka: kotlin/Array<kotlin/reflect/KClass<*>> = [kotlin/Double::class, kotlin/Unit::class, kotlin/LongArray::class, kotlin/Array<kotlin/String::class>], ea: kotlin/Array<kotlin/annotation/AnnotationTarget> = [kotlin/annotation/AnnotationTarget.TYPEALIAS, kotlin/annotation/AnnotationTarget.FIELD], aa: kotlin/Array<B> = [B(value = "1"), B(value = "2")])
-
-  // getter: aa()[LB;
-  public final val aa: kotlin/Array<B>
-    public final get
-
-  // getter: anno()LB;
-  public final val anno: B
-    public final get
-
-  // getter: ea()[Lkotlin/annotation/AnnotationTarget;
-  public final val ea: kotlin/Array<kotlin/annotation/AnnotationTarget>
-    public final get
-
-  // getter: enum()Lkotlin/annotation/AnnotationTarget;
-  public final val enum: kotlin/annotation/AnnotationTarget
-    public final get
-
-  // getter: ka()[Ljava/lang/Class;
-  public final val ka: kotlin/Array<kotlin/reflect/KClass<*>>
-    public final get
-
-  // getter: klass()Ljava/lang/Class;
-  public final val klass: kotlin/reflect/KClass<*>
-    public final get
-
-  // getter: klass2()Ljava/lang/Class;
-  public final val klass2: kotlin/reflect/KClass<*>
-    public final get
-
-  // getter: str()Ljava/lang/String;
-  public final val str: kotlin/String
-    public final get
-
-  // getter: stra()[Ljava/lang/String;
-  public final val stra: kotlin/Array<kotlin/String>
-    public final get
-
-  // module name: test-module
-}
-// PrimitiveArrays.class
-// ------------------------------------------
-public final annotation class PrimitiveArrays : kotlin/Annotation {
-
-  // signature: <init>([Z[C[B[S[I[F[J[D)V
-  public constructor(za: kotlin/BooleanArray = [true], ca: kotlin/CharArray = ['c'], ba: kotlin/ByteArray = [1.toByte()], sa: kotlin/ShortArray = [2.toShort()], ia: kotlin/IntArray = [42], fa: kotlin/FloatArray = [3.14f], ja: kotlin/LongArray = [9223372036854775807L], da: kotlin/DoubleArray = [NaN])
-
-  // getter: ba()[B
-  public final val ba: kotlin/ByteArray
-    public final get
-
-  // getter: ca()[C
-  public final val ca: kotlin/CharArray
-    public final get
-
-  // getter: da()[D
-  public final val da: kotlin/DoubleArray
-    public final get
-
-  // getter: fa()[F
-  public final val fa: kotlin/FloatArray
-    public final get
-
-  // getter: ia()[I
-  public final val ia: kotlin/IntArray
-    public final get
-
-  // getter: ja()[J
-  public final val ja: kotlin/LongArray
-    public final get
-
-  // getter: sa()[S
-  public final val sa: kotlin/ShortArray
-    public final get
-
-  // getter: za()[Z
-  public final val za: kotlin/BooleanArray
-    public final get
-
-  // module name: test-module
-}
-// Primitives.class
-// ------------------------------------------
-public final annotation class Primitives : kotlin/Annotation {
-
-  // signature: <init>(ZCBSIFJD)V
-  public constructor(z: kotlin/Boolean = true, c: kotlin/Char = 'c', b: kotlin/Byte = 1.toByte(), s: kotlin/Short = 2.toShort(), i: kotlin/Int = 42, f: kotlin/Float = 3.14f, j: kotlin/Long = 9223372036854775807L, d: kotlin/Double = NaN)
-
-  // getter: b()B
-  public final val b: kotlin/Byte
-    public final get
-
-  // getter: c()C
-  public final val c: kotlin/Char
-    public final get
-
-  // getter: d()D
-  public final val d: kotlin/Double
-    public final get
-
-  // getter: f()F
-  public final val f: kotlin/Float
-    public final get
-
-  // getter: i()I
-  public final val i: kotlin/Int
-    public final get
-
-  // getter: j()J
-  public final val j: kotlin/Long
-    public final get
-
-  // getter: s()S
-  public final val s: kotlin/Short
-    public final get
-
-  // getter: z()Z
-  public final val z: kotlin/Boolean
-    public final get
-
-  // module name: test-module
-}
-// Unsigned.class
-// ------------------------------------------
-public final annotation class Unsigned : kotlin/Annotation {
-
-  // signature: <init>(Lkotlin/UInt;Lkotlin/UByte;Lkotlin/UShort;Lkotlin/ULong;)V
-  public constructor(ui: kotlin/UInt = 4294967295u, ub: kotlin/UByte = 0.toUByte(), us: kotlin/UShort = 0.toUShort(), ul: kotlin/ULong = 18446744073709551615uL)
-
-  // getter: ub()B
-  public final val ub: kotlin/UByte
-    public final get
-
-  // getter: ui()I
-  public final val ui: kotlin/UInt
-    public final get
-
-  // getter: ul()J
-  public final val ul: kotlin/ULong
-    public final get
-
-  // getter: us()S
-  public final val us: kotlin/UShort
-    public final get
-
-  // module name: test-module
-}
-// META-INF/test-module.kotlin_module
-// ------------------------------------------
-module {
-}
diff --git a/libraries/tools/kotlinp/jvm/testData/AnnotationParameterDefaultValues.txt b/libraries/tools/kotlinp/jvm/testData/AnnotationParameterDefaultValues.txt
index 52b1227..d439e26 100644
--- a/libraries/tools/kotlinp/jvm/testData/AnnotationParameterDefaultValues.txt
+++ b/libraries/tools/kotlinp/jvm/testData/AnnotationParameterDefaultValues.txt
@@ -16,7 +16,7 @@
 public final annotation class Other : kotlin/Annotation {
 
   // signature: <init>(Ljava/lang/String;Lkotlin/annotation/AnnotationTarget;Lkotlin/reflect/KClass;Lkotlin/reflect/KClass;LB;Lkotlin/Array;Lkotlin/Array;Lkotlin/Array;Lkotlin/Array;)V
-  public constructor(str: kotlin/String /* = ... */, enum: kotlin/annotation/AnnotationTarget /* = ... */, klass: kotlin/reflect/KClass<*> /* = ... */, klass2: kotlin/reflect/KClass<*> /* = ... */, anno: B /* = ... */, stra: kotlin/Array<kotlin/String> /* = ... */, ka: kotlin/Array<kotlin/reflect/KClass<*>> /* = ... */, ea: kotlin/Array<kotlin/annotation/AnnotationTarget> /* = ... */, aa: kotlin/Array<B> /* = ... */)
+  public constructor(str: kotlin/String = "OK", enum: kotlin/annotation/AnnotationTarget = kotlin/annotation/AnnotationTarget.CLASS, klass: kotlin/reflect/KClass<*> = B::class, klass2: kotlin/reflect/KClass<*> = kotlin/IntArray::class, anno: B = B(value = "B"), stra: kotlin/Array<kotlin/String> = ["OK"], ka: kotlin/Array<kotlin/reflect/KClass<*>> = [kotlin/Double::class, kotlin/Unit::class, kotlin/LongArray::class, kotlin/Array<kotlin/String::class>], ea: kotlin/Array<kotlin/annotation/AnnotationTarget> = [kotlin/annotation/AnnotationTarget.TYPEALIAS, kotlin/annotation/AnnotationTarget.FIELD], aa: kotlin/Array<B> = [B(value = "1"), B(value = "2")])
 
   // getter: aa()[LB;
   public final val aa: kotlin/Array<B>
@@ -61,7 +61,7 @@
 public final annotation class PrimitiveArrays : kotlin/Annotation {
 
   // signature: <init>([Z[C[B[S[I[F[J[D)V
-  public constructor(za: kotlin/BooleanArray /* = ... */, ca: kotlin/CharArray /* = ... */, ba: kotlin/ByteArray /* = ... */, sa: kotlin/ShortArray /* = ... */, ia: kotlin/IntArray /* = ... */, fa: kotlin/FloatArray /* = ... */, ja: kotlin/LongArray /* = ... */, da: kotlin/DoubleArray /* = ... */)
+  public constructor(za: kotlin/BooleanArray = [true], ca: kotlin/CharArray = ['c'], ba: kotlin/ByteArray = [1.toByte()], sa: kotlin/ShortArray = [2.toShort()], ia: kotlin/IntArray = [42], fa: kotlin/FloatArray = [3.14f], ja: kotlin/LongArray = [9223372036854775807L], da: kotlin/DoubleArray = [NaN])
 
   // getter: ba()[B
   public final val ba: kotlin/ByteArray
@@ -102,7 +102,7 @@
 public final annotation class Primitives : kotlin/Annotation {
 
   // signature: <init>(ZCBSIFJD)V
-  public constructor(z: kotlin/Boolean /* = ... */, c: kotlin/Char /* = ... */, b: kotlin/Byte /* = ... */, s: kotlin/Short /* = ... */, i: kotlin/Int /* = ... */, f: kotlin/Float /* = ... */, j: kotlin/Long /* = ... */, d: kotlin/Double /* = ... */)
+  public constructor(z: kotlin/Boolean = true, c: kotlin/Char = 'c', b: kotlin/Byte = 1.toByte(), s: kotlin/Short = 2.toShort(), i: kotlin/Int = 42, f: kotlin/Float = 3.14f, j: kotlin/Long = 9223372036854775807L, d: kotlin/Double = NaN)
 
   // getter: b()B
   public final val b: kotlin/Byte
@@ -143,28 +143,20 @@
 public final annotation class Unsigned : kotlin/Annotation {
 
   // signature: <init>(Lkotlin/UInt;Lkotlin/UByte;Lkotlin/UShort;Lkotlin/ULong;)V
-  public constructor(ui: kotlin/UInt /* = ... */, ub: kotlin/UByte /* = ... */, us: kotlin/UShort /* = ... */, ul: kotlin/ULong /* = ... */)
+  public constructor(ui: kotlin/UInt = 4294967295u, ub: kotlin/UByte = 0.toUByte(), us: kotlin/UShort = 0.toUShort(), ul: kotlin/ULong = 18446744073709551615uL)
 
-  // requires compiler version 1.4.30 (level=ERROR)
-  // requires language version 1.4.0 (level=ERROR)
   // getter: ub()B
   public final val ub: kotlin/UByte
     public final get
 
-  // requires compiler version 1.4.30 (level=ERROR)
-  // requires language version 1.4.0 (level=ERROR)
   // getter: ui()I
   public final val ui: kotlin/UInt
     public final get
 
-  // requires compiler version 1.4.30 (level=ERROR)
-  // requires language version 1.4.0 (level=ERROR)
   // getter: ul()J
   public final val ul: kotlin/ULong
     public final get
 
-  // requires compiler version 1.4.30 (level=ERROR)
-  // requires language version 1.4.0 (level=ERROR)
   // getter: us()S
   public final val us: kotlin/UShort
     public final get
diff --git a/libraries/tools/kotlinp/jvm/testData/AnnotationTargets.fir.txt b/libraries/tools/kotlinp/jvm/testData/AnnotationTargets.fir.txt
deleted file mode 100644
index 8ef5395..0000000
--- a/libraries/tools/kotlinp/jvm/testData/AnnotationTargets.fir.txt
+++ /dev/null
@@ -1,123 +0,0 @@
-// A.class
-// ------------------------------------------
-@kotlin/annotation/Target(allowedTargets = [kotlin/annotation/AnnotationTarget.CLASS, kotlin/annotation/AnnotationTarget.TYPE_PARAMETER, kotlin/annotation/AnnotationTarget.PROPERTY, kotlin/annotation/AnnotationTarget.FIELD, kotlin/annotation/AnnotationTarget.LOCAL_VARIABLE, kotlin/annotation/AnnotationTarget.VALUE_PARAMETER, kotlin/annotation/AnnotationTarget.CONSTRUCTOR, kotlin/annotation/AnnotationTarget.FUNCTION, kotlin/annotation/AnnotationTarget.PROPERTY_GETTER, kotlin/annotation/AnnotationTarget.PROPERTY_SETTER, kotlin/annotation/AnnotationTarget.TYPE, kotlin/annotation/AnnotationTarget.TYPEALIAS])
-@kotlin/annotation/Repeatable
-public final annotation class A : kotlin/Annotation {
-
-  // signature: <init>(Ljava/lang/String;)V
-  public constructor(s: kotlin/String)
-
-  // getter: s()Ljava/lang/String;
-  public final val s: kotlin/String
-    public final get
-
-  // module name: test-module
-}
-// A$Container.class
-// ------------------------------------------
-synthetic class
-// AnnotationTargetsKt.class
-// ------------------------------------------
-package {
-
-  // signature: ff(Ljava/lang/Object;)V
-  @receiver:A(s = "fun-receiver")
-  public final fun kotlin/Any.ff(): kotlin/Unit
-
-  // signature: topLevel()V
-  public final fun topLevel(): kotlin/Unit
-
-  // field: pp$delegate:Lkotlin/Lazy;
-  // getter: getPp(Ljava/lang/Object;)I
-  @delegate:A(s = "delegate")
-  @receiver:A(s = "property-receiver")
-  public final /* delegated */ val kotlin/Any.pp: kotlin/Int
-    public final /* non-default */ get
-
-  @A(s = "typealias")
-  public typealias Z = kotlin/String /* = kotlin/String */
-
-  // local delegated property #0
-  // @A(s = "local-delegated-property-in-file")
-  // local final /* delegated */ val ldp: kotlin/Int
-  //   local final get
-
-  // module name: test-module
-}
-// C.class
-// ------------------------------------------
-@A(s = "class-1")
-@A(s = "class-2")
-public final class C<@A(s = "class-type-param") T#0 /* T */> : kotlin/Any {
-
-  // signature: <init>()V
-  @A(s = "secondary-ctor")
-  public /* secondary */ constructor()
-
-  // signature: <init>(I)V
-  @A(s = "primary-ctor")
-  public constructor(@A(s = "ctor-param") p: kotlin/Int)
-
-  // signature: f(Ljava/lang/Object;)V
-  @A(s = "fun")
-  public final fun <@A(s = "fun-type-param") T#1 /* T */> f(@A(s = "fun-param-1") @A(s = "fun-param-2") r: kotlin/Any): @A(s = "return-type") kotlin/Unit
-
-  // field: p:I
-  // getter: getP()I
-  // synthetic method for annotations: getP$annotations()V
-  @A(s = "ctor-property")
-  public final val p: kotlin/Int
-    public final get
-
-  // field: q:I
-  // getter: getQ()I
-  // setter: setQ(I)V
-  // synthetic method for annotations: getQ$annotations()V
-  @A(s = "property")
-  @field:A(s = "field")
-  public final var q: kotlin/Int
-    @A(s = "getter")
-    public final get
-    @A(s = "setter")
-    public final /* non-default */ set(@A(s = "setparam-1") @A(s = "setparam-2") value: kotlin/Int)
-
-  // nested class: Nested
-
-  // local delegated property #0
-  // @A(s = "local-delegated-property-in-class")
-  // local final /* delegated */ val ldp: kotlin/Int
-  //   local final get
-
-  // module name: test-module
-}
-// C$Nested.class
-// ------------------------------------------
-@A(s = "nested-class")
-public final class C.Nested : kotlin/Any {
-
-  // signature: <init>()V
-  public constructor()
-
-  // module name: test-module
-}
-// E.class
-// ------------------------------------------
-public final enum class E : kotlin/Enum<E> {
-
-  // signature: <init>(Ljava/lang/String;I)V
-  private constructor()
-
-  @A(s = "enum-entry")
-  ENTRY,
-
-  // module name: test-module
-
-  // has Enum.entries
-}
-// META-INF/test-module.kotlin_module
-// ------------------------------------------
-module {
-  package <root> {
-    AnnotationTargetsKt
-  }
-}
diff --git a/libraries/tools/kotlinp/jvm/testData/AnnotationTargets.txt b/libraries/tools/kotlinp/jvm/testData/AnnotationTargets.txt
index ac43fdf8..8ef5395 100644
--- a/libraries/tools/kotlinp/jvm/testData/AnnotationTargets.txt
+++ b/libraries/tools/kotlinp/jvm/testData/AnnotationTargets.txt
@@ -1,5 +1,7 @@
 // A.class
 // ------------------------------------------
+@kotlin/annotation/Target(allowedTargets = [kotlin/annotation/AnnotationTarget.CLASS, kotlin/annotation/AnnotationTarget.TYPE_PARAMETER, kotlin/annotation/AnnotationTarget.PROPERTY, kotlin/annotation/AnnotationTarget.FIELD, kotlin/annotation/AnnotationTarget.LOCAL_VARIABLE, kotlin/annotation/AnnotationTarget.VALUE_PARAMETER, kotlin/annotation/AnnotationTarget.CONSTRUCTOR, kotlin/annotation/AnnotationTarget.FUNCTION, kotlin/annotation/AnnotationTarget.PROPERTY_GETTER, kotlin/annotation/AnnotationTarget.PROPERTY_SETTER, kotlin/annotation/AnnotationTarget.TYPE, kotlin/annotation/AnnotationTarget.TYPEALIAS])
+@kotlin/annotation/Repeatable
 public final annotation class A : kotlin/Annotation {
 
   // signature: <init>(Ljava/lang/String;)V
@@ -19,6 +21,7 @@
 package {
 
   // signature: ff(Ljava/lang/Object;)V
+  @receiver:A(s = "fun-receiver")
   public final fun kotlin/Any.ff(): kotlin/Unit
 
   // signature: topLevel()V
@@ -26,6 +29,8 @@
 
   // field: pp$delegate:Lkotlin/Lazy;
   // getter: getPp(Ljava/lang/Object;)I
+  @delegate:A(s = "delegate")
+  @receiver:A(s = "property-receiver")
   public final /* delegated */ val kotlin/Any.pp: kotlin/Int
     public final /* non-default */ get
 
@@ -33,6 +38,7 @@
   public typealias Z = kotlin/String /* = kotlin/String */
 
   // local delegated property #0
+  // @A(s = "local-delegated-property-in-file")
   // local final /* delegated */ val ldp: kotlin/Int
   //   local final get
 
@@ -40,20 +46,26 @@
 }
 // C.class
 // ------------------------------------------
+@A(s = "class-1")
+@A(s = "class-2")
 public final class C<@A(s = "class-type-param") T#0 /* T */> : kotlin/Any {
 
   // signature: <init>()V
+  @A(s = "secondary-ctor")
   public /* secondary */ constructor()
 
   // signature: <init>(I)V
-  public constructor(p: kotlin/Int)
+  @A(s = "primary-ctor")
+  public constructor(@A(s = "ctor-param") p: kotlin/Int)
 
   // signature: f(Ljava/lang/Object;)V
-  public final fun <@A(s = "fun-type-param") T#1 /* T */> f(r: kotlin/Any): @A(s = "return-type") kotlin/Unit
+  @A(s = "fun")
+  public final fun <@A(s = "fun-type-param") T#1 /* T */> f(@A(s = "fun-param-1") @A(s = "fun-param-2") r: kotlin/Any): @A(s = "return-type") kotlin/Unit
 
   // field: p:I
   // getter: getP()I
   // synthetic method for annotations: getP$annotations()V
+  @A(s = "ctor-property")
   public final val p: kotlin/Int
     public final get
 
@@ -61,20 +73,26 @@
   // getter: getQ()I
   // setter: setQ(I)V
   // synthetic method for annotations: getQ$annotations()V
+  @A(s = "property")
+  @field:A(s = "field")
   public final var q: kotlin/Int
-    public final /* non-default */ get
-    public final /* non-default */ set(value: kotlin/Int)
+    @A(s = "getter")
+    public final get
+    @A(s = "setter")
+    public final /* non-default */ set(@A(s = "setparam-1") @A(s = "setparam-2") value: kotlin/Int)
 
   // nested class: Nested
 
   // local delegated property #0
-  // local final /* delegated */ val <@A(s = "fun-type-param") T#0 /* T */, @A(s = "class-type-param") T#1 /* T */> ldp: kotlin/Int
+  // @A(s = "local-delegated-property-in-class")
+  // local final /* delegated */ val ldp: kotlin/Int
   //   local final get
 
   // module name: test-module
 }
 // C$Nested.class
 // ------------------------------------------
+@A(s = "nested-class")
 public final class C.Nested : kotlin/Any {
 
   // signature: <init>()V
@@ -89,6 +107,7 @@
   // signature: <init>(Ljava/lang/String;I)V
   private constructor()
 
+  @A(s = "enum-entry")
   ENTRY,
 
   // module name: test-module
diff --git a/libraries/tools/kotlinp/jvm/testData/AnnotationWithQualifiedExpressionInArgument.fir.txt b/libraries/tools/kotlinp/jvm/testData/AnnotationWithQualifiedExpressionInArgument.fir.txt
deleted file mode 100644
index f324a90..0000000
--- a/libraries/tools/kotlinp/jvm/testData/AnnotationWithQualifiedExpressionInArgument.fir.txt
+++ /dev/null
@@ -1,163 +0,0 @@
-// A.class
-// ------------------------------------------
-@kotlin/annotation/Target(allowedTargets = [kotlin/annotation/AnnotationTarget.TYPE])
-public final annotation class A : kotlin/Annotation {
-
-  // signature: <init>(BSIFJDLkotlin/UInt;Lkotlin/UByte;Lkotlin/UShort;Lkotlin/ULong;)V
-  public constructor(b: kotlin/Byte, s: kotlin/Short, i: kotlin/Int, f: kotlin/Float, j: kotlin/Long, d: kotlin/Double, ui: kotlin/UInt, ub: kotlin/UByte, us: kotlin/UShort, ul: kotlin/ULong)
-
-  // getter: b()B
-  public final val b: kotlin/Byte
-    public final get
-
-  // getter: d()D
-  public final val d: kotlin/Double
-    public final get
-
-  // getter: f()F
-  public final val f: kotlin/Float
-    public final get
-
-  // getter: i()I
-  public final val i: kotlin/Int
-    public final get
-
-  // getter: j()J
-  public final val j: kotlin/Long
-    public final get
-
-  // getter: s()S
-  public final val s: kotlin/Short
-    public final get
-
-  // getter: ub()B
-  public final val ub: kotlin/UByte
-    public final get
-
-  // getter: ui()I
-  public final val ui: kotlin/UInt
-    public final get
-
-  // getter: ul()J
-  public final val ul: kotlin/ULong
-    public final get
-
-  // getter: us()S
-  public final val us: kotlin/UShort
-    public final get
-
-  // module name: test-module
-}
-// Aliased.class
-// ------------------------------------------
-@kotlin/annotation/Target(allowedTargets = [kotlin/annotation/AnnotationTarget.TYPE])
-public final annotation class Aliased : kotlin/Annotation {
-
-  // signature: <init>(BSIFJDLkotlin/UInt;Lkotlin/UByte;Lkotlin/UShort;Lkotlin/ULong;)V
-  public constructor(b: kotlin/Byte /* = Byte0^ */, s: kotlin/Short /* = Short0^ */, i: kotlin/Int /* = Int0^ */, f: kotlin/Float /* = Float0^ */, j: kotlin/Long /* = Long0^ */, d: kotlin/Double /* = Double0^ */, ui: kotlin/UInt /* = UInt0^ */, ub: kotlin/UByte /* = UByte0^ */, us: kotlin/UShort /* = UShort0^ */, ul: kotlin/ULong /* = ULong0^ */)
-
-  // getter: b()B
-  public final val b: kotlin/Byte /* = Byte0^ */
-    public final get
-
-  // getter: d()D
-  public final val d: kotlin/Double /* = Double0^ */
-    public final get
-
-  // getter: f()F
-  public final val f: kotlin/Float /* = Float0^ */
-    public final get
-
-  // getter: i()I
-  public final val i: kotlin/Int /* = Int0^ */
-    public final get
-
-  // getter: j()J
-  public final val j: kotlin/Long /* = Long0^ */
-    public final get
-
-  // getter: s()S
-  public final val s: kotlin/Short /* = Short0^ */
-    public final get
-
-  // getter: ub()B
-  public final val ub: kotlin/UByte /* = UByte0^ */
-    public final get
-
-  // getter: ui()I
-  public final val ui: kotlin/UInt /* = UInt0^ */
-    public final get
-
-  // getter: ul()J
-  public final val ul: kotlin/ULong /* = ULong0^ */
-    public final get
-
-  // getter: us()S
-  public final val us: kotlin/UShort /* = UShort0^ */
-    public final get
-
-  // module name: test-module
-}
-// AnnotationWithQualifiedExpressionInArgumentKt.class
-// ------------------------------------------
-package {
-
-  public typealias Byte0 = kotlin/Byte /* = kotlin/Byte */
-
-  public typealias Double0 = kotlin/Double /* = kotlin/Double */
-
-  public typealias Float0 = kotlin/Float /* = kotlin/Float */
-
-  public typealias Int0 = kotlin/Int /* = kotlin/Int */
-
-  public typealias Long0 = kotlin/Long /* = kotlin/Long */
-
-  public typealias Short0 = kotlin/Short /* = kotlin/Short */
-
-  public typealias UByte0 = kotlin/UByte /* = kotlin/UByte */
-
-  public typealias UInt0 = kotlin/UInt /* = kotlin/UInt */
-
-  public typealias ULong0 = kotlin/ULong /* = kotlin/ULong */
-
-  public typealias UShort0 = kotlin/UShort /* = kotlin/UShort */
-
-  // module name: test-module
-}
-// C.class
-// ------------------------------------------
-public final class C : kotlin/Any {
-
-  // signature: <init>()V
-  public constructor()
-
-  // signature: maxValues()V
-  public final fun maxValues(): @A(b = 127.toByte(), s = 32767.toShort(), i = 2147483647, f = 3.4028235E38f, j = 9223372036854775807L, d = 1.7976931348623157E308, ui = 4294967295u, ub = 255.toUByte(), us = 65535.toUShort(), ul = 18446744073709551615uL) kotlin/Unit
-
-  // signature: minValues()V
-  public final fun minValues(): @A(b = -128.toByte(), s = -32768.toShort(), i = -2147483648, f = 1.4E-45f, j = -9223372036854775808L, d = 4.9E-324, ui = 0u, ub = 0.toUByte(), us = 0.toUShort(), ul = 0uL) kotlin/Unit
-
-  // module name: test-module
-}
-// D.class
-// ------------------------------------------
-public final class D : kotlin/Any {
-
-  // signature: <init>()V
-  public constructor()
-
-  // signature: maxValues()V
-  public final fun maxValues(): @Aliased(b = 127.toByte(), s = 32767.toShort(), i = 2147483647, f = 3.4028235E38f, j = 9223372036854775807L, d = 1.7976931348623157E308, ui = 4294967295u, ub = 255.toUByte(), us = 65535.toUShort(), ul = 18446744073709551615uL) kotlin/Unit
-
-  // signature: minValues()V
-  public final fun minValues(): @Aliased(b = -128.toByte(), s = -32768.toShort(), i = -2147483648, f = 1.4E-45f, j = -9223372036854775808L, d = 4.9E-324, ui = 0u, ub = 0.toUByte(), us = 0.toUShort(), ul = 0uL) kotlin/Unit
-
-  // module name: test-module
-}
-// META-INF/test-module.kotlin_module
-// ------------------------------------------
-module {
-  package <root> {
-    AnnotationWithQualifiedExpressionInArgumentKt
-  }
-}
diff --git a/libraries/tools/kotlinp/jvm/testData/AnnotationWithQualifiedExpressionInArgument.txt b/libraries/tools/kotlinp/jvm/testData/AnnotationWithQualifiedExpressionInArgument.txt
index 0a18c63..f324a90 100644
--- a/libraries/tools/kotlinp/jvm/testData/AnnotationWithQualifiedExpressionInArgument.txt
+++ b/libraries/tools/kotlinp/jvm/testData/AnnotationWithQualifiedExpressionInArgument.txt
@@ -1,5 +1,6 @@
 // A.class
 // ------------------------------------------
+@kotlin/annotation/Target(allowedTargets = [kotlin/annotation/AnnotationTarget.TYPE])
 public final annotation class A : kotlin/Annotation {
 
   // signature: <init>(BSIFJDLkotlin/UInt;Lkotlin/UByte;Lkotlin/UShort;Lkotlin/ULong;)V
@@ -29,26 +30,18 @@
   public final val s: kotlin/Short
     public final get
 
-  // requires compiler version 1.4.30 (level=ERROR)
-  // requires language version 1.4.0 (level=ERROR)
   // getter: ub()B
   public final val ub: kotlin/UByte
     public final get
 
-  // requires compiler version 1.4.30 (level=ERROR)
-  // requires language version 1.4.0 (level=ERROR)
   // getter: ui()I
   public final val ui: kotlin/UInt
     public final get
 
-  // requires compiler version 1.4.30 (level=ERROR)
-  // requires language version 1.4.0 (level=ERROR)
   // getter: ul()J
   public final val ul: kotlin/ULong
     public final get
 
-  // requires compiler version 1.4.30 (level=ERROR)
-  // requires language version 1.4.0 (level=ERROR)
   // getter: us()S
   public final val us: kotlin/UShort
     public final get
@@ -57,6 +50,7 @@
 }
 // Aliased.class
 // ------------------------------------------
+@kotlin/annotation/Target(allowedTargets = [kotlin/annotation/AnnotationTarget.TYPE])
 public final annotation class Aliased : kotlin/Annotation {
 
   // signature: <init>(BSIFJDLkotlin/UInt;Lkotlin/UByte;Lkotlin/UShort;Lkotlin/ULong;)V
@@ -86,26 +80,18 @@
   public final val s: kotlin/Short /* = Short0^ */
     public final get
 
-  // requires compiler version 1.4.30 (level=ERROR)
-  // requires language version 1.4.0 (level=ERROR)
   // getter: ub()B
   public final val ub: kotlin/UByte /* = UByte0^ */
     public final get
 
-  // requires compiler version 1.4.30 (level=ERROR)
-  // requires language version 1.4.0 (level=ERROR)
   // getter: ui()I
   public final val ui: kotlin/UInt /* = UInt0^ */
     public final get
 
-  // requires compiler version 1.4.30 (level=ERROR)
-  // requires language version 1.4.0 (level=ERROR)
   // getter: ul()J
   public final val ul: kotlin/ULong /* = ULong0^ */
     public final get
 
-  // requires compiler version 1.4.30 (level=ERROR)
-  // requires language version 1.4.0 (level=ERROR)
   // getter: us()S
   public final val us: kotlin/UShort /* = UShort0^ */
     public final get
diff --git a/libraries/tools/kotlinp/jvm/testData/Annotations.fir.txt b/libraries/tools/kotlinp/jvm/testData/Annotations.fir.txt
deleted file mode 100644
index fff0edc..0000000
--- a/libraries/tools/kotlinp/jvm/testData/Annotations.fir.txt
+++ /dev/null
@@ -1,189 +0,0 @@
-// A.class
-// ------------------------------------------
-@kotlin/annotation/Target(allowedTargets = [kotlin/annotation/AnnotationTarget.TYPE])
-public final annotation class A : kotlin/Annotation {
-
-  // signature: <init>(ZCBSIFJDLkotlin/UInt;Lkotlin/UByte;Lkotlin/UShort;Lkotlin/ULong;Lkotlin/UInt;Lkotlin/UByte;Lkotlin/UShort;Lkotlin/ULong;[Z[C[B[S[I[F[J[DLjava/lang/String;Lkotlin/annotation/AnnotationTarget;Lkotlin/reflect/KClass;Lkotlin/reflect/KClass;LB;Lkotlin/Array;Lkotlin/Array;Lkotlin/Array;Lkotlin/Array;)V
-  public constructor(z: kotlin/Boolean, c: kotlin/Char, b: kotlin/Byte, s: kotlin/Short, i: kotlin/Int, f: kotlin/Float, j: kotlin/Long, d: kotlin/Double, ui: kotlin/UInt, ub: kotlin/UByte, us: kotlin/UShort, ul: kotlin/ULong, ui_max: kotlin/UInt, ub_max: kotlin/UByte, us_max: kotlin/UShort, ul_max: kotlin/ULong, za: kotlin/BooleanArray, ca: kotlin/CharArray, ba: kotlin/ByteArray, sa: kotlin/ShortArray, ia: kotlin/IntArray, fa: kotlin/FloatArray, ja: kotlin/LongArray, da: kotlin/DoubleArray, str: kotlin/String, enum: kotlin/annotation/AnnotationTarget, klass: kotlin/reflect/KClass<*>, klass2: kotlin/reflect/KClass<*>, anno: B, stra: kotlin/Array<kotlin/String>, ka: kotlin/Array<kotlin/reflect/KClass<*>>, ea: kotlin/Array<kotlin/annotation/AnnotationTarget>, aa: kotlin/Array<B>)
-
-  // getter: aa()[LB;
-  public final val aa: kotlin/Array<B>
-    public final get
-
-  // getter: anno()LB;
-  public final val anno: B
-    public final get
-
-  // getter: b()B
-  public final val b: kotlin/Byte
-    public final get
-
-  // getter: ba()[B
-  public final val ba: kotlin/ByteArray
-    public final get
-
-  // getter: c()C
-  public final val c: kotlin/Char
-    public final get
-
-  // getter: ca()[C
-  public final val ca: kotlin/CharArray
-    public final get
-
-  // getter: d()D
-  public final val d: kotlin/Double
-    public final get
-
-  // getter: da()[D
-  public final val da: kotlin/DoubleArray
-    public final get
-
-  // getter: ea()[Lkotlin/annotation/AnnotationTarget;
-  public final val ea: kotlin/Array<kotlin/annotation/AnnotationTarget>
-    public final get
-
-  // getter: enum()Lkotlin/annotation/AnnotationTarget;
-  public final val enum: kotlin/annotation/AnnotationTarget
-    public final get
-
-  // getter: f()F
-  public final val f: kotlin/Float
-    public final get
-
-  // getter: fa()[F
-  public final val fa: kotlin/FloatArray
-    public final get
-
-  // getter: i()I
-  public final val i: kotlin/Int
-    public final get
-
-  // getter: ia()[I
-  public final val ia: kotlin/IntArray
-    public final get
-
-  // getter: j()J
-  public final val j: kotlin/Long
-    public final get
-
-  // getter: ja()[J
-  public final val ja: kotlin/LongArray
-    public final get
-
-  // getter: ka()[Ljava/lang/Class;
-  public final val ka: kotlin/Array<kotlin/reflect/KClass<*>>
-    public final get
-
-  // getter: klass()Ljava/lang/Class;
-  public final val klass: kotlin/reflect/KClass<*>
-    public final get
-
-  // getter: klass2()Ljava/lang/Class;
-  public final val klass2: kotlin/reflect/KClass<*>
-    public final get
-
-  // getter: s()S
-  public final val s: kotlin/Short
-    public final get
-
-  // getter: sa()[S
-  public final val sa: kotlin/ShortArray
-    public final get
-
-  // getter: str()Ljava/lang/String;
-  public final val str: kotlin/String
-    public final get
-
-  // getter: stra()[Ljava/lang/String;
-  public final val stra: kotlin/Array<kotlin/String>
-    public final get
-
-  // getter: ub()B
-  public final val ub: kotlin/UByte
-    public final get
-
-  // getter: ub_max()B
-  public final val ub_max: kotlin/UByte
-    public final get
-
-  // getter: ui()I
-  public final val ui: kotlin/UInt
-    public final get
-
-  // getter: ui_max()I
-  public final val ui_max: kotlin/UInt
-    public final get
-
-  // getter: ul()J
-  public final val ul: kotlin/ULong
-    public final get
-
-  // getter: ul_max()J
-  public final val ul_max: kotlin/ULong
-    public final get
-
-  // getter: us()S
-  public final val us: kotlin/UShort
-    public final get
-
-  // getter: us_max()S
-  public final val us_max: kotlin/UShort
-    public final get
-
-  // getter: z()Z
-  public final val z: kotlin/Boolean
-    public final get
-
-  // getter: za()[Z
-  public final val za: kotlin/BooleanArray
-    public final get
-
-  // module name: test-module
-}
-// B.class
-// ------------------------------------------
-public final annotation class B : kotlin/Annotation {
-
-  // signature: <init>(Ljava/lang/String;)V
-  public constructor(value: kotlin/String)
-
-  // getter: value()Ljava/lang/String;
-  public final val value: kotlin/String
-    public final get
-
-  // module name: test-module
-}
-// C.class
-// ------------------------------------------
-public final class C : kotlin/Any {
-
-  // signature: <init>()V
-  public constructor()
-
-  // signature: parameterTypeAnnotation(Ljava/lang/Object;)Ljava/lang/Object;
-  public final fun parameterTypeAnnotation(p: @JvmNamed(value = "Q_Q") kotlin/Any): kotlin/Any
-
-  // signature: returnTypeAnnotation()V
-  public final fun returnTypeAnnotation(): @A(z = true, c = 'x', b = 1.toByte(), s = 42.toShort(), i = 42424242, f = -2.72f, j = 239239239239239L, d = 3.14, ui = 1u, ub = 255.toUByte(), us = 3.toUShort(), ul = 4uL, ui_max = 4294967295u, ub_max = 255.toUByte(), us_max = 65535.toUShort(), ul_max = 18446744073709551615uL, za = [true], ca = ['\''], ba = [1.toByte()], sa = [42.toShort()], ia = [42424242], fa = [-2.72f], ja = [239239239239239L], da = [3.14], str = "aba\ncaba'\"\t\u0001\u0002ê™®", enum = kotlin/annotation/AnnotationTarget.CLASS, klass = C::class, klass2 = kotlin/IntArray::class, anno = B(value = "aba\ncaba'\"\t\u0001\u0002ê™®"), stra = ["lmao"], ka = [kotlin/Double::class, kotlin/Unit::class, kotlin/LongArray::class, kotlin/Array<kotlin/String::class>], ea = [kotlin/annotation/AnnotationTarget.TYPEALIAS, kotlin/annotation/AnnotationTarget.FIELD], aa = [B(value = "2"), B(value = "3")]) kotlin/Unit
-
-  // module name: test-module
-}
-// JvmNamed.class
-// ------------------------------------------
-@kotlin/annotation/Target(allowedTargets = [kotlin/annotation/AnnotationTarget.TYPE])
-public final annotation class JvmNamed : kotlin/Annotation {
-
-  // signature: <init>(Ljava/lang/String;)V
-  public constructor(value: kotlin/String)
-
-  // getter: uglyJvmName()Ljava/lang/String;
-  public final val value: kotlin/String
-    @kotlin/jvm/JvmName(name = "uglyJvmName")
-    public final get
-
-  // module name: test-module
-}
-// META-INF/test-module.kotlin_module
-// ------------------------------------------
-module {
-}
diff --git a/libraries/tools/kotlinp/jvm/testData/Annotations.txt b/libraries/tools/kotlinp/jvm/testData/Annotations.txt
index 55f9de5..fff0edc 100644
--- a/libraries/tools/kotlinp/jvm/testData/Annotations.txt
+++ b/libraries/tools/kotlinp/jvm/testData/Annotations.txt
@@ -1,5 +1,6 @@
 // A.class
 // ------------------------------------------
+@kotlin/annotation/Target(allowedTargets = [kotlin/annotation/AnnotationTarget.TYPE])
 public final annotation class A : kotlin/Annotation {
 
   // signature: <init>(ZCBSIFJDLkotlin/UInt;Lkotlin/UByte;Lkotlin/UShort;Lkotlin/ULong;Lkotlin/UInt;Lkotlin/UByte;Lkotlin/UShort;Lkotlin/ULong;[Z[C[B[S[I[F[J[DLjava/lang/String;Lkotlin/annotation/AnnotationTarget;Lkotlin/reflect/KClass;Lkotlin/reflect/KClass;LB;Lkotlin/Array;Lkotlin/Array;Lkotlin/Array;Lkotlin/Array;)V
@@ -97,50 +98,34 @@
   public final val stra: kotlin/Array<kotlin/String>
     public final get
 
-  // requires compiler version 1.4.30 (level=ERROR)
-  // requires language version 1.4.0 (level=ERROR)
   // getter: ub()B
   public final val ub: kotlin/UByte
     public final get
 
-  // requires compiler version 1.4.30 (level=ERROR)
-  // requires language version 1.4.0 (level=ERROR)
   // getter: ub_max()B
   public final val ub_max: kotlin/UByte
     public final get
 
-  // requires compiler version 1.4.30 (level=ERROR)
-  // requires language version 1.4.0 (level=ERROR)
   // getter: ui()I
   public final val ui: kotlin/UInt
     public final get
 
-  // requires compiler version 1.4.30 (level=ERROR)
-  // requires language version 1.4.0 (level=ERROR)
   // getter: ui_max()I
   public final val ui_max: kotlin/UInt
     public final get
 
-  // requires compiler version 1.4.30 (level=ERROR)
-  // requires language version 1.4.0 (level=ERROR)
   // getter: ul()J
   public final val ul: kotlin/ULong
     public final get
 
-  // requires compiler version 1.4.30 (level=ERROR)
-  // requires language version 1.4.0 (level=ERROR)
   // getter: ul_max()J
   public final val ul_max: kotlin/ULong
     public final get
 
-  // requires compiler version 1.4.30 (level=ERROR)
-  // requires language version 1.4.0 (level=ERROR)
   // getter: us()S
   public final val us: kotlin/UShort
     public final get
 
-  // requires compiler version 1.4.30 (level=ERROR)
-  // requires language version 1.4.0 (level=ERROR)
   // getter: us_max()S
   public final val us_max: kotlin/UShort
     public final get
@@ -185,6 +170,7 @@
 }
 // JvmNamed.class
 // ------------------------------------------
+@kotlin/annotation/Target(allowedTargets = [kotlin/annotation/AnnotationTarget.TYPE])
 public final annotation class JvmNamed : kotlin/Annotation {
 
   // signature: <init>(Ljava/lang/String;)V
@@ -192,6 +178,7 @@
 
   // getter: uglyJvmName()Ljava/lang/String;
   public final val value: kotlin/String
+    @kotlin/jvm/JvmName(name = "uglyJvmName")
     public final get
 
   // module name: test-module
diff --git a/libraries/tools/kotlinp/jvm/testData/Delegation.fir.txt b/libraries/tools/kotlinp/jvm/testData/Delegation.fir.txt
deleted file mode 100644
index 14ac9619..0000000
--- a/libraries/tools/kotlinp/jvm/testData/Delegation.fir.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-// A.class
-// ------------------------------------------
-public final class A : I {
-
-  // signature: <init>(LI;)V
-  public constructor(i: I)
-
-  // signature: foo()V
-  public open /* delegation */ fun foo(): kotlin/Unit
-
-  // module name: test-module
-}
-// I.class
-// ------------------------------------------
-public abstract interface I : kotlin/Any {
-
-  // signature: foo()V
-  public abstract fun foo(): kotlin/Unit
-
-  // module name: test-module
-
-  // has method bodies in interface
-
-  // is compiled in compatibility mode
-}
-// META-INF/test-module.kotlin_module
-// ------------------------------------------
-module {
-}
diff --git a/libraries/tools/kotlinp/jvm/testData/Delegation.txt b/libraries/tools/kotlinp/jvm/testData/Delegation.txt
index f3f607d..14ac9619 100644
--- a/libraries/tools/kotlinp/jvm/testData/Delegation.txt
+++ b/libraries/tools/kotlinp/jvm/testData/Delegation.txt
@@ -18,6 +18,10 @@
   public abstract fun foo(): kotlin/Unit
 
   // module name: test-module
+
+  // has method bodies in interface
+
+  // is compiled in compatibility mode
 }
 // META-INF/test-module.kotlin_module
 // ------------------------------------------
diff --git a/libraries/tools/kotlinp/jvm/testData/FunInterface.fir.txt b/libraries/tools/kotlinp/jvm/testData/FunInterface.fir.txt
deleted file mode 100644
index db9c273..0000000
--- a/libraries/tools/kotlinp/jvm/testData/FunInterface.fir.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-// F.class
-// ------------------------------------------
-public abstract fun interface F : kotlin/Any {
-
-  // signature: f(Ljava/lang/String;I)V
-  public abstract fun kotlin/String.f(x: kotlin/Int): kotlin/Unit
-
-  // module name: test-module
-
-  // has method bodies in interface
-
-  // is compiled in compatibility mode
-}
-// META-INF/test-module.kotlin_module
-// ------------------------------------------
-module {
-}
diff --git a/libraries/tools/kotlinp/jvm/testData/FunInterface.txt b/libraries/tools/kotlinp/jvm/testData/FunInterface.txt
index bc1372f..db9c273 100644
--- a/libraries/tools/kotlinp/jvm/testData/FunInterface.txt
+++ b/libraries/tools/kotlinp/jvm/testData/FunInterface.txt
@@ -6,6 +6,10 @@
   public abstract fun kotlin/String.f(x: kotlin/Int): kotlin/Unit
 
   // module name: test-module
+
+  // has method bodies in interface
+
+  // is compiled in compatibility mode
 }
 // META-INF/test-module.kotlin_module
 // ------------------------------------------
diff --git a/libraries/tools/kotlinp/jvm/testData/IntersectionTypeInLambdaLiteralAndDelegatedProperty.fir.txt b/libraries/tools/kotlinp/jvm/testData/IntersectionTypeInLambdaLiteralAndDelegatedProperty.fir.txt
deleted file mode 100644
index d31ded9..0000000
--- a/libraries/tools/kotlinp/jvm/testData/IntersectionTypeInLambdaLiteralAndDelegatedProperty.fir.txt
+++ /dev/null
@@ -1,98 +0,0 @@
-// A.class
-// ------------------------------------------
-public abstract interface A : kotlin/Any {
-
-  // module name: test-module
-
-  // has method bodies in interface
-
-  // is compiled in compatibility mode
-}
-// B.class
-// ------------------------------------------
-public abstract interface B : kotlin/Any {
-
-  // module name: test-module
-
-  // has method bodies in interface
-
-  // is compiled in compatibility mode
-}
-// Delegate.class
-// ------------------------------------------
-public final class Delegate<T#0 /* T */> : kotlin/Any {
-
-  // signature: <init>()V
-  public constructor()
-
-  // signature: getValue(Ljava/lang/Object;Lkotlin/reflect/KProperty;)Ljava/lang/Object;
-  public final operator fun getValue(thisRef: kotlin/Any?, property: kotlin/reflect/KProperty<*>): T#0
-
-  // signature: setValue(Ljava/lang/Object;Lkotlin/reflect/KProperty;Ljava/lang/Object;)V
-  public final operator fun setValue(thisRef: kotlin/Any?, property: kotlin/reflect/KProperty<*>, value: T#0): kotlin/Unit
-
-  // module name: test-module
-}
-// IntersectionTypeInLambdaLiteralAndDelegatedPropertyKt.class
-// ------------------------------------------
-package {
-
-  // signature: createDelegate(Lkotlin/jvm/functions/Function0;)LDelegate;
-  public final fun <T#0 /* T */> createDelegate(f: kotlin/Function0<T#0>): Delegate<T#0>
-
-  // signature: intersection(LInv;LInv;)Ljava/lang/Object;
-  public final fun <T#0 /* S */> intersection(x: Inv<in T#0>, y: Inv<in T#0>): T#0
-
-  // signature: test(LInv;LInv;)V
-  public final fun test(a: Inv<A>, b: Inv<B>): kotlin/Unit
-
-  // signature: use(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)V
-  public final fun <T#0 /* K */> use(k: T#0, f: @kotlin/ExtensionFunctionType kotlin/Function2<T#0, T#0, T#0>): kotlin/Unit
-
-  // signature: useNested(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)V
-  public final fun <T#0 /* K */> useNested(k: T#0, f: @kotlin/ExtensionFunctionType kotlin/Function2<Inv<T#0>, Inv<T#0>, Inv<T#0>>): kotlin/Unit
-
-  // local delegated property #0
-  // local final /* delegated */ var d: kotlin/Any
-  //   local final get
-  //   local final set
-
-  // module name: test-module
-}
-// IntersectionTypeInLambdaLiteralAndDelegatedPropertyKt$test$1.class
-// ------------------------------------------
-lambda {
-
-  // signature: invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-  local final fun kotlin/Nothing.<anonymous>(it: kotlin/Nothing): kotlin/Any
-}
-// IntersectionTypeInLambdaLiteralAndDelegatedPropertyKt$test$2.class
-// ------------------------------------------
-lambda {
-
-  // signature: invoke(LInv;LInv;)LInv;
-  local final fun kotlin/Nothing.<anonymous>(it: kotlin/Nothing): Inv<out kotlin/Any>
-}
-// IntersectionTypeInLambdaLiteralAndDelegatedPropertyKt$test$d$2.class
-// ------------------------------------------
-lambda {
-
-  // signature: invoke()Ljava/lang/Object;
-  local final fun <anonymous>(): kotlin/Any
-}
-// Inv.class
-// ------------------------------------------
-public final class Inv<T#0 /* T */> : kotlin/Any {
-
-  // signature: <init>(Ljava/lang/Object;)V
-  public constructor(e: T#0)
-
-  // module name: test-module
-}
-// META-INF/test-module.kotlin_module
-// ------------------------------------------
-module {
-  package <root> {
-    IntersectionTypeInLambdaLiteralAndDelegatedPropertyKt
-  }
-}
diff --git a/libraries/tools/kotlinp/jvm/testData/IntersectionTypeInLambdaLiteralAndDelegatedProperty.txt b/libraries/tools/kotlinp/jvm/testData/IntersectionTypeInLambdaLiteralAndDelegatedProperty.txt
index a180f58..d31ded9 100644
--- a/libraries/tools/kotlinp/jvm/testData/IntersectionTypeInLambdaLiteralAndDelegatedProperty.txt
+++ b/libraries/tools/kotlinp/jvm/testData/IntersectionTypeInLambdaLiteralAndDelegatedProperty.txt
@@ -3,12 +3,20 @@
 public abstract interface A : kotlin/Any {
 
   // module name: test-module
+
+  // has method bodies in interface
+
+  // is compiled in compatibility mode
 }
 // B.class
 // ------------------------------------------
 public abstract interface B : kotlin/Any {
 
   // module name: test-module
+
+  // has method bodies in interface
+
+  // is compiled in compatibility mode
 }
 // Delegate.class
 // ------------------------------------------
diff --git a/libraries/tools/kotlinp/jvm/testData/NestedClasses.fir.txt b/libraries/tools/kotlinp/jvm/testData/NestedClasses.fir.txt
deleted file mode 100644
index 691a2f0..0000000
--- a/libraries/tools/kotlinp/jvm/testData/NestedClasses.fir.txt
+++ /dev/null
@@ -1,92 +0,0 @@
-// A.class
-// ------------------------------------------
-public abstract interface A : kotlin/Any {
-
-  // companion object: D
-
-  // nested class: B
-
-  // nested class: D
-
-  // module name: test-module
-
-  // has method bodies in interface
-
-  // is compiled in compatibility mode
-}
-// A$B.class
-// ------------------------------------------
-public abstract interface A.B : kotlin/Any {
-
-  // nested class: C
-
-  // module name: test-module
-
-  // has method bodies in interface
-
-  // is compiled in compatibility mode
-}
-// A$B$C.class
-// ------------------------------------------
-public abstract interface A.B.C : kotlin/Any {
-
-  // module name: test-module
-
-  // has method bodies in interface
-
-  // is compiled in compatibility mode
-}
-// A$D.class
-// ------------------------------------------
-public final companion object A.D : kotlin/Any {
-
-  // signature: <init>()V
-  private constructor()
-
-  // nested class: E
-
-  // nested class: F
-
-  // module name: test-module
-}
-// A$D$E.class
-// ------------------------------------------
-public final enum class A.D.E : kotlin/Enum<A.D.E> {
-
-  // signature: <init>(Ljava/lang/String;I)V
-  private constructor()
-
-  E1,
-
-  E2,
-
-  // module name: test-module
-
-  // has Enum.entries
-}
-// A$D$F.class
-// ------------------------------------------
-public sealed class A.D.F : kotlin/Any {
-
-  // signature: <init>()V
-  protected constructor()
-
-  // nested class: G
-
-  // sealed subclass: A.D.F.G
-
-  // module name: test-module
-}
-// A$D$F$G.class
-// ------------------------------------------
-public final class A.D.F.G : A.D.F {
-
-  // signature: <init>()V
-  public constructor()
-
-  // module name: test-module
-}
-// META-INF/test-module.kotlin_module
-// ------------------------------------------
-module {
-}
diff --git a/libraries/tools/kotlinp/jvm/testData/NestedClasses.txt b/libraries/tools/kotlinp/jvm/testData/NestedClasses.txt
index 760e0db..691a2f0 100644
--- a/libraries/tools/kotlinp/jvm/testData/NestedClasses.txt
+++ b/libraries/tools/kotlinp/jvm/testData/NestedClasses.txt
@@ -9,6 +9,10 @@
   // nested class: D
 
   // module name: test-module
+
+  // has method bodies in interface
+
+  // is compiled in compatibility mode
 }
 // A$B.class
 // ------------------------------------------
@@ -17,12 +21,20 @@
   // nested class: C
 
   // module name: test-module
+
+  // has method bodies in interface
+
+  // is compiled in compatibility mode
 }
 // A$B$C.class
 // ------------------------------------------
 public abstract interface A.B.C : kotlin/Any {
 
   // module name: test-module
+
+  // has method bodies in interface
+
+  // is compiled in compatibility mode
 }
 // A$D.class
 // ------------------------------------------
diff --git a/libraries/tools/kotlinp/jvm/testData/NestedTypeAlias.fir.txt b/libraries/tools/kotlinp/jvm/testData/NestedTypeAlias.txt
similarity index 100%
rename from libraries/tools/kotlinp/jvm/testData/NestedTypeAlias.fir.txt
rename to libraries/tools/kotlinp/jvm/testData/NestedTypeAlias.txt
diff --git a/libraries/tools/kotlinp/jvm/testData/OptionalAnnotation.fir.txt b/libraries/tools/kotlinp/jvm/testData/OptionalAnnotation.fir.txt
deleted file mode 100644
index 7ac13b9..0000000
--- a/libraries/tools/kotlinp/jvm/testData/OptionalAnnotation.fir.txt
+++ /dev/null
@@ -1,59 +0,0 @@
-// test/CommonKt.class
-// ------------------------------------------
-package {
-
-  // signature: ok()V
-  @test/D
-  public final fun ok(): kotlin/Unit
-
-  // module name: jvm
-}
-// test/D.class
-// ------------------------------------------
-public final annotation class test/D : kotlin/Annotation {
-
-  // signature: <init>()V
-  public constructor()
-
-  // module name: jvm
-}
-// META-INF/jvm.kotlin_module
-// ------------------------------------------
-module {
-  package test {
-    test/CommonKt
-  }
-
-  // Optional annotations
-
-  @kotlin/OptionalExpectation
-  public final expect annotation class test/A : kotlin/Annotation {
-
-    // signature: <init>(I)V
-    public constructor(x: kotlin/Int)
-
-    public final expect val x: kotlin/Int
-      public final get
-
-    // module name: main
-  }
-  @kotlin/OptionalExpectation
-  public final expect annotation class test/B : kotlin/Annotation {
-
-    // signature: <init>(Lkotlin/Array;)V
-    public constructor(a: kotlin/Array<kotlin/String>)
-
-    public final expect val a: kotlin/Array<kotlin/String>
-      public final get
-
-    // module name: main
-  }
-  @kotlin/OptionalExpectation
-  public final expect annotation class test/C : kotlin/Annotation {
-
-    // signature: <init>()V
-    public constructor()
-
-    // module name: main
-  }
-}
diff --git a/libraries/tools/kotlinp/jvm/testData/OptionalAnnotation.txt b/libraries/tools/kotlinp/jvm/testData/OptionalAnnotation.txt
index 392b6b8..7ac13b9 100644
--- a/libraries/tools/kotlinp/jvm/testData/OptionalAnnotation.txt
+++ b/libraries/tools/kotlinp/jvm/testData/OptionalAnnotation.txt
@@ -1,3 +1,13 @@
+// test/CommonKt.class
+// ------------------------------------------
+package {
+
+  // signature: ok()V
+  @test/D
+  public final fun ok(): kotlin/Unit
+
+  // module name: jvm
+}
 // test/D.class
 // ------------------------------------------
 public final annotation class test/D : kotlin/Annotation {
@@ -5,22 +15,13 @@
   // signature: <init>()V
   public constructor()
 
-  // module name: test-module
+  // module name: jvm
 }
-// test/OptionalAnnotationKt.class
-// ------------------------------------------
-package {
-
-  // signature: ok()V
-  public final fun ok(): kotlin/Unit
-
-  // module name: test-module
-}
-// META-INF/test-module.kotlin_module
+// META-INF/jvm.kotlin_module
 // ------------------------------------------
 module {
   package test {
-    test/OptionalAnnotationKt
+    test/CommonKt
   }
 
   // Optional annotations
diff --git a/libraries/tools/kotlinp/jvm/testData/SimpleClass.fir.txt b/libraries/tools/kotlinp/jvm/testData/SimpleClass.fir.txt
deleted file mode 100644
index ae35134..0000000
--- a/libraries/tools/kotlinp/jvm/testData/SimpleClass.fir.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-// SimpleClass.class
-// ------------------------------------------
-public final class SimpleClass<in T#0 /* A */> : kotlin/Any {
-
-  // signature: <init>(I)V
-  public constructor(p: kotlin/Int /* = ... */)
-
-  // signature: <init>([Ljava/lang/String;)V
-  public /* secondary */ constructor(s: kotlin/Array<kotlin/String?>?)
-
-  // signature: f$test_module(Ljava/lang/Object;[Ljava/util/Map;)Ljava/util/Set;
-  internal final fun <T#1 /* U */ : T#3, T#2 /* V */ : T#3, T#3 /* A */> T#3.f(vararg z: kotlin/collections/Map<T#2, T#1?> /* kotlin/Array<out kotlin/collections/Map<T#2, T#1?>> */): kotlin/collections/Set<*>
-
-  // signature: g(Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
-  protected final inline suspend fun <reified T#1 /* T */> g(crossinline a: kotlin/Function0<T#0>, noinline b: suspend kotlin/Function1<kotlin/coroutines/Continuation<T#1>, kotlin/Any?>): kotlin/Unit
-
-  // field: p:I
-  // getter: getP()I
-  public final val p: kotlin/Int
-    public final get
-
-  // field: x:J
-  // getter: getX()J
-  // setter: SET_X(J)V
-  public final var x: kotlin/Long
-    public final /* non-default */ external get
-    @kotlin/jvm/JvmName(name = "SET_X")
-    public final set
-
-  // module name: test-module
-}
-// META-INF/test-module.kotlin_module
-// ------------------------------------------
-module {
-}
diff --git a/libraries/tools/kotlinp/jvm/testData/SimpleClass.txt b/libraries/tools/kotlinp/jvm/testData/SimpleClass.txt
index 36ea50f..ae35134 100644
--- a/libraries/tools/kotlinp/jvm/testData/SimpleClass.txt
+++ b/libraries/tools/kotlinp/jvm/testData/SimpleClass.txt
@@ -24,7 +24,8 @@
   // setter: SET_X(J)V
   public final var x: kotlin/Long
     public final /* non-default */ external get
-    public final /* non-default */ set(<set-?>: kotlin/Long)
+    @kotlin/jvm/JvmName(name = "SET_X")
+    public final set
 
   // module name: test-module
 }
diff --git a/libraries/tools/kotlinp/jvm/testData/SimplePackage.fir.txt b/libraries/tools/kotlinp/jvm/testData/SimplePackage.fir.txt
deleted file mode 100644
index 0cab297..0000000
--- a/libraries/tools/kotlinp/jvm/testData/SimplePackage.fir.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-// SimplePackageKt.class
-// ------------------------------------------
-package {
-
-  // signature: topLevelFun(Ljava/lang/Object;)Lkotlin/reflect/KClass;
-  internal final inline fun <reified T#0 /* X */ : kotlin/Any> topLevelFun(x: T#0): kotlin/reflect/KClass<T#0>
-
-  // field: topLevelProp:Ljava/lang/String;
-  // getter: getTopLevelProp()Ljava/lang/String;
-  public final var topLevelProp: kotlin/String?
-    public final get
-    private final /* non-default */ set(value: kotlin/String?)
-
-  // module name: test-module
-}
-// META-INF/test-module.kotlin_module
-// ------------------------------------------
-module {
-  package <root> {
-    SimplePackageKt
-  }
-}
diff --git a/libraries/tools/kotlinp/jvm/testData/SimplePackage.txt b/libraries/tools/kotlinp/jvm/testData/SimplePackage.txt
index 322b7eb..0cab297 100644
--- a/libraries/tools/kotlinp/jvm/testData/SimplePackage.txt
+++ b/libraries/tools/kotlinp/jvm/testData/SimplePackage.txt
@@ -9,7 +9,7 @@
   // getter: getTopLevelProp()Ljava/lang/String;
   public final var topLevelProp: kotlin/String?
     public final get
-    private final /* non-default */ set(<set-?>: kotlin/String?)
+    private final /* non-default */ set(value: kotlin/String?)
 
   // module name: test-module
 }
diff --git a/libraries/tools/kotlinp/jvm/testData/TypeAlias.fir.txt b/libraries/tools/kotlinp/jvm/testData/TypeAlias.fir.txt
deleted file mode 100644
index 4af2aff..0000000
--- a/libraries/tools/kotlinp/jvm/testData/TypeAlias.fir.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-// TypeAliasKt.class
-// ------------------------------------------
-package {
-
-  public typealias F<T#0 /* T */, T#1 /* U */> = kotlin/collections/Map<T#0, kotlin/Function1<kotlin/text/StringBuilder^, T#1?>> /* = kotlin/collections/Map<T#0, kotlin/Function1<java/lang/StringBuilder /* = kotlin/text/StringBuilder^ */, T#1?>> */
-
-  public typealias G<T#0 /* S */> = F^<kotlin/collections/List<T#0>, kotlin/collections/Set<T#0>> /* = kotlin/collections/Map<kotlin/collections/List<T#0>, kotlin/Function1<java/lang/StringBuilder /* = kotlin/text/StringBuilder^ */, kotlin/collections/Set<T#0>?>> /* = F^<kotlin/collections/List<T#0>, kotlin/collections/Set<T#0>> */ */
-
-  // module name: test-module
-}
-// META-INF/test-module.kotlin_module
-// ------------------------------------------
-module {
-  package <root> {
-    TypeAliasKt
-  }
-}
diff --git a/libraries/tools/kotlinp/jvm/testData/TypeAlias.txt b/libraries/tools/kotlinp/jvm/testData/TypeAlias.txt
index f6e6c9e..4af2aff 100644
--- a/libraries/tools/kotlinp/jvm/testData/TypeAlias.txt
+++ b/libraries/tools/kotlinp/jvm/testData/TypeAlias.txt
@@ -4,7 +4,7 @@
 
   public typealias F<T#0 /* T */, T#1 /* U */> = kotlin/collections/Map<T#0, kotlin/Function1<kotlin/text/StringBuilder^, T#1?>> /* = kotlin/collections/Map<T#0, kotlin/Function1<java/lang/StringBuilder /* = kotlin/text/StringBuilder^ */, T#1?>> */
 
-  public typealias G<T#0 /* S */> = F^<kotlin/collections/List<T#0>, kotlin/collections/Set<T#0>> /* = kotlin/collections/Map<kotlin/collections/List<T#0>, kotlin/Function1<java/lang/StringBuilder /* = kotlin/text/StringBuilder^ */, kotlin/collections/Set<T#0>?>> */
+  public typealias G<T#0 /* S */> = F^<kotlin/collections/List<T#0>, kotlin/collections/Set<T#0>> /* = kotlin/collections/Map<kotlin/collections/List<T#0>, kotlin/Function1<java/lang/StringBuilder /* = kotlin/text/StringBuilder^ */, kotlin/collections/Set<T#0>?>> /* = F^<kotlin/collections/List<T#0>, kotlin/collections/Set<T#0>> */ */
 
   // module name: test-module
 }
diff --git a/libraries/tools/kotlinp/jvm/testData/UseTypeTable.fir.txt b/libraries/tools/kotlinp/jvm/testData/UseTypeTable.fir.txt
deleted file mode 100644
index b2a3af7..0000000
--- a/libraries/tools/kotlinp/jvm/testData/UseTypeTable.fir.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-// Delegate.class
-// ------------------------------------------
-public final class Delegate<T#0 /* T */> : kotlin/Any {
-
-  // signature: <init>(Ljava/lang/Object;)V
-  public constructor(value: T#0? /* = ... */)
-
-  // signature: getValue(Ljava/lang/Object;Lkotlin/reflect/KProperty;)Ljava/lang/Object;
-  public final operator fun getValue(instance: kotlin/Any?, property: kotlin/reflect/KProperty<*>): T#0
-
-  // field: value:Ljava/lang/Object;
-  // getter: getValue()Ljava/lang/Object;
-  public final val value: T#0?
-    public final get
-
-  // module name: test-module
-}
-// UseTypeTableKt.class
-// ------------------------------------------
-package {
-
-  // signature: foo(Ljava/lang/Object;)Ljava/lang/Object;
-  public final fun <T#0 /* T */> foo(x: T#0): T#0
-
-  // local delegated property #0
-  // local final /* delegated */ val y: kotlin/String
-  //   local final get
-
-  // module name: test-module
-}
-// META-INF/test-module.kotlin_module
-// ------------------------------------------
-module {
-  package <root> {
-    UseTypeTableKt
-  }
-}
diff --git a/libraries/tools/kotlinp/jvm/testData/UseTypeTable.txt b/libraries/tools/kotlinp/jvm/testData/UseTypeTable.txt
index 3c17818..b2a3af7 100644
--- a/libraries/tools/kotlinp/jvm/testData/UseTypeTable.txt
+++ b/libraries/tools/kotlinp/jvm/testData/UseTypeTable.txt
@@ -23,7 +23,7 @@
   public final fun <T#0 /* T */> foo(x: T#0): T#0
 
   // local delegated property #0
-  // local final /* delegated */ val <T#0 /* T */> y: T#0
+  // local final /* delegated */ val y: kotlin/String
   //   local final get
 
   // module name: test-module
diff --git a/libraries/tools/kotlinp/jvm/testData/ValueClass.fir.txt b/libraries/tools/kotlinp/jvm/testData/ValueClass.fir.txt
deleted file mode 100644
index c669f72..0000000
--- a/libraries/tools/kotlinp/jvm/testData/ValueClass.fir.txt
+++ /dev/null
@@ -1,95 +0,0 @@
-// A.class
-// ------------------------------------------
-@kotlin/jvm/JvmInline
-public final value class A : kotlin/Any {
-
-  // signature: constructor-impl(Ljava/lang/Integer;)Ljava/lang/Integer;
-  public constructor(i: kotlin/Int?)
-
-  // signature: equals-impl(Ljava/lang/Integer;Ljava/lang/Object;)Z
-  // must-use return value
-  public open /* synthesized */ operator fun equals(other: kotlin/Any?): kotlin/Boolean
-
-  // signature: hashCode-impl(Ljava/lang/Integer;)I
-  // must-use return value
-  public open /* synthesized */ fun hashCode(): kotlin/Int
-
-  // signature: toString-impl(Ljava/lang/Integer;)Ljava/lang/String;
-  // must-use return value
-  public open /* synthesized */ fun toString(): kotlin/String
-
-  // field: i:Ljava/lang/Integer;
-  private final val i: kotlin/Int?
-    private final get
-
-  // underlying property: i
-
-  // underlying type: kotlin/Int?
-
-  // module name: test-module
-}
-// B.class
-// ------------------------------------------
-@kotlin/jvm/JvmInline
-public final value class B : kotlin/Any {
-
-  // signature: constructor-impl(Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function1;
-  public constructor(f: suspend kotlin/Function1<kotlin/coroutines/Continuation<kotlin/Unit>, kotlin/Any?>)
-
-  // signature: equals-impl(Lkotlin/jvm/functions/Function1;Ljava/lang/Object;)Z
-  // must-use return value
-  public open /* synthesized */ operator fun equals(other: kotlin/Any?): kotlin/Boolean
-
-  // signature: hashCode-impl(Lkotlin/jvm/functions/Function1;)I
-  // must-use return value
-  public open /* synthesized */ fun hashCode(): kotlin/Int
-
-  // signature: toString-impl(Lkotlin/jvm/functions/Function1;)Ljava/lang/String;
-  // must-use return value
-  public open /* synthesized */ fun toString(): kotlin/String
-
-  // field: f:Lkotlin/jvm/functions/Function1;
-  private final val f: suspend kotlin/Function1<kotlin/coroutines/Continuation<kotlin/Unit>, kotlin/Any?>
-    private final get
-
-  // underlying property: f
-
-  // underlying type: suspend kotlin/Function1<kotlin/coroutines/Continuation<kotlin/Unit>, kotlin/Any?>
-
-  // module name: test-module
-}
-// Z.class
-// ------------------------------------------
-@kotlin/jvm/JvmInline
-public final value class Z : kotlin/Any {
-
-  // signature: constructor-impl(Ljava/lang/String;)Ljava/lang/String;
-  public constructor(s: kotlin/String)
-
-  // signature: equals-impl(Ljava/lang/String;Ljava/lang/Object;)Z
-  // must-use return value
-  public open /* synthesized */ operator fun equals(other: kotlin/Any?): kotlin/Boolean
-
-  // signature: hashCode-impl(Ljava/lang/String;)I
-  // must-use return value
-  public open /* synthesized */ fun hashCode(): kotlin/Int
-
-  // signature: toString-impl(Ljava/lang/String;)Ljava/lang/String;
-  // must-use return value
-  public open /* synthesized */ fun toString(): kotlin/String
-
-  // field: s:Ljava/lang/String;
-  // getter: getS()Ljava/lang/String;
-  public final val s: kotlin/String
-    public final get
-
-  // underlying property: s
-
-  // underlying type: kotlin/String
-
-  // module name: test-module
-}
-// META-INF/test-module.kotlin_module
-// ------------------------------------------
-module {
-}
diff --git a/libraries/tools/kotlinp/jvm/testData/ValueClass.txt b/libraries/tools/kotlinp/jvm/testData/ValueClass.txt
index 1370f9a..c669f72 100644
--- a/libraries/tools/kotlinp/jvm/testData/ValueClass.txt
+++ b/libraries/tools/kotlinp/jvm/testData/ValueClass.txt
@@ -1,17 +1,21 @@
 // A.class
 // ------------------------------------------
+@kotlin/jvm/JvmInline
 public final value class A : kotlin/Any {
 
   // signature: constructor-impl(Ljava/lang/Integer;)Ljava/lang/Integer;
   public constructor(i: kotlin/Int?)
 
   // signature: equals-impl(Ljava/lang/Integer;Ljava/lang/Object;)Z
+  // must-use return value
   public open /* synthesized */ operator fun equals(other: kotlin/Any?): kotlin/Boolean
 
   // signature: hashCode-impl(Ljava/lang/Integer;)I
+  // must-use return value
   public open /* synthesized */ fun hashCode(): kotlin/Int
 
   // signature: toString-impl(Ljava/lang/Integer;)Ljava/lang/String;
+  // must-use return value
   public open /* synthesized */ fun toString(): kotlin/String
 
   // field: i:Ljava/lang/Integer;
@@ -26,18 +30,22 @@
 }
 // B.class
 // ------------------------------------------
+@kotlin/jvm/JvmInline
 public final value class B : kotlin/Any {
 
   // signature: constructor-impl(Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function1;
   public constructor(f: suspend kotlin/Function1<kotlin/coroutines/Continuation<kotlin/Unit>, kotlin/Any?>)
 
   // signature: equals-impl(Lkotlin/jvm/functions/Function1;Ljava/lang/Object;)Z
+  // must-use return value
   public open /* synthesized */ operator fun equals(other: kotlin/Any?): kotlin/Boolean
 
   // signature: hashCode-impl(Lkotlin/jvm/functions/Function1;)I
+  // must-use return value
   public open /* synthesized */ fun hashCode(): kotlin/Int
 
   // signature: toString-impl(Lkotlin/jvm/functions/Function1;)Ljava/lang/String;
+  // must-use return value
   public open /* synthesized */ fun toString(): kotlin/String
 
   // field: f:Lkotlin/jvm/functions/Function1;
@@ -52,18 +60,22 @@
 }
 // Z.class
 // ------------------------------------------
+@kotlin/jvm/JvmInline
 public final value class Z : kotlin/Any {
 
   // signature: constructor-impl(Ljava/lang/String;)Ljava/lang/String;
   public constructor(s: kotlin/String)
 
   // signature: equals-impl(Ljava/lang/String;Ljava/lang/Object;)Z
+  // must-use return value
   public open /* synthesized */ operator fun equals(other: kotlin/Any?): kotlin/Boolean
 
   // signature: hashCode-impl(Ljava/lang/String;)I
+  // must-use return value
   public open /* synthesized */ fun hashCode(): kotlin/Int
 
   // signature: toString-impl(Ljava/lang/String;)Ljava/lang/String;
+  // must-use return value
   public open /* synthesized */ fun toString(): kotlin/String
 
   // field: s:Ljava/lang/String;
diff --git a/libraries/tools/kotlinp/jvm/testData/VarargInAnnotation.fir.txt b/libraries/tools/kotlinp/jvm/testData/VarargInAnnotation.fir.txt
deleted file mode 100644
index 778216c..0000000
--- a/libraries/tools/kotlinp/jvm/testData/VarargInAnnotation.fir.txt
+++ /dev/null
@@ -1,152 +0,0 @@
-// A.class
-// ------------------------------------------
-public final enum class A : kotlin/Enum<A> {
-
-  // signature: <init>(Ljava/lang/String;I)V
-  private constructor()
-
-  V1,
-
-  V2,
-
-  // module name: test-module
-
-  // has Enum.entries
-}
-// AnnoAnnotation.class
-// ------------------------------------------
-@kotlin/annotation/Target(allowedTargets = [kotlin/annotation/AnnotationTarget.TYPE])
-public final annotation class AnnoAnnotation : kotlin/Annotation {
-
-  // signature: <init>(Lkotlin/Array;)V
-  public constructor(vararg value: AnnoString /* kotlin/Array<out AnnoString> */)
-
-  // getter: value()[LAnnoString;
-  public final val value: kotlin/Array<out AnnoString>
-    public final get
-
-  // module name: test-module
-}
-// AnnoEnum.class
-// ------------------------------------------
-@kotlin/annotation/Target(allowedTargets = [kotlin/annotation/AnnotationTarget.TYPE])
-public final annotation class AnnoEnum : kotlin/Annotation {
-
-  // signature: <init>(Lkotlin/Array;)V
-  public constructor(vararg value: A /* kotlin/Array<out A> */)
-
-  // getter: value()[LA;
-  public final val value: kotlin/Array<out A>
-    public final get
-
-  // module name: test-module
-}
-// AnnoInt.class
-// ------------------------------------------
-@kotlin/annotation/Target(allowedTargets = [kotlin/annotation/AnnotationTarget.TYPE])
-public final annotation class AnnoInt : kotlin/Annotation {
-
-  // signature: <init>([I)V
-  public constructor(vararg value: kotlin/Int /* kotlin/IntArray */)
-
-  // getter: value()[I
-  public final val value: kotlin/IntArray
-    public final get
-
-  // module name: test-module
-}
-// AnnoKClass.class
-// ------------------------------------------
-@kotlin/annotation/Target(allowedTargets = [kotlin/annotation/AnnotationTarget.TYPE])
-public final annotation class AnnoKClass : kotlin/Annotation {
-
-  // signature: <init>(Lkotlin/Array;)V
-  public constructor(vararg value: kotlin/reflect/KClass<*> /* kotlin/Array<out kotlin/reflect/KClass<*>> */)
-
-  // getter: value()[Ljava/lang/Class;
-  public final val value: kotlin/Array<out kotlin/reflect/KClass<*>>
-    public final get
-
-  // module name: test-module
-}
-// AnnoString.class
-// ------------------------------------------
-@kotlin/annotation/Target(allowedTargets = [kotlin/annotation/AnnotationTarget.TYPE])
-public final annotation class AnnoString : kotlin/Annotation {
-
-  // signature: <init>(Lkotlin/Array;)V
-  public constructor(vararg value: kotlin/String /* kotlin/Array<out kotlin/String> */)
-
-  // getter: value()[Ljava/lang/String;
-  public final val value: kotlin/Array<out kotlin/String>
-    public final get
-
-  // module name: test-module
-}
-// VarargInAnnotationKt.class
-// ------------------------------------------
-package {
-
-  // signature: annoAnnotationVararg0()V
-  public final fun annoAnnotationVararg0(): @AnnoAnnotation(value = []) kotlin/Unit
-
-  // signature: annoAnnotationVararg1()V
-  public final fun annoAnnotationVararg1(): @AnnoAnnotation(value = [AnnoString(value = [])]) kotlin/Unit
-
-  // signature: annoAnnotationVararg2()V
-  public final fun annoAnnotationVararg2(): @AnnoAnnotation(value = [AnnoString(value = ["OK"]), AnnoString(value = ["OK1", "OK2"])]) kotlin/Unit
-
-  // signature: annoArrayVararg0()V
-  public final fun annoArrayVararg0(): @AnnoString(value = []) kotlin/Unit
-
-  // signature: annoArrayVararg1()V
-  public final fun annoArrayVararg1(): @AnnoString(value = ["OK"]) kotlin/Unit
-
-  // signature: annoArrayVararg2()V
-  public final fun annoArrayVararg2(): @AnnoString(value = ["OK", "OK2"]) kotlin/Unit
-
-  // signature: annoEnumVararg0()V
-  public final fun annoEnumVararg0(): @AnnoEnum(value = []) kotlin/Unit
-
-  // signature: annoEnumVararg1()V
-  public final fun annoEnumVararg1(): @AnnoEnum(value = [A.V1]) kotlin/Unit
-
-  // signature: annoEnumVararg2()V
-  public final fun annoEnumVararg2(): @AnnoEnum(value = [A.V1, A.V2]) kotlin/Unit
-
-  // signature: annoIntVararg0()V
-  public final fun annoIntVararg0(): @AnnoInt(value = []) kotlin/Unit
-
-  // signature: annoIntVararg1()V
-  public final fun annoIntVararg1(): @AnnoInt(value = [0]) kotlin/Unit
-
-  // signature: annoIntVararg2()V
-  public final fun annoIntVararg2(): @AnnoInt(value = [0, 1]) kotlin/Unit
-
-  // signature: annoKClassVararg0()V
-  public final fun annoKClassVararg0(): @AnnoKClass(value = []) kotlin/Unit
-
-  // signature: annoKClassVararg1()V
-  public final fun annoKClassVararg1(): @AnnoKClass(value = [AnnoString::class]) kotlin/Unit
-
-  // signature: annoKClassVararg2()V
-  public final fun annoKClassVararg2(): @AnnoKClass(value = [AnnoString::class, AnnoInt::class]) kotlin/Unit
-
-  // signature: annoStringVararg0()V
-  public final fun annoStringVararg0(): @AnnoString(value = []) kotlin/Unit
-
-  // signature: annoStringVararg1()V
-  public final fun annoStringVararg1(): @AnnoString(value = ["OK"]) kotlin/Unit
-
-  // signature: annoStringVararg2()V
-  public final fun annoStringVararg2(): @AnnoString(value = ["OK", "OK2"]) kotlin/Unit
-
-  // module name: test-module
-}
-// META-INF/test-module.kotlin_module
-// ------------------------------------------
-module {
-  package <root> {
-    VarargInAnnotationKt
-  }
-}
diff --git a/libraries/tools/kotlinp/jvm/testData/VarargInAnnotation.txt b/libraries/tools/kotlinp/jvm/testData/VarargInAnnotation.txt
index 62b878e..778216c 100644
--- a/libraries/tools/kotlinp/jvm/testData/VarargInAnnotation.txt
+++ b/libraries/tools/kotlinp/jvm/testData/VarargInAnnotation.txt
@@ -15,6 +15,7 @@
 }
 // AnnoAnnotation.class
 // ------------------------------------------
+@kotlin/annotation/Target(allowedTargets = [kotlin/annotation/AnnotationTarget.TYPE])
 public final annotation class AnnoAnnotation : kotlin/Annotation {
 
   // signature: <init>(Lkotlin/Array;)V
@@ -28,6 +29,7 @@
 }
 // AnnoEnum.class
 // ------------------------------------------
+@kotlin/annotation/Target(allowedTargets = [kotlin/annotation/AnnotationTarget.TYPE])
 public final annotation class AnnoEnum : kotlin/Annotation {
 
   // signature: <init>(Lkotlin/Array;)V
@@ -41,6 +43,7 @@
 }
 // AnnoInt.class
 // ------------------------------------------
+@kotlin/annotation/Target(allowedTargets = [kotlin/annotation/AnnotationTarget.TYPE])
 public final annotation class AnnoInt : kotlin/Annotation {
 
   // signature: <init>([I)V
@@ -54,6 +57,7 @@
 }
 // AnnoKClass.class
 // ------------------------------------------
+@kotlin/annotation/Target(allowedTargets = [kotlin/annotation/AnnotationTarget.TYPE])
 public final annotation class AnnoKClass : kotlin/Annotation {
 
   // signature: <init>(Lkotlin/Array;)V
@@ -67,6 +71,7 @@
 }
 // AnnoString.class
 // ------------------------------------------
+@kotlin/annotation/Target(allowedTargets = [kotlin/annotation/AnnotationTarget.TYPE])
 public final annotation class AnnoString : kotlin/Annotation {
 
   // signature: <init>(Lkotlin/Array;)V
diff --git a/libraries/tools/kotlinp/jvm/testData/localClasses/LocalClassInConstructor.fir.txt b/libraries/tools/kotlinp/jvm/testData/localClasses/LocalClassInConstructor.fir.txt
deleted file mode 100644
index 57d23e0..0000000
--- a/libraries/tools/kotlinp/jvm/testData/localClasses/LocalClassInConstructor.fir.txt
+++ /dev/null
@@ -1,36 +0,0 @@
-// A.class
-// ------------------------------------------
-public final class A : kotlin/Any {
-
-  // signature: <init>()V
-  public constructor()
-
-  // module name: test-module
-}
-// A$L.class
-// ------------------------------------------
-local final class .A$L<T#0 /* T */> : kotlin/Any {
-
-  // signature: <init>()V
-  public constructor()
-
-  // signature: x(LA$L;)V
-  public final fun x(l: .A$L<.A.L.I>): kotlin/Unit
-
-  // nested class: I
-
-  // module name: test-module
-}
-// A$L$I.class
-// ------------------------------------------
-local final inner class .A.L.I : kotlin/Any {
-
-  // signature: <init>(LA$L;)V
-  public constructor()
-
-  // module name: test-module
-}
-// META-INF/test-module.kotlin_module
-// ------------------------------------------
-module {
-}
diff --git a/libraries/tools/kotlinp/jvm/testData/localClasses/LocalClassInConstructor.txt b/libraries/tools/kotlinp/jvm/testData/localClasses/LocalClassInConstructor.txt
index 2d6396b..57d23e0 100644
--- a/libraries/tools/kotlinp/jvm/testData/localClasses/LocalClassInConstructor.txt
+++ b/libraries/tools/kotlinp/jvm/testData/localClasses/LocalClassInConstructor.txt
@@ -15,7 +15,7 @@
   public constructor()
 
   // signature: x(LA$L;)V
-  public final fun x(l: .A$L<.A$L<T#0>.I>): kotlin/Unit
+  public final fun x(l: .A$L<.A.L.I>): kotlin/Unit
 
   // nested class: I
 
@@ -23,7 +23,7 @@
 }
 // A$L$I.class
 // ------------------------------------------
-local final inner class .A$L.I : kotlin/Any {
+local final inner class .A.L.I : kotlin/Any {
 
   // signature: <init>(LA$L;)V
   public constructor()
diff --git a/plugins/plugin-sandbox/testData/box/metadataRegisteredInIr/classWithAllPropertiesConstructor.kt b/plugins/plugin-sandbox/testData/box/metadataRegisteredInIr/classWithAllPropertiesConstructor.kt
index 9d10e2e..10cddc3 100644
--- a/plugins/plugin-sandbox/testData/box/metadataRegisteredInIr/classWithAllPropertiesConstructor.kt
+++ b/plugins/plugin-sandbox/testData/box/metadataRegisteredInIr/classWithAllPropertiesConstructor.kt
@@ -3,8 +3,6 @@
 // WITH_STDLIB
 // WITH_REFLECT
 // FULL_JDK
-// MUTE_LL_FIR
-// ^ backend plugins are not executed -> declarations in dependent module are not visible
 
 // MODULE: a
 import org.jetbrains.kotlin.plugin.sandbox.AllPropertiesConstructor
diff --git a/plugins/plugin-sandbox/testData/box/metadataRegisteredInIr/classWithAllPropertiesConstructor.ll.fir.txt b/plugins/plugin-sandbox/testData/box/metadataRegisteredInIr/classWithAllPropertiesConstructor.ll.fir.txt
new file mode 100644
index 0000000..f08e3d5
--- /dev/null
+++ b/plugins/plugin-sandbox/testData/box/metadataRegisteredInIr/classWithAllPropertiesConstructor.ll.fir.txt
@@ -0,0 +1,85 @@
+Module: a
+FILE: module_a_classWithAllPropertiesConstructor.kt
+    public final class A : R|kotlin/Any| {
+        public constructor(s: R|kotlin/String|): R|A| {
+            super<R|kotlin/Any|>()
+        }
+
+        public final val s: R|kotlin/String| = R|<local>/s|
+            public get(): R|kotlin/String|
+
+    }
+    public final class B : R|kotlin/Any| {
+        public constructor(s: R|kotlin/String|): R|B| {
+            super<R|kotlin/Any|>()
+        }
+
+        public final val s: R|kotlin/String| = R|<local>/s|
+            public get(): R|kotlin/String|
+
+    }
+    public final class C : R|kotlin/Any| {
+        public constructor(s: R|kotlin/String|): R|C| {
+            super<R|kotlin/Any|>()
+        }
+
+        public final val s: R|kotlin/String| = R|<local>/s|
+            public get(): R|kotlin/String|
+
+    }
+    @R|org/jetbrains/kotlin/plugin/sandbox/AllPropertiesConstructor|() public open class Base : R|kotlin/Any| {
+        public constructor(): R|Base| {
+            super<R|kotlin/Any|>()
+        }
+
+        public final val a: R|A| = R|/A.A|(String(a))
+            public get(): R|A|
+
+        public final val b: R|B| = R|/B.B|(String(b))
+            public get(): R|B|
+
+    }
+    @R|org/jetbrains/kotlin/plugin/sandbox/AllPropertiesConstructor|() public final class Container<T> : R|kotlin/Any| {
+        public constructor<T>(): R|Container<T>| {
+            super<R|kotlin/Any|>()
+        }
+
+        public final val tag: R|kotlin/String| = String(default)
+            public get(): R|kotlin/String|
+
+    }
+Module: b
+FILE: Derived.kt
+    @R|org/jetbrains/kotlin/plugin/sandbox/AllPropertiesConstructor|() public final class Derived : R|Base| {
+        public constructor(): R|Derived| {
+            super<R|Base|>()
+        }
+
+        public final val c: R|C| = R|/C.C|(String(c))
+            public get(): R|C|
+
+    }
+FILE: main.kt
+    public final fun box(): R|kotlin/String| {
+        lval constructor: R|java/lang/reflect/Constructor<Derived>| = <getClass>(Q|Derived|).R|SubstitutionOverride<kotlin/reflect/KClass.constructors: R|kotlin/collections/Collection<kotlin/reflect/KFunction<Derived>>|>|.R|kotlin/collections/first|<R|kotlin/reflect/KFunction<Derived>|>(<L> = first@fun <anonymous>(it: R|kotlin/reflect/KFunction<Derived>|): R|kotlin/Boolean| <inline=Inline, kind=UNKNOWN>  {
+            ^ ==(R|<local>/it|.R|kotlin/reflect/full/valueParameters|.R|SubstitutionOverride<kotlin/collections/List.size: R|kotlin/Int|>|, Int(3))
+        }
+        ).R|kotlin/reflect/jvm/javaConstructor|<R|Derived|>!!
+        lval derived: R|Derived!| = R|<local>/constructor|.R|SubstitutionOverride<java/lang/reflect/Constructor.newInstance: R|Derived!|>|(vararg(R|/A.A|(String(a)), R|/B.B|(String(b)), R|/C.C|(String(c))))
+        R|kotlin/with<CS errors: kotlin/with>#|<R|Derived!|, <ERROR TYPE REF: Cannot infer argument for type parameter R>>(R|<local>/derived|, <L> = with@fun R|Derived!|.<anonymous>(): <ERROR TYPE REF: Cannot infer argument for type parameter R> <inline=Inline, kind=EXACTLY_ONCE>  {
+            ^ R|kotlin/with<Inapplicable(INAPPLICABLE): kotlin/with>#|<R|kotlin/String|, <ERROR TYPE REF: Cannot infer argument for type parameter R>>(String(), <L> = with@fun R|kotlin/String|.<anonymous>(): <ERROR TYPE REF: Unresolved name: hasContext> <inline=Inline, kind=EXACTLY_ONCE>  {
+                <Unresolved name: hasExtension>#()
+                ^ <Unresolved name: hasContext>#()
+            }
+            )
+        }
+        )
+        lval outerRef: R|kotlin/reflect/KProperty1<Container<kotlin/String>, kotlin/String>| = Q|Container|<R|kotlin/String|>::<Unresolved reference: outerTypeProp>#
+        when () {
+            !=(R|<local>/outerRef|.R|SubstitutionOverride<kotlin/reflect/KProperty1.name: R|kotlin/String|>|, String(outerTypeProp)) ->  {
+                ^box String(FAIL outerTypeProp)
+            }
+        }
+
+        ^box String(OK)
+    }
diff --git a/plugins/plugin-sandbox/testData/box/mppDependencyWithActualTypealiasAnnotation.ll.txt b/plugins/plugin-sandbox/testData/box/mppDependencyWithActualTypealiasAnnotation.ll.fir.txt
similarity index 100%
rename from plugins/plugin-sandbox/testData/box/mppDependencyWithActualTypealiasAnnotation.ll.txt
rename to plugins/plugin-sandbox/testData/box/mppDependencyWithActualTypealiasAnnotation.ll.fir.txt
diff --git a/plugins/plugin-sandbox/testData/box/nestedClassesWithSupertypesDependantOnAnnotationArgument.ll.txt b/plugins/plugin-sandbox/testData/box/nestedClassesWithSupertypesDependantOnAnnotationArgument.ll.fir.txt
similarity index 100%
rename from plugins/plugin-sandbox/testData/box/nestedClassesWithSupertypesDependantOnAnnotationArgument.ll.txt
rename to plugins/plugin-sandbox/testData/box/nestedClassesWithSupertypesDependantOnAnnotationArgument.ll.fir.txt
diff --git a/plugins/plugin-sandbox/testData/box/topLevelCallables_multimodule.kt b/plugins/plugin-sandbox/testData/box/topLevelCallables_multimodule.kt
index a5c6724..a6e8c7e 100644
--- a/plugins/plugin-sandbox/testData/box/topLevelCallables_multimodule.kt
+++ b/plugins/plugin-sandbox/testData/box/topLevelCallables_multimodule.kt
@@ -1,6 +1,3 @@
-// MUTE_LL_FIR: KT-68878
-// ^in AA tests plugin generate declarations both for `lib` and `main` modules
-
 // MODULE: lib
 // FILE: foo/some.kt
 package foo
diff --git a/plugins/plugin-sandbox/testData/box/topLevelCallables_multimodule.ll.fir.txt b/plugins/plugin-sandbox/testData/box/topLevelCallables_multimodule.ll.fir.txt
new file mode 100644
index 0000000..6697011
--- /dev/null
+++ b/plugins/plugin-sandbox/testData/box/topLevelCallables_multimodule.ll.fir.txt
@@ -0,0 +1,112 @@
+Module: lib
+FILE: some.kt
+    package foo
+
+    @R|org/jetbrains/kotlin/plugin/sandbox/DummyFunction|(fileName = String(first.kt) [evaluated = String(first.kt)]) public final class First : R|kotlin/Any| {
+        public constructor(): R|foo/First| {
+            super<R|kotlin/Any|>()
+        }
+
+    }
+    @R|org/jetbrains/kotlin/plugin/sandbox/DummyFunction|(fileName = String(first) [evaluated = String(first)]) public final class OtherFirst : R|kotlin/Any| {
+        public constructor(): R|foo/OtherFirst| {
+            super<R|kotlin/Any|>()
+        }
+
+    }
+    @R|org/jetbrains/kotlin/plugin/sandbox/DummyFunction|(fileName = String(second) [evaluated = String(second)]) public final class Second : R|kotlin/Any| {
+        public constructor(): R|foo/Second| {
+            super<R|kotlin/Any|>()
+        }
+
+    }
+    @R|org/jetbrains/kotlin/plugin/sandbox/DummyFunction|() public final class Third : R|kotlin/Any| {
+        public constructor(): R|foo/Third| {
+            super<R|kotlin/Any|>()
+        }
+
+    }
+FILE: other.kt
+    package bar
+
+    @R|org/jetbrains/kotlin/plugin/sandbox/DummyFunction|(fileName = String(first.kt) [evaluated = String(first.kt)]) public final class First : R|kotlin/Any| {
+        public constructor(): R|bar/First| {
+            super<R|kotlin/Any|>()
+        }
+
+    }
+FILE: foo/first.kt
+    package foo
+
+    public final fun dummyFirst(value: R|foo/First|): R|kotlin/String| {
+        ^dummyFirst throw R|kotlin/Throwable.Throwable|(String(Stub for declaration generated by Plugin[TopLevelDeclarationsGeneratorKey]))
+    }
+    public final fun dummyOtherFirst(value: R|foo/OtherFirst|): R|kotlin/String| {
+        ^dummyOtherFirst throw R|kotlin/Throwable.Throwable|(String(Stub for declaration generated by Plugin[TopLevelDeclarationsGeneratorKey]))
+    }
+FILE: foo/second.kt
+    package foo
+
+    public final fun dummySecond(value: R|foo/Second|): R|kotlin/String| {
+        ^dummySecond throw R|kotlin/Throwable.Throwable|(String(Stub for declaration generated by Plugin[TopLevelDeclarationsGeneratorKey]))
+    }
+FILE: foo/__GENERATED__CALLABLES__.kt
+    package foo
+
+    public final fun dummyThird(value: R|foo/Third|): R|kotlin/String| {
+        ^dummyThird throw R|kotlin/Throwable.Throwable|(String(Stub for declaration generated by Plugin[TopLevelDeclarationsGeneratorKey]))
+    }
+FILE: bar/first.kt
+    package bar
+
+    public final fun dummyFirst(value: R|bar/First|): R|kotlin/String| {
+        ^dummyFirst throw R|kotlin/Throwable.Throwable|(String(Stub for declaration generated by Plugin[TopLevelDeclarationsGeneratorKey]))
+    }
+Module: main
+FILE: main.kt
+    package foo
+
+    public final fun box(): R|kotlin/String| {
+        lval result1: R|kotlin/String| = R|foo/dummyFirst|(R|foo/First.First|())
+        when () {
+            !=(R|<local>/result1|, String(foo.First)) ->  {
+                ^box <strcat>(String(Error: ), R|<local>/result1|)
+            }
+        }
+
+        lval result2: R|kotlin/String| = R|foo/dummySecond|(R|foo/Second.Second|())
+        when () {
+            !=(R|<local>/result2|, String(foo.Second)) ->  {
+                ^box <strcat>(String(Error: ), R|<local>/result2|)
+            }
+        }
+
+        ^box String(OK)
+    }
+FILE: foo/first.kt
+    package foo
+
+    public final fun dummyFirst(value: R|foo/First|): R|kotlin/String| {
+        ^dummyFirst throw R|kotlin/Throwable.Throwable|(String(Stub for declaration generated by Plugin[TopLevelDeclarationsGeneratorKey]))
+    }
+    public final fun dummyOtherFirst(value: R|foo/OtherFirst|): R|kotlin/String| {
+        ^dummyOtherFirst throw R|kotlin/Throwable.Throwable|(String(Stub for declaration generated by Plugin[TopLevelDeclarationsGeneratorKey]))
+    }
+FILE: foo/second.kt
+    package foo
+
+    public final fun dummySecond(value: R|foo/Second|): R|kotlin/String| {
+        ^dummySecond throw R|kotlin/Throwable.Throwable|(String(Stub for declaration generated by Plugin[TopLevelDeclarationsGeneratorKey]))
+    }
+FILE: foo/__GENERATED__CALLABLES__.kt
+    package foo
+
+    public final fun dummyThird(value: R|foo/Third|): R|kotlin/String| {
+        ^dummyThird throw R|kotlin/Throwable.Throwable|(String(Stub for declaration generated by Plugin[TopLevelDeclarationsGeneratorKey]))
+    }
+FILE: bar/first.kt
+    package bar
+
+    public final fun dummyFirst(value: R|bar/First|): R|kotlin/String| {
+        ^dummyFirst throw R|kotlin/Throwable.Throwable|(String(Stub for declaration generated by Plugin[TopLevelDeclarationsGeneratorKey]))
+    }