diff --git a/.idea/kotlinTestDataPluginTestDataPaths.xml b/.idea/kotlinTestDataPluginTestDataPaths.xml
index 185427a034b..e7ccb32ef8f 100644
--- a/.idea/kotlinTestDataPluginTestDataPaths.xml
+++ b/.idea/kotlinTestDataPluginTestDataPaths.xml
@@ -89,6 +89,7 @@
+
diff --git a/compiler/util-klib-abi/build.gradle.kts b/compiler/util-klib-abi/build.gradle.kts
index 86a85e10253..809763770e5 100644
--- a/compiler/util-klib-abi/build.gradle.kts
+++ b/compiler/util-klib-abi/build.gradle.kts
@@ -14,6 +14,7 @@ dependencies {
testImplementation(commonDependency("org.jetbrains.kotlin:kotlin-reflect")) { isTransitive = false }
testImplementation(projectTests(":compiler:tests-common-new"))
testImplementation(projectTests(":generators:test-generator"))
+ testImplementation(projectTests(":js:js.tests"))
}
sourceSets {
diff --git a/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/AbstractLibraryAbiReaderTest.kt b/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/AbstractLibraryAbiReaderTest.kt
index a63fec27477..d0473f33d2f 100644
--- a/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/AbstractLibraryAbiReaderTest.kt
+++ b/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/AbstractLibraryAbiReaderTest.kt
@@ -5,38 +5,133 @@
package org.jetbrains.kotlin.library.abi
-import org.jetbrains.kotlin.library.abi.impl.AbiSignatureVersions
-import org.jetbrains.kotlin.test.services.JUnit5Assertions.assertEqualsToFile
-import org.junit.jupiter.api.BeforeEach
-import org.junit.jupiter.api.TestInfo
-import java.io.File
+import org.jetbrains.kotlin.js.test.converters.FirJsKlibBackendFacade
+import org.jetbrains.kotlin.js.test.converters.JsKlibBackendFacade
+import org.jetbrains.kotlin.library.abi.handlers.LibraryAbiDumpHandler
+import org.jetbrains.kotlin.platform.TargetPlatform
+import org.jetbrains.kotlin.platform.js.JsPlatforms
+import org.jetbrains.kotlin.test.Constructor
+import org.jetbrains.kotlin.test.FirParser
+import org.jetbrains.kotlin.test.TargetBackend
+import org.jetbrains.kotlin.test.backend.BlackBoxCodegenSuppressor
+import org.jetbrains.kotlin.test.backend.handlers.NoCompilationErrorsHandler
+import org.jetbrains.kotlin.test.backend.handlers.NoFirCompilationErrorsHandler
+import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
+import org.jetbrains.kotlin.test.builders.*
+import org.jetbrains.kotlin.test.directives.configureFirParser
+import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontend2IrConverter
+import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendFacade
+import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendOutputArtifact
+import org.jetbrains.kotlin.test.frontend.fir.Fir2IrJsResultsConverter
+import org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade
+import org.jetbrains.kotlin.test.frontend.fir.FirOutputArtifact
+import org.jetbrains.kotlin.test.model.*
+import org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerWithTargetBackendTest
+import org.jetbrains.kotlin.test.services.LibraryProvider
+import org.jetbrains.kotlin.test.services.configuration.CommonEnvironmentConfigurator
+import org.jetbrains.kotlin.test.services.configuration.JsEnvironmentConfigurator
-@OptIn(ExperimentalLibraryAbiReader::class)
-abstract class AbstractLibraryAbiReaderTest {
- private lateinit var testName: String
- private lateinit var buildDir: File
+/**
+ * This test class can potentially be re-used in the future for other backends.
+ */
+abstract class AbstractLibraryAbiReaderTest>(
+ private val targetPlatform: TargetPlatform,
+ targetBackend: TargetBackend,
+) : AbstractKotlinCompilerWithTargetBackendTest(targetBackend) {
- @BeforeEach
- fun setUp(testInfo: TestInfo) {
- testName = getTestName(testInfo)
- buildDir = setUpBuildDir(testInfo)
- }
+ abstract val frontend: FrontendKind<*>
+ abstract val frontendFacade: Constructor>
+ abstract val converter: Constructor>
+ abstract val backendFacade: Constructor>
- fun runTest(relativePath: String) {
- val (sourceFile, dumpFiles) = computeTestFiles(relativePath, AbiSignatureVersions.Supported.entries)
+ open fun TestConfigurationBuilder.applyConfigurators() {}
- val filters = computeFiltersFromTestDirectives(sourceFile)
+ override fun TestConfigurationBuilder.configuration() {
+ globalDefaults {
+ frontend = this@AbstractLibraryAbiReaderTest.frontend
+ targetPlatform = this@AbstractLibraryAbiReaderTest.targetPlatform
+ artifactKind = BinaryKind.NoArtifact
+ targetBackend = this@AbstractLibraryAbiReaderTest.targetBackend
+ dependencyKind = DependencyKind.Binary
+ }
- val library = buildLibrary(sourceFile, libraryName = testName, buildDir)
- val libraryAbi = LibraryAbiReader.readAbiInfo(library, filters)
+ useAfterAnalysisCheckers(
+ ::BlackBoxCodegenSuppressor
+ )
- dumpFiles.entries.forEach { (signatureVersion, dumpFile) ->
- val abiDump = LibraryAbiRenderer.render(
- libraryAbi,
- AbiRenderingSettings(signatureVersion)
+ applyConfigurators()
+
+ facadeStep(frontendFacade)
+
+ classicFrontendHandlersStep {
+ useHandlers(
+ ::NoCompilationErrorsHandler
)
+ }
- assertEqualsToFile(dumpFile, abiDump)
+ firHandlersStep {
+ useHandlers(
+ ::NoFirCompilationErrorsHandler
+ )
+ }
+
+ facadeStep(converter)
+ irHandlersStep()
+
+ facadeStep(backendFacade)
+ klibArtifactsHandlersStep {
+ useHandlers(
+ ::LibraryAbiDumpHandler
+ )
}
}
}
+
+abstract class AbstractJsLibraryAbiReaderTest> :
+ AbstractLibraryAbiReaderTest(
+ JsPlatforms.defaultJsPlatform,
+ TargetBackend.JS_IR,
+ ) {
+
+ override fun TestConfigurationBuilder.applyConfigurators() {
+ useConfigurators(
+ ::CommonEnvironmentConfigurator,
+ ::JsEnvironmentConfigurator,
+ )
+
+ useAdditionalService(::LibraryProvider)
+ }
+}
+
+open class AbstractFirJsLibraryAbiReaderTest : AbstractJsLibraryAbiReaderTest() {
+ final override val frontend: FrontendKind<*>
+ get() = FrontendKinds.FIR
+
+ final override val frontendFacade: Constructor>
+ get() = ::FirFrontendFacade
+
+ override val converter: Constructor>
+ get() = ::Fir2IrJsResultsConverter
+
+ override val backendFacade: Constructor>
+ get() = ::FirJsKlibBackendFacade
+
+ override fun configure(builder: TestConfigurationBuilder) {
+ builder.configureFirParser(FirParser.Psi)
+ super.configure(builder)
+ }
+}
+
+open class AbstractClassicJsLibraryAbiReaderTest : AbstractJsLibraryAbiReaderTest() {
+ final override val frontend: FrontendKind<*>
+ get() = FrontendKinds.ClassicFrontend
+
+ final override val frontendFacade: Constructor>
+ get() = ::ClassicFrontendFacade
+
+ override val converter: Constructor>
+ get() = ::ClassicFrontend2IrConverter
+
+ override val backendFacade: Constructor>
+ get() = ::JsKlibBackendFacade
+}
diff --git a/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/AbstractOldLibraryAbiReaderTest.kt b/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/AbstractOldLibraryAbiReaderTest.kt
new file mode 100644
index 00000000000..bfdac7bb586
--- /dev/null
+++ b/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/AbstractOldLibraryAbiReaderTest.kt
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
+package org.jetbrains.kotlin.library.abi
+
+import org.jetbrains.kotlin.library.abi.impl.AbiSignatureVersions
+import org.jetbrains.kotlin.test.services.JUnit5Assertions.assertEqualsToFile
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.TestInfo
+import java.io.File
+
+@OptIn(ExperimentalLibraryAbiReader::class)
+abstract class AbstractOldLibraryAbiReaderTest {
+ private lateinit var testName: String
+ private lateinit var buildDir: File
+
+ @BeforeEach
+ fun setUp(testInfo: TestInfo) {
+ testName = getTestName(testInfo)
+ buildDir = setUpBuildDir(testInfo)
+ }
+
+ fun runTest(relativePath: String) {
+ val (sourceFile, dumpFiles) = computeTestFiles(relativePath, AbiSignatureVersions.Supported.entries)
+
+ val (moduleName, filters) = computeModuleNameAndFiltersFromTestDirectives(sourceFile)
+
+ val library = buildLibrary(sourceFile, moduleName, buildDir)
+ val libraryAbi = LibraryAbiReader.readAbiInfo(library, filters)
+
+ dumpFiles.entries.forEach { (signatureVersion, dumpFile) ->
+ val abiDump = LibraryAbiRenderer.render(
+ libraryAbi,
+ AbiRenderingSettings(signatureVersion)
+ )
+
+ assertEqualsToFile(dumpFile, abiDump)
+ }
+ }
+}
diff --git a/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/GenerateLibraryAbiReaderTests.kt b/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/GenerateLibraryAbiReaderTests.kt
index 4888af3083e..10c1823defe 100644
--- a/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/GenerateLibraryAbiReaderTests.kt
+++ b/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/GenerateLibraryAbiReaderTests.kt
@@ -12,7 +12,18 @@ fun main() {
generateTestGroupSuiteWithJUnit5 {
testGroup("compiler/util-klib-abi/tests-gen", "compiler/util-klib-abi/testData") {
- testClass(suiteTestClassName = "LibraryAbiReaderTest") {
+ testClass(suiteTestClassName = "OldLibraryAbiReaderTest") {
+ model("content")
+ }
+ }
+ }
+
+ generateTestGroupSuiteWithJUnit5 {
+ testGroup("compiler/util-klib-abi/tests-gen", "compiler/util-klib-abi/testData") {
+ testClass {
+ model("content")
+ }
+ testClass {
model("content")
}
}
diff --git a/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/directives/LibraryAbiDumpDirectives.kt b/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/directives/LibraryAbiDumpDirectives.kt
new file mode 100644
index 00000000000..89286a39a42
--- /dev/null
+++ b/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/directives/LibraryAbiDumpDirectives.kt
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
+package org.jetbrains.kotlin.library.abi.directives
+
+import org.jetbrains.kotlin.library.abi.AbiCompoundName
+import org.jetbrains.kotlin.library.abi.AbiQualifiedName
+import org.jetbrains.kotlin.library.abi.ExperimentalLibraryAbiReader
+import org.jetbrains.kotlin.test.directives.model.SimpleDirectivesContainer
+
+@OptIn(ExperimentalLibraryAbiReader::class)
+object LibraryAbiDumpDirectives : SimpleDirectivesContainer() {
+ val EXCLUDED_PACKAGES by valueDirective(
+ description = "Packages that should be filtered out from ABI dump",
+ parser = ::parseCompoundName
+ )
+
+ val EXCLUDED_CLASSES by valueDirective(
+ description = "Classes that should be filtered out from ABI dump",
+ parser = ::parseQualifiedName
+ )
+
+ val NON_PUBLIC_MARKERS by valueDirective(
+ description = "Non-public API markers (annotation classes)",
+ parser = ::parseQualifiedName
+ )
+
+ private fun String.removeDoubleQuotes() = removeSurrounding("\"")
+
+ private fun parseCompoundName(value: String) = AbiCompoundName(value.removeDoubleQuotes())
+
+ private fun parseQualifiedName(value: String): AbiQualifiedName =
+ with(value.removeDoubleQuotes()) {
+ AbiQualifiedName(
+ packageName = AbiCompoundName(substringBefore('/', missingDelimiterValue = "")),
+ relativeName = AbiCompoundName(substringAfter('/'))
+ )
+ }
+}
diff --git a/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/handlers/LibraryAbiDumpHandler.kt b/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/handlers/LibraryAbiDumpHandler.kt
new file mode 100644
index 00000000000..b82859eb09b
--- /dev/null
+++ b/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/handlers/LibraryAbiDumpHandler.kt
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
+package org.jetbrains.kotlin.library.abi.handlers
+
+import org.jetbrains.kotlin.library.KotlinIrSignatureVersion
+import org.jetbrains.kotlin.library.abi.*
+import org.jetbrains.kotlin.library.abi.AbiReadingFilter.*
+import org.jetbrains.kotlin.library.abi.directives.LibraryAbiDumpDirectives
+import org.jetbrains.kotlin.library.abi.impl.AbiSignatureVersions
+import org.jetbrains.kotlin.test.model.ArtifactKinds
+import org.jetbrains.kotlin.test.model.BinaryArtifactHandler
+import org.jetbrains.kotlin.test.model.BinaryArtifacts
+import org.jetbrains.kotlin.test.model.TestModule
+import org.jetbrains.kotlin.test.services.TestServices
+import org.jetbrains.kotlin.test.services.moduleStructure
+import org.jetbrains.kotlin.test.utils.MultiModuleInfoDumper
+import org.jetbrains.kotlin.test.utils.withExtension
+
+@OptIn(ExperimentalLibraryAbiReader::class)
+class LibraryAbiDumpHandler(testServices: TestServices) : BinaryArtifactHandler(
+ testServices,
+ ArtifactKinds.KLib,
+ failureDisablesNextSteps = true,
+ doNotRunIfThereWerePreviousFailures = true,
+) {
+ override val directiveContainers get() = listOf(LibraryAbiDumpDirectives)
+
+ private val dumpers = KotlinIrSignatureVersion.CURRENTLY_SUPPORTED_VERSIONS.map { irSignatureVersion ->
+ AbiSignatureVersions.resolveByVersionNumber(irSignatureVersion.number) to MultiModuleInfoDumper()
+ }
+
+ override fun processModule(module: TestModule, info: BinaryArtifacts.KLib) {
+ val libraryAbi = LibraryAbiReader.readAbiInfo(
+ info.outputFile,
+ ExcludedPackages(module.directives[LibraryAbiDumpDirectives.EXCLUDED_PACKAGES]),
+ ExcludedClasses(module.directives[LibraryAbiDumpDirectives.EXCLUDED_CLASSES]),
+ NonPublicMarkerAnnotations(module.directives[LibraryAbiDumpDirectives.NON_PUBLIC_MARKERS])
+ )
+
+ for ((abiSignatureVersion, dumper) in dumpers) {
+ LibraryAbiRenderer.render(libraryAbi, dumper.builderForModule(module), AbiRenderingSettings(abiSignatureVersion))
+ }
+ }
+
+ override fun processAfterAllModules(someAssertionWasFailed: Boolean) {
+ assertions.assertAll(
+ dumpers.map { (abiSignatureVersion, dumper) ->
+ {
+ val expectedFile = testServices
+ .moduleStructure
+ .originalTestDataFiles
+ .first()
+ .withExtension("v${abiSignatureVersion.versionNumber}.txt")
+ assertions.assertEqualsToFile(expectedFile, dumper.generateResultingDump())
+ }
+ }
+ )
+ }
+}
diff --git a/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/utils.kt b/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/utils.kt
index 1fc3b7792fe..63434f6379c 100644
--- a/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/utils.kt
+++ b/compiler/util-klib-abi/test/org/jetbrains/kotlin/library/abi/utils.kt
@@ -80,30 +80,36 @@ internal fun computeTestFiles(
}
@OptIn(ExperimentalLibraryAbiReader::class)
-internal fun computeFiltersFromTestDirectives(sourceFile: File): List {
+internal fun computeModuleNameAndFiltersFromTestDirectives(sourceFile: File): Pair> {
fun String.parseQualifiedName() = AbiQualifiedName(
packageName = AbiCompoundName(substringBefore('/', missingDelimiterValue = "")),
relativeName = AbiCompoundName(substringAfter('/'))
)
+ var moduleName: String? = null
val excludedPackages = mutableListOf()
val excludedClasses = mutableListOf()
val nonPublicMarkers = mutableListOf()
- sourceFile.bufferedReader().lineSequence().forEach { line ->
+ for (line in sourceFile.bufferedReader().lineSequence()) {
if (!line.parseTestDirective(DIRECTIVE_EXCLUDED_PACKAGES, ::AbiCompoundName, excludedPackages::add)
&& !line.parseTestDirective(DIRECTIVE_EXCLUDED_CLASSES, String::parseQualifiedName, excludedClasses::add)
&& !line.parseTestDirective(DIRECTIVE_NON_PUBLIC_MARKERS, String::parseQualifiedName, nonPublicMarkers::add)
+ && !line.parseTestDirective(DIRECTIVE_MODULE, { it }, { moduleName = it })
+ && !line.startsWith("//")
+ && line.isNotBlank()
) {
- return listOfNotNull(
- excludedPackages.ifNotEmpty(AbiReadingFilter::ExcludedPackages),
- excludedClasses.ifNotEmpty(AbiReadingFilter::ExcludedClasses),
- nonPublicMarkers.ifNotEmpty(AbiReadingFilter::NonPublicMarkerAnnotations)
- )
+ break
}
}
- return emptyList()
+ assert(moduleName != null) { "No module name specified with MODULE test directive" }
+
+ return moduleName!! to listOfNotNull(
+ excludedPackages.ifNotEmpty(AbiReadingFilter::ExcludedPackages),
+ excludedClasses.ifNotEmpty(AbiReadingFilter::ExcludedClasses),
+ nonPublicMarkers.ifNotEmpty(AbiReadingFilter::NonPublicMarkerAnnotations)
+ )
}
private inline fun String.parseTestDirective(
@@ -124,6 +130,7 @@ private inline fun String.parseTestDirective(
}
}
+private const val DIRECTIVE_MODULE = "// MODULE:"
private const val DIRECTIVE_EXCLUDED_PACKAGES = "// EXCLUDED_PACKAGES:"
private const val DIRECTIVE_EXCLUDED_CLASSES = "// EXCLUDED_CLASSES:"
private const val DIRECTIVE_NON_PUBLIC_MARKERS = "// NON_PUBLIC_MARKERS:"
diff --git a/compiler/util-klib-abi/testData/content/callables.kt b/compiler/util-klib-abi/testData/content/callables.kt
index 6c9a441755f..76cde519f20 100644
--- a/compiler/util-klib-abi/testData/content/callables.kt
+++ b/compiler/util-klib-abi/testData/content/callables.kt
@@ -1,3 +1,6 @@
+// !LANGUAGE: +ContextReceivers
+// MODULE: callables_library
+
package callables.test
fun regularFun(): String = ""
diff --git a/compiler/util-klib-abi/testData/content/callables.v1.txt b/compiler/util-klib-abi/testData/content/callables.v1.txt
index 9a092415f7f..f3e1a074227 100644
--- a/compiler/util-klib-abi/testData/content/callables.v1.txt
+++ b/compiler/util-klib-abi/testData/content/callables.v1.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final class callables.test/FunctionContainer { // callables.test/FunctionContainer|null[0]
constructor () // callables.test/FunctionContainer.|-5645683436151566731[0]
final fun regularFun(): kotlin/String // callables.test/FunctionContainer.regularFun|-1607736902443358908[0]
diff --git a/compiler/util-klib-abi/testData/content/callables.v2.txt b/compiler/util-klib-abi/testData/content/callables.v2.txt
index b729d5a6122..fb58756a273 100644
--- a/compiler/util-klib-abi/testData/content/callables.v2.txt
+++ b/compiler/util-klib-abi/testData/content/callables.v2.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final class callables.test/FunctionContainer { // callables.test/FunctionContainer|null[0]
constructor () // callables.test/FunctionContainer.|(){}[0]
final fun regularFun(): kotlin/String // callables.test/FunctionContainer.regularFun|regularFun(){}[0]
diff --git a/compiler/util-klib-abi/testData/content/classifiers.kt b/compiler/util-klib-abi/testData/content/classifiers.kt
index 9264cdfd6e5..141ca2b16b2 100644
--- a/compiler/util-klib-abi/testData/content/classifiers.kt
+++ b/compiler/util-klib-abi/testData/content/classifiers.kt
@@ -1,3 +1,5 @@
+// MODULE: classifiers_library
+
package classifiers.test
class RegularClass(val property: String) {
diff --git a/compiler/util-klib-abi/testData/content/classifiers.v1.txt b/compiler/util-klib-abi/testData/content/classifiers.v1.txt
index 89659b84ead..02db7dcc412 100644
--- a/compiler/util-klib-abi/testData/content/classifiers.v1.txt
+++ b/compiler/util-klib-abi/testData/content/classifiers.v1.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
open annotation class classifiers.test/AnnotationClass : kotlin/Annotation { // classifiers.test/AnnotationClass|null[0]
final val property // classifiers.test/AnnotationClass.property|4634558160746314112[0]
final fun (): kotlin/String // classifiers.test/AnnotationClass.property.|4838831487146901942[0]
diff --git a/compiler/util-klib-abi/testData/content/classifiers.v2.txt b/compiler/util-klib-abi/testData/content/classifiers.v2.txt
index d480ddf8862..5f5afd2884b 100644
--- a/compiler/util-klib-abi/testData/content/classifiers.v2.txt
+++ b/compiler/util-klib-abi/testData/content/classifiers.v2.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
open annotation class classifiers.test/AnnotationClass : kotlin/Annotation { // classifiers.test/AnnotationClass|null[0]
final val property // classifiers.test/AnnotationClass.property|{}property[0]
final fun (): kotlin/String // classifiers.test/AnnotationClass.property.|(){}[0]
diff --git a/compiler/util-klib-abi/testData/content/excluded_classes_1.kt b/compiler/util-klib-abi/testData/content/excluded_classes_1.kt
index 8ca9f49a291..dfce2220dd5 100644
--- a/compiler/util-klib-abi/testData/content/excluded_classes_1.kt
+++ b/compiler/util-klib-abi/testData/content/excluded_classes_1.kt
@@ -1,4 +1,5 @@
// EXCLUDED_CLASSES: one.two/Foo three.four/Bar five.six/Baz
+// MODULE: excluded_classes_library
package excluded_classes.test
diff --git a/compiler/util-klib-abi/testData/content/excluded_classes_1.v1.txt b/compiler/util-klib-abi/testData/content/excluded_classes_1.v1.txt
index 22c60177a48..0ea8ebdebab 100644
--- a/compiler/util-klib-abi/testData/content/excluded_classes_1.v1.txt
+++ b/compiler/util-klib-abi/testData/content/excluded_classes_1.v1.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final class excluded_classes.test/Bar { // excluded_classes.test/Bar|null[0]
constructor () // excluded_classes.test/Bar.|-5645683436151566731[0]
final class Nested { // excluded_classes.test/Bar.Nested|null[0]
diff --git a/compiler/util-klib-abi/testData/content/excluded_classes_1.v2.txt b/compiler/util-klib-abi/testData/content/excluded_classes_1.v2.txt
index 0ef934f2658..7ff5e040bdf 100644
--- a/compiler/util-klib-abi/testData/content/excluded_classes_1.v2.txt
+++ b/compiler/util-klib-abi/testData/content/excluded_classes_1.v2.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final class excluded_classes.test/Bar { // excluded_classes.test/Bar|null[0]
constructor () // excluded_classes.test/Bar.|(){}[0]
final class Nested { // excluded_classes.test/Bar.Nested|null[0]
diff --git a/compiler/util-klib-abi/testData/content/excluded_classes_2.kt b/compiler/util-klib-abi/testData/content/excluded_classes_2.kt
index f0a34b7a3fa..b9a8e455f92 100644
--- a/compiler/util-klib-abi/testData/content/excluded_classes_2.kt
+++ b/compiler/util-klib-abi/testData/content/excluded_classes_2.kt
@@ -1,4 +1,5 @@
// EXCLUDED_CLASSES: one.two/Foo three.four/Bar excluded_classes.test/Foo excluded_classes.test/Bar.Nested excluded_classes.test/Baz.Nested.Nested five.six/Baz
+// MODULE: excluded_classes_library
package excluded_classes.test
diff --git a/compiler/util-klib-abi/testData/content/excluded_classes_2.v1.txt b/compiler/util-klib-abi/testData/content/excluded_classes_2.v1.txt
index 6445b17b16c..108905c7c89 100644
--- a/compiler/util-klib-abi/testData/content/excluded_classes_2.v1.txt
+++ b/compiler/util-klib-abi/testData/content/excluded_classes_2.v1.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final class excluded_classes.test/Bar { // excluded_classes.test/Bar|null[0]
constructor () // excluded_classes.test/Bar.|-5645683436151566731[0]
}
diff --git a/compiler/util-klib-abi/testData/content/excluded_classes_2.v2.txt b/compiler/util-klib-abi/testData/content/excluded_classes_2.v2.txt
index 0f277337006..4b76ac42176 100644
--- a/compiler/util-klib-abi/testData/content/excluded_classes_2.v2.txt
+++ b/compiler/util-klib-abi/testData/content/excluded_classes_2.v2.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final class excluded_classes.test/Bar { // excluded_classes.test/Bar|null[0]
constructor () // excluded_classes.test/Bar.|(){}[0]
}
diff --git a/compiler/util-klib-abi/testData/content/excluded_classes_3.kt b/compiler/util-klib-abi/testData/content/excluded_classes_3.kt
index 2e51fe2a1fe..4daed02f538 100644
--- a/compiler/util-klib-abi/testData/content/excluded_classes_3.kt
+++ b/compiler/util-klib-abi/testData/content/excluded_classes_3.kt
@@ -1,4 +1,5 @@
// EXCLUDED_CLASSES: one.two/Foo three.four/Bar /Foo /Bar.Nested /Baz.Nested.Nested five.six/Baz
+// MODULE: excluded_classes_library
class Foo {
class Nested {
diff --git a/compiler/util-klib-abi/testData/content/excluded_classes_3.v1.txt b/compiler/util-klib-abi/testData/content/excluded_classes_3.v1.txt
index 71d1681dff4..e938eb6ee5f 100644
--- a/compiler/util-klib-abi/testData/content/excluded_classes_3.v1.txt
+++ b/compiler/util-klib-abi/testData/content/excluded_classes_3.v1.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final class /Bar { // /Bar|null[0]
constructor () // /Bar.|-5645683436151566731[0]
}
diff --git a/compiler/util-klib-abi/testData/content/excluded_classes_3.v2.txt b/compiler/util-klib-abi/testData/content/excluded_classes_3.v2.txt
index cd59409a376..56ab2864b26 100644
--- a/compiler/util-klib-abi/testData/content/excluded_classes_3.v2.txt
+++ b/compiler/util-klib-abi/testData/content/excluded_classes_3.v2.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final class /Bar { // /Bar|null[0]
constructor () // /Bar.|(){}[0]
}
diff --git a/compiler/util-klib-abi/testData/content/excluded_classes_unspecified.kt b/compiler/util-klib-abi/testData/content/excluded_classes_unspecified.kt
deleted file mode 100644
index 02a42ab9497..00000000000
--- a/compiler/util-klib-abi/testData/content/excluded_classes_unspecified.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-// EXCLUDED_CLASSES:
-
-package excluded_classes.test
-
-class Foo {
- class Nested {
- class Nested
- }
-}
-class Bar {
- class Nested {
- class Nested
- }
-}
-class Baz {
- class Nested {
- class Nested
- }
-}
\ No newline at end of file
diff --git a/compiler/util-klib-abi/testData/content/excluded_classes_unspecified.v1.txt b/compiler/util-klib-abi/testData/content/excluded_classes_unspecified.v1.txt
deleted file mode 100644
index a6c4fdfe0d7..00000000000
--- a/compiler/util-klib-abi/testData/content/excluded_classes_unspecified.v1.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-// Rendering settings:
-// - Signature version: 1
-// - Show manifest properties: false
-// - Show declarations: true
-
-// Library unique name:
-final class excluded_classes.test/Bar { // excluded_classes.test/Bar|null[0]
- constructor () // excluded_classes.test/Bar.|-5645683436151566731[0]
- final class Nested { // excluded_classes.test/Bar.Nested|null[0]
- constructor () // excluded_classes.test/Bar.Nested.|-5645683436151566731[0]
- final class Nested { // excluded_classes.test/Bar.Nested.Nested|null[0]
- constructor () // excluded_classes.test/Bar.Nested.Nested.|-5645683436151566731[0]
- }
- }
-}
-final class excluded_classes.test/Baz { // excluded_classes.test/Baz|null[0]
- constructor () // excluded_classes.test/Baz.|-5645683436151566731[0]
- final class Nested { // excluded_classes.test/Baz.Nested|null[0]
- constructor () // excluded_classes.test/Baz.Nested.|-5645683436151566731[0]
- final class Nested { // excluded_classes.test/Baz.Nested.Nested|null[0]
- constructor () // excluded_classes.test/Baz.Nested.Nested.|-5645683436151566731[0]
- }
- }
-}
-final class excluded_classes.test/Foo { // excluded_classes.test/Foo|null[0]
- constructor () // excluded_classes.test/Foo.|-5645683436151566731[0]
- final class Nested { // excluded_classes.test/Foo.Nested|null[0]
- constructor () // excluded_classes.test/Foo.Nested.|-5645683436151566731[0]
- final class Nested { // excluded_classes.test/Foo.Nested.Nested|null[0]
- constructor () // excluded_classes.test/Foo.Nested.Nested.|-5645683436151566731[0]
- }
- }
-}
diff --git a/compiler/util-klib-abi/testData/content/excluded_classes_unspecified.v2.txt b/compiler/util-klib-abi/testData/content/excluded_classes_unspecified.v2.txt
deleted file mode 100644
index a05b9f7d15d..00000000000
--- a/compiler/util-klib-abi/testData/content/excluded_classes_unspecified.v2.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-// Rendering settings:
-// - Signature version: 2
-// - Show manifest properties: false
-// - Show declarations: true
-
-// Library unique name:
-final class excluded_classes.test/Bar { // excluded_classes.test/Bar|null[0]
- constructor () // excluded_classes.test/Bar.|(){}[0]
- final class Nested { // excluded_classes.test/Bar.Nested|null[0]
- constructor () // excluded_classes.test/Bar.Nested.|(){}[0]
- final class Nested { // excluded_classes.test/Bar.Nested.Nested|null[0]
- constructor () // excluded_classes.test/Bar.Nested.Nested.|(){}[0]
- }
- }
-}
-final class excluded_classes.test/Baz { // excluded_classes.test/Baz|null[0]
- constructor () // excluded_classes.test/Baz.|(){}[0]
- final class Nested { // excluded_classes.test/Baz.Nested|null[0]
- constructor () // excluded_classes.test/Baz.Nested.|(){}[0]
- final class Nested { // excluded_classes.test/Baz.Nested.Nested|null[0]
- constructor () // excluded_classes.test/Baz.Nested.Nested.|(){}[0]
- }
- }
-}
-final class excluded_classes.test/Foo { // excluded_classes.test/Foo|null[0]
- constructor () // excluded_classes.test/Foo.|(){}[0]
- final class Nested { // excluded_classes.test/Foo.Nested|null[0]
- constructor () // excluded_classes.test/Foo.Nested.|(){}[0]
- final class Nested { // excluded_classes.test/Foo.Nested.Nested|null[0]
- constructor () // excluded_classes.test/Foo.Nested.Nested.|(){}[0]
- }
- }
-}
diff --git a/compiler/util-klib-abi/testData/content/excluded_packages_non_root_1.kt b/compiler/util-klib-abi/testData/content/excluded_packages_non_root_1.kt
index 64f5f29e457..53fff13a59e 100644
--- a/compiler/util-klib-abi/testData/content/excluded_packages_non_root_1.kt
+++ b/compiler/util-klib-abi/testData/content/excluded_packages_non_root_1.kt
@@ -1,4 +1,5 @@
// EXCLUDED_PACKAGES: one.two three.four excluded_packages.test five.six
+// MODULE: excluded_packages_library
package excluded_packages.test
diff --git a/compiler/util-klib-abi/testData/content/excluded_packages_non_root_1.v1.txt b/compiler/util-klib-abi/testData/content/excluded_packages_non_root_1.v1.txt
index b15894b91d9..56756971d8f 100644
--- a/compiler/util-klib-abi/testData/content/excluded_packages_non_root_1.v1.txt
+++ b/compiler/util-klib-abi/testData/content/excluded_packages_non_root_1.v1.txt
@@ -3,4 +3,4 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
diff --git a/compiler/util-klib-abi/testData/content/excluded_packages_non_root_1.v2.txt b/compiler/util-klib-abi/testData/content/excluded_packages_non_root_1.v2.txt
index cf74f29b45b..0a693e24ffd 100644
--- a/compiler/util-klib-abi/testData/content/excluded_packages_non_root_1.v2.txt
+++ b/compiler/util-klib-abi/testData/content/excluded_packages_non_root_1.v2.txt
@@ -3,4 +3,4 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
diff --git a/compiler/util-klib-abi/testData/content/excluded_packages_non_root_2.kt b/compiler/util-klib-abi/testData/content/excluded_packages_non_root_2.kt
index be96f0ef667..287a4d83902 100644
--- a/compiler/util-klib-abi/testData/content/excluded_packages_non_root_2.kt
+++ b/compiler/util-klib-abi/testData/content/excluded_packages_non_root_2.kt
@@ -1,4 +1,5 @@
// EXCLUDED_PACKAGES: one.two three.four excluded_packages five.six
+// MODULE: excluded_packages_library
package excluded_packages.test
diff --git a/compiler/util-klib-abi/testData/content/excluded_packages_non_root_2.v1.txt b/compiler/util-klib-abi/testData/content/excluded_packages_non_root_2.v1.txt
index 73174cca372..56756971d8f 100644
--- a/compiler/util-klib-abi/testData/content/excluded_packages_non_root_2.v1.txt
+++ b/compiler/util-klib-abi/testData/content/excluded_packages_non_root_2.v1.txt
@@ -3,4 +3,4 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
diff --git a/compiler/util-klib-abi/testData/content/excluded_packages_non_root_2.v2.txt b/compiler/util-klib-abi/testData/content/excluded_packages_non_root_2.v2.txt
index 12c4c5d5210..0a693e24ffd 100644
--- a/compiler/util-klib-abi/testData/content/excluded_packages_non_root_2.v2.txt
+++ b/compiler/util-klib-abi/testData/content/excluded_packages_non_root_2.v2.txt
@@ -3,4 +3,4 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
diff --git a/compiler/util-klib-abi/testData/content/excluded_packages_non_root_3.kt b/compiler/util-klib-abi/testData/content/excluded_packages_non_root_3.kt
index 23d4a80fe4e..47aceafdddd 100644
--- a/compiler/util-klib-abi/testData/content/excluded_packages_non_root_3.kt
+++ b/compiler/util-klib-abi/testData/content/excluded_packages_non_root_3.kt
@@ -1,4 +1,5 @@
// EXCLUDED_PACKAGES: one.two three.four excluded_packages_ five.six
+// MODULE: excluded_packages_library
package excluded_packages.test
diff --git a/compiler/util-klib-abi/testData/content/excluded_packages_non_root_3.v1.txt b/compiler/util-klib-abi/testData/content/excluded_packages_non_root_3.v1.txt
index b20aa743acd..3316fca5f84 100644
--- a/compiler/util-klib-abi/testData/content/excluded_packages_non_root_3.v1.txt
+++ b/compiler/util-klib-abi/testData/content/excluded_packages_non_root_3.v1.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final class excluded_packages.test/Class { // excluded_packages.test/Class|null[0]
constructor () // excluded_packages.test/Class.|-5645683436151566731[0]
}
diff --git a/compiler/util-klib-abi/testData/content/excluded_packages_non_root_3.v2.txt b/compiler/util-klib-abi/testData/content/excluded_packages_non_root_3.v2.txt
index 3e009a201aa..0db938b7177 100644
--- a/compiler/util-klib-abi/testData/content/excluded_packages_non_root_3.v2.txt
+++ b/compiler/util-klib-abi/testData/content/excluded_packages_non_root_3.v2.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final class excluded_packages.test/Class { // excluded_packages.test/Class|null[0]
constructor () // excluded_packages.test/Class.|(){}[0]
}
diff --git a/compiler/util-klib-abi/testData/content/excluded_packages_non_root_4.kt b/compiler/util-klib-abi/testData/content/excluded_packages_non_root_4.kt
index fb8866c9ced..58ce911f37a 100644
--- a/compiler/util-klib-abi/testData/content/excluded_packages_non_root_4.kt
+++ b/compiler/util-klib-abi/testData/content/excluded_packages_non_root_4.kt
@@ -1,4 +1,5 @@
// EXCLUDED_PACKAGES: one.two three.four excluded_packages_non_root_ five.six
+// MODULE: excluded_packages_library
package excluded_packages.test
diff --git a/compiler/util-klib-abi/testData/content/excluded_packages_non_root_4.v1.txt b/compiler/util-klib-abi/testData/content/excluded_packages_non_root_4.v1.txt
index ffef0a41a83..3316fca5f84 100644
--- a/compiler/util-klib-abi/testData/content/excluded_packages_non_root_4.v1.txt
+++ b/compiler/util-klib-abi/testData/content/excluded_packages_non_root_4.v1.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final class excluded_packages.test/Class { // excluded_packages.test/Class|null[0]
constructor () // excluded_packages.test/Class.|-5645683436151566731[0]
}
diff --git a/compiler/util-klib-abi/testData/content/excluded_packages_non_root_4.v2.txt b/compiler/util-klib-abi/testData/content/excluded_packages_non_root_4.v2.txt
index 61f6fab431a..0db938b7177 100644
--- a/compiler/util-klib-abi/testData/content/excluded_packages_non_root_4.v2.txt
+++ b/compiler/util-klib-abi/testData/content/excluded_packages_non_root_4.v2.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final class excluded_packages.test/Class { // excluded_packages.test/Class|null[0]
constructor () // excluded_packages.test/Class.|(){}[0]
}
diff --git a/compiler/util-klib-abi/testData/content/excluded_packages_root_1.kt b/compiler/util-klib-abi/testData/content/excluded_packages_root_1.kt
index fca00175a32..d7ba4531a90 100644
--- a/compiler/util-klib-abi/testData/content/excluded_packages_root_1.kt
+++ b/compiler/util-klib-abi/testData/content/excluded_packages_root_1.kt
@@ -1,4 +1,5 @@
// EXCLUDED_PACKAGES: one.two three.four "" five.six
+// MODULE: excluded_packages_library
class Class
fun function(): String = ""
diff --git a/compiler/util-klib-abi/testData/content/excluded_packages_root_1.v1.txt b/compiler/util-klib-abi/testData/content/excluded_packages_root_1.v1.txt
index c303799d63b..56756971d8f 100644
--- a/compiler/util-klib-abi/testData/content/excluded_packages_root_1.v1.txt
+++ b/compiler/util-klib-abi/testData/content/excluded_packages_root_1.v1.txt
@@ -3,4 +3,4 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
diff --git a/compiler/util-klib-abi/testData/content/excluded_packages_root_1.v2.txt b/compiler/util-klib-abi/testData/content/excluded_packages_root_1.v2.txt
index 281873f4813..0a693e24ffd 100644
--- a/compiler/util-klib-abi/testData/content/excluded_packages_root_1.v2.txt
+++ b/compiler/util-klib-abi/testData/content/excluded_packages_root_1.v2.txt
@@ -3,4 +3,4 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
diff --git a/compiler/util-klib-abi/testData/content/excluded_packages_root_2.kt b/compiler/util-klib-abi/testData/content/excluded_packages_root_2.kt
index a89ff43a371..c582af882fa 100644
--- a/compiler/util-klib-abi/testData/content/excluded_packages_root_2.kt
+++ b/compiler/util-klib-abi/testData/content/excluded_packages_root_2.kt
@@ -1,4 +1,5 @@
// EXCLUDED_PACKAGES: one.two three.four "" five.six
+// MODULE: excluded_packages_library
package excluded_packages.test
diff --git a/compiler/util-klib-abi/testData/content/excluded_packages_root_2.v1.txt b/compiler/util-klib-abi/testData/content/excluded_packages_root_2.v1.txt
index a185aadbad4..56756971d8f 100644
--- a/compiler/util-klib-abi/testData/content/excluded_packages_root_2.v1.txt
+++ b/compiler/util-klib-abi/testData/content/excluded_packages_root_2.v1.txt
@@ -3,4 +3,4 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
diff --git a/compiler/util-klib-abi/testData/content/excluded_packages_root_2.v2.txt b/compiler/util-klib-abi/testData/content/excluded_packages_root_2.v2.txt
index ac9e03e6d5c..0a693e24ffd 100644
--- a/compiler/util-klib-abi/testData/content/excluded_packages_root_2.v2.txt
+++ b/compiler/util-klib-abi/testData/content/excluded_packages_root_2.v2.txt
@@ -3,4 +3,4 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
diff --git a/compiler/util-klib-abi/testData/content/excluded_packages_unspecified.kt b/compiler/util-klib-abi/testData/content/excluded_packages_unspecified.kt
deleted file mode 100644
index 4cc9a16fa78..00000000000
--- a/compiler/util-klib-abi/testData/content/excluded_packages_unspecified.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-// EXCLUDED_PACKAGES:
-
-class Class
-fun function(): String = ""
-val property: String get() = ""
diff --git a/compiler/util-klib-abi/testData/content/excluded_packages_unspecified.v1.txt b/compiler/util-klib-abi/testData/content/excluded_packages_unspecified.v1.txt
deleted file mode 100644
index 5a57596593b..00000000000
--- a/compiler/util-klib-abi/testData/content/excluded_packages_unspecified.v1.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-// Rendering settings:
-// - Signature version: 1
-// - Show manifest properties: false
-// - Show declarations: true
-
-// Library unique name:
-final class /Class { // /Class|null[0]
- constructor () // /Class.|-5645683436151566731[0]
-}
-final val /property // /property|4634558160746314112[0]
- final fun (): kotlin/String // /property.|4838831487146901942[0]
-final fun /function(): kotlin/String // /function|-3322893411126713785[0]
diff --git a/compiler/util-klib-abi/testData/content/excluded_packages_unspecified.v2.txt b/compiler/util-klib-abi/testData/content/excluded_packages_unspecified.v2.txt
deleted file mode 100644
index 1c1341e2f18..00000000000
--- a/compiler/util-klib-abi/testData/content/excluded_packages_unspecified.v2.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-// Rendering settings:
-// - Signature version: 2
-// - Show manifest properties: false
-// - Show declarations: true
-
-// Library unique name:
-final class /Class { // /Class|null[0]
- constructor () // /Class.|(){}[0]
-}
-final val /property // /property|{}property[0]
- final fun (): kotlin/String // /property.|(){}[0]
-final fun /function(): kotlin/String // /function|function(){}[0]
diff --git a/compiler/util-klib-abi/testData/content/inheritance.kt b/compiler/util-klib-abi/testData/content/inheritance.kt
index 34da367c153..83dd348d862 100644
--- a/compiler/util-klib-abi/testData/content/inheritance.kt
+++ b/compiler/util-klib-abi/testData/content/inheritance.kt
@@ -1,3 +1,5 @@
+// MODULE: classifiers_inheritance_library
+
package classifiers.inheritance
final class FinalClass {
diff --git a/compiler/util-klib-abi/testData/content/inheritance.v1.txt b/compiler/util-klib-abi/testData/content/inheritance.v1.txt
index f73dfd9c3d0..d7c496e98ef 100644
--- a/compiler/util-klib-abi/testData/content/inheritance.v1.txt
+++ b/compiler/util-klib-abi/testData/content/inheritance.v1.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
abstract class classifiers.inheritance/AbstractClass { // classifiers.inheritance/AbstractClass|null[0]
abstract val abstractVal // classifiers.inheritance/AbstractClass.abstractVal|2000751617811374017[0]
abstract fun (): kotlin/String // classifiers.inheritance/AbstractClass.abstractVal.|-836793625462255519[0]
diff --git a/compiler/util-klib-abi/testData/content/inheritance.v2.txt b/compiler/util-klib-abi/testData/content/inheritance.v2.txt
index f7e51f1d42f..277218ab442 100644
--- a/compiler/util-klib-abi/testData/content/inheritance.v2.txt
+++ b/compiler/util-klib-abi/testData/content/inheritance.v2.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
abstract class classifiers.inheritance/AbstractClass { // classifiers.inheritance/AbstractClass|null[0]
abstract val abstractVal // classifiers.inheritance/AbstractClass.abstractVal|{}abstractVal[0]
abstract fun (): kotlin/String // classifiers.inheritance/AbstractClass.abstractVal.|(){}[0]
diff --git a/compiler/util-klib-abi/testData/content/root_package.kt b/compiler/util-klib-abi/testData/content/root_package.kt
index 804b47f62e6..e06c7f4a0db 100644
--- a/compiler/util-klib-abi/testData/content/root_package.kt
+++ b/compiler/util-klib-abi/testData/content/root_package.kt
@@ -1,4 +1,7 @@
-// Check how declarations from the root package are rendered.
+// MODULE: root_package_library
+
+// About this test:
+// It checks how declarations from the root package are rendered.
interface Interface {
interface NestedInterface
diff --git a/compiler/util-klib-abi/testData/content/root_package.v1.txt b/compiler/util-klib-abi/testData/content/root_package.v1.txt
index 11f71ce8acd..436b061570f 100644
--- a/compiler/util-klib-abi/testData/content/root_package.v1.txt
+++ b/compiler/util-klib-abi/testData/content/root_package.v1.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final class /Class : /Interface, /Interface.NestedInterface { // /Class|null[0]
final val property // /Class.property|4634558160746314112[0]
final fun (): kotlin/String // /Class.property.|4838831487146901942[0]
diff --git a/compiler/util-klib-abi/testData/content/root_package.v2.txt b/compiler/util-klib-abi/testData/content/root_package.v2.txt
index 8e4e14c67bb..71d37067124 100644
--- a/compiler/util-klib-abi/testData/content/root_package.v2.txt
+++ b/compiler/util-klib-abi/testData/content/root_package.v2.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final class /Class : /Interface, /Interface.NestedInterface { // /Class|null[0]
final val property // /Class.property|{}property[0]
final fun (): kotlin/String // /Class.property.|(){}[0]
diff --git a/compiler/util-klib-abi/testData/content/type_parameters.kt b/compiler/util-klib-abi/testData/content/type_parameters.kt
index a7568858a32..13d926f67ed 100644
--- a/compiler/util-klib-abi/testData/content/type_parameters.kt
+++ b/compiler/util-klib-abi/testData/content/type_parameters.kt
@@ -1,3 +1,6 @@
+// !LANGUAGE: +ContextReceivers
+// MODULE: type_parameters_library
+
package type_parameters.test
interface Interface
diff --git a/compiler/util-klib-abi/testData/content/type_parameters.v1.txt b/compiler/util-klib-abi/testData/content/type_parameters.v1.txt
index d33149ea51d..bb9a5cb6875 100644
--- a/compiler/util-klib-abi/testData/content/type_parameters.v1.txt
+++ b/compiler/util-klib-abi/testData/content/type_parameters.v1.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
abstract interface <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> type_parameters.test/Interface // type_parameters.test/Interface|null[0]
final class <#A: kotlin.text/Appendable> type_parameters.test/Outer { // type_parameters.test/Outer|null[0]
final var property // type_parameters.test/Outer.property|4489440291872326119[0]
diff --git a/compiler/util-klib-abi/testData/content/type_parameters.v2.txt b/compiler/util-klib-abi/testData/content/type_parameters.v2.txt
index 9939f329dc7..e379f14cc6b 100644
--- a/compiler/util-klib-abi/testData/content/type_parameters.v2.txt
+++ b/compiler/util-klib-abi/testData/content/type_parameters.v2.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
abstract interface <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> type_parameters.test/Interface // type_parameters.test/Interface|null[0]
final class <#A: kotlin.text/Appendable> type_parameters.test/Outer { // type_parameters.test/Outer|null[0]
final var property // type_parameters.test/Outer.property|@1:0{}property[0]
diff --git a/compiler/util-klib-abi/testData/content/value_parameters.kt b/compiler/util-klib-abi/testData/content/value_parameters.kt
index 16806d62c5a..bd450b5c0e2 100644
--- a/compiler/util-klib-abi/testData/content/value_parameters.kt
+++ b/compiler/util-klib-abi/testData/content/value_parameters.kt
@@ -1,3 +1,6 @@
+// !LANGUAGE: +ContextReceivers
+// MODULE: value_parameters_library
+
package value_parameters.test
inline fun funWithInlineParameters1(
diff --git a/compiler/util-klib-abi/testData/content/value_parameters.v1.txt b/compiler/util-klib-abi/testData/content/value_parameters.v1.txt
index 5b073934ee2..3b0ead19522 100644
--- a/compiler/util-klib-abi/testData/content/value_parameters.v1.txt
+++ b/compiler/util-klib-abi/testData/content/value_parameters.v1.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final fun value_parameters.test/funWithDefaultArgs(kotlin/Int =..., kotlin/Long, kotlin/String =...): kotlin/String // value_parameters.test/funWithDefaultArgs|-2013334893880470152[0]
final fun context(kotlin/Int, kotlin/Long) value_parameters.test/funWithDefaultArgs(kotlin/Int =..., kotlin/Long, kotlin/String =...): kotlin/String // value_parameters.test/funWithDefaultArgs|-1283395221811731897[0]
final inline fun value_parameters.test/funWithInlineParameters1(kotlin/Function1, noinline kotlin/Function1, crossinline kotlin/Function1): kotlin/String // value_parameters.test/funWithInlineParameters1|8789385144825475619[0]
diff --git a/compiler/util-klib-abi/testData/content/value_parameters.v2.txt b/compiler/util-klib-abi/testData/content/value_parameters.v2.txt
index 32646c92145..8a0713447d0 100644
--- a/compiler/util-klib-abi/testData/content/value_parameters.v2.txt
+++ b/compiler/util-klib-abi/testData/content/value_parameters.v2.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final fun value_parameters.test/funWithDefaultArgs(kotlin/Int =..., kotlin/Long, kotlin/String =...): kotlin/String // value_parameters.test/funWithDefaultArgs|funWithDefaultArgs(kotlin.Int;kotlin.Long;kotlin.String){}[0]
final fun context(kotlin/Int, kotlin/Long) value_parameters.test/funWithDefaultArgs(kotlin/Int =..., kotlin/Long, kotlin/String =...): kotlin/String // value_parameters.test/funWithDefaultArgs|funWithDefaultArgs!kotlin.Int!kotlin.Long(kotlin.Int;kotlin.Long;kotlin.String){}[0]
final inline fun value_parameters.test/funWithInlineParameters1(kotlin/Function1, noinline kotlin/Function1, crossinline kotlin/Function1): kotlin/String // value_parameters.test/funWithInlineParameters1|funWithInlineParameters1(kotlin.Function1;kotlin.Function1;kotlin.Function1){}[0]
diff --git a/compiler/util-klib-abi/testData/content/visibilities.kt b/compiler/util-klib-abi/testData/content/visibilities.kt
index 3b3a418a838..0aa018d5793 100644
--- a/compiler/util-klib-abi/testData/content/visibilities.kt
+++ b/compiler/util-klib-abi/testData/content/visibilities.kt
@@ -1,3 +1,5 @@
+// MODULE: visibilities_library
+
package visibilities.test
public fun publicFun(): String = ""
diff --git a/compiler/util-klib-abi/testData/content/visibilities.v1.txt b/compiler/util-klib-abi/testData/content/visibilities.v1.txt
index d0fb6f88ec3..625872ed6c1 100644
--- a/compiler/util-klib-abi/testData/content/visibilities.v1.txt
+++ b/compiler/util-klib-abi/testData/content/visibilities.v1.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final class visibilities.test/InternalPAClass { // visibilities.test/InternalPAClass|null[0]
final val property // visibilities.test/InternalPAClass.property|4634558160746314112[0]
final fun (): kotlin/String // visibilities.test/InternalPAClass.property.|4838831487146901942[0]
diff --git a/compiler/util-klib-abi/testData/content/visibilities.v2.txt b/compiler/util-klib-abi/testData/content/visibilities.v2.txt
index ca3e0286ed5..7ff0fc5a3f5 100644
--- a/compiler/util-klib-abi/testData/content/visibilities.v2.txt
+++ b/compiler/util-klib-abi/testData/content/visibilities.v2.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final class visibilities.test/InternalPAClass { // visibilities.test/InternalPAClass|null[0]
final val property // visibilities.test/InternalPAClass.property|{}property[0]
final fun (): kotlin/String // visibilities.test/InternalPAClass.property.|(){}[0]
diff --git a/compiler/util-klib-abi/testData/content/with_non_public_markers_1.kt b/compiler/util-klib-abi/testData/content/with_non_public_markers_1.kt
index a2248aab9b9..6abef3e945c 100644
--- a/compiler/util-klib-abi/testData/content/with_non_public_markers_1.kt
+++ b/compiler/util-klib-abi/testData/content/with_non_public_markers_1.kt
@@ -1,4 +1,5 @@
// NON_PUBLIC_MARKERS: one.two/Three.Four five.six/Seven.Eight nine.ten/Eleven.Twelve
+// MODULE: with_non_public_markers_library
annotation class Foo
annotation class Bar
diff --git a/compiler/util-klib-abi/testData/content/with_non_public_markers_1.v1.txt b/compiler/util-klib-abi/testData/content/with_non_public_markers_1.v1.txt
index fa9fb425b76..e466227e60f 100644
--- a/compiler/util-klib-abi/testData/content/with_non_public_markers_1.v1.txt
+++ b/compiler/util-klib-abi/testData/content/with_non_public_markers_1.v1.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final object /Another { // /Another|null[0]
open annotation class Bar : kotlin/Annotation { // /Another.Bar|null[0]
constructor () // /Another.Bar.|-5645683436151566731[0]
diff --git a/compiler/util-klib-abi/testData/content/with_non_public_markers_1.v2.txt b/compiler/util-klib-abi/testData/content/with_non_public_markers_1.v2.txt
index f98a29f5478..c44f4ea3fee 100644
--- a/compiler/util-klib-abi/testData/content/with_non_public_markers_1.v2.txt
+++ b/compiler/util-klib-abi/testData/content/with_non_public_markers_1.v2.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final object /Another { // /Another|null[0]
open annotation class Bar : kotlin/Annotation { // /Another.Bar|null[0]
constructor () // /Another.Bar.|(){}[0]
diff --git a/compiler/util-klib-abi/testData/content/with_non_public_markers_2.kt b/compiler/util-klib-abi/testData/content/with_non_public_markers_2.kt
index debcc28fd21..8f00177ceca 100644
--- a/compiler/util-klib-abi/testData/content/with_non_public_markers_2.kt
+++ b/compiler/util-klib-abi/testData/content/with_non_public_markers_2.kt
@@ -1,4 +1,5 @@
// NON_PUBLIC_MARKERS: one.two/Three.Four five.six/Seven.Eight /Foo nine.ten/Eleven.Twelve
+// MODULE: with_non_public_markers_library
annotation class Foo
annotation class Bar
diff --git a/compiler/util-klib-abi/testData/content/with_non_public_markers_2.v1.txt b/compiler/util-klib-abi/testData/content/with_non_public_markers_2.v1.txt
index 00fd2416fa0..e664131690e 100644
--- a/compiler/util-klib-abi/testData/content/with_non_public_markers_2.v1.txt
+++ b/compiler/util-klib-abi/testData/content/with_non_public_markers_2.v1.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final object /Another { // /Another|null[0]
open annotation class Bar : kotlin/Annotation { // /Another.Bar|null[0]
constructor () // /Another.Bar.|-5645683436151566731[0]
diff --git a/compiler/util-klib-abi/testData/content/with_non_public_markers_2.v2.txt b/compiler/util-klib-abi/testData/content/with_non_public_markers_2.v2.txt
index 70624da86ca..176687b96e3 100644
--- a/compiler/util-klib-abi/testData/content/with_non_public_markers_2.v2.txt
+++ b/compiler/util-klib-abi/testData/content/with_non_public_markers_2.v2.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final object /Another { // /Another|null[0]
open annotation class Bar : kotlin/Annotation { // /Another.Bar|null[0]
constructor () // /Another.Bar.|(){}[0]
diff --git a/compiler/util-klib-abi/testData/content/with_non_public_markers_3.kt b/compiler/util-klib-abi/testData/content/with_non_public_markers_3.kt
index 9d97b050892..240396424d8 100644
--- a/compiler/util-klib-abi/testData/content/with_non_public_markers_3.kt
+++ b/compiler/util-klib-abi/testData/content/with_non_public_markers_3.kt
@@ -1,4 +1,5 @@
// NON_PUBLIC_MARKERS: one.two/Three.Four five.six/Seven.Eight /Foo /Another.Bar nine.ten/Eleven.Twelve
+// MODULE: with_non_public_markers_library
annotation class Foo
annotation class Bar
diff --git a/compiler/util-klib-abi/testData/content/with_non_public_markers_3.v1.txt b/compiler/util-klib-abi/testData/content/with_non_public_markers_3.v1.txt
index 1c978a5ab6e..dd2799cb377 100644
--- a/compiler/util-klib-abi/testData/content/with_non_public_markers_3.v1.txt
+++ b/compiler/util-klib-abi/testData/content/with_non_public_markers_3.v1.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final object /Another { // /Another|null[0]
open annotation class Bar : kotlin/Annotation { // /Another.Bar|null[0]
constructor () // /Another.Bar.|-5645683436151566731[0]
diff --git a/compiler/util-klib-abi/testData/content/with_non_public_markers_3.v2.txt b/compiler/util-klib-abi/testData/content/with_non_public_markers_3.v2.txt
index 4143be3b13a..f878ca535f0 100644
--- a/compiler/util-klib-abi/testData/content/with_non_public_markers_3.v2.txt
+++ b/compiler/util-klib-abi/testData/content/with_non_public_markers_3.v2.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final object /Another { // /Another|null[0]
open annotation class Bar : kotlin/Annotation { // /Another.Bar|null[0]
constructor () // /Another.Bar.|(){}[0]
diff --git a/compiler/util-klib-abi/testData/content/with_non_public_markers_4.kt b/compiler/util-klib-abi/testData/content/with_non_public_markers_4.kt
index 85e96370196..761308e24ac 100644
--- a/compiler/util-klib-abi/testData/content/with_non_public_markers_4.kt
+++ b/compiler/util-klib-abi/testData/content/with_non_public_markers_4.kt
@@ -1,4 +1,5 @@
// NON_PUBLIC_MARKERS: one.two/Three.Four five.six/Seven.Eight non_public_markers.test/Foo nine.ten/Eleven.Twelve
+// MODULE: with_non_public_markers_library
package non_public_markers.test
diff --git a/compiler/util-klib-abi/testData/content/with_non_public_markers_4.v1.txt b/compiler/util-klib-abi/testData/content/with_non_public_markers_4.v1.txt
index ab2810c23de..9303c09bec7 100644
--- a/compiler/util-klib-abi/testData/content/with_non_public_markers_4.v1.txt
+++ b/compiler/util-klib-abi/testData/content/with_non_public_markers_4.v1.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final object non_public_markers.test/Another { // non_public_markers.test/Another|null[0]
open annotation class Bar : kotlin/Annotation { // non_public_markers.test/Another.Bar|null[0]
constructor () // non_public_markers.test/Another.Bar.|-5645683436151566731[0]
diff --git a/compiler/util-klib-abi/testData/content/with_non_public_markers_4.v2.txt b/compiler/util-klib-abi/testData/content/with_non_public_markers_4.v2.txt
index 4d2f5dd1228..0ad2890c0a4 100644
--- a/compiler/util-klib-abi/testData/content/with_non_public_markers_4.v2.txt
+++ b/compiler/util-klib-abi/testData/content/with_non_public_markers_4.v2.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final object non_public_markers.test/Another { // non_public_markers.test/Another|null[0]
open annotation class Bar : kotlin/Annotation { // non_public_markers.test/Another.Bar|null[0]
constructor () // non_public_markers.test/Another.Bar.|(){}[0]
diff --git a/compiler/util-klib-abi/testData/content/with_non_public_markers_5.kt b/compiler/util-klib-abi/testData/content/with_non_public_markers_5.kt
index d59bce45121..4b63820b39a 100644
--- a/compiler/util-klib-abi/testData/content/with_non_public_markers_5.kt
+++ b/compiler/util-klib-abi/testData/content/with_non_public_markers_5.kt
@@ -1,4 +1,5 @@
// NON_PUBLIC_MARKERS: one.two/Three.Four five.six/Seven.Eight non_public_markers.test/Foo non_public_markers.test/Another.Bar nine.ten/Eleven.Twelve
+// MODULE: with_non_public_markers_library
package non_public_markers.test
diff --git a/compiler/util-klib-abi/testData/content/with_non_public_markers_5.v1.txt b/compiler/util-klib-abi/testData/content/with_non_public_markers_5.v1.txt
index 556e71f1080..5f2576b9673 100644
--- a/compiler/util-klib-abi/testData/content/with_non_public_markers_5.v1.txt
+++ b/compiler/util-klib-abi/testData/content/with_non_public_markers_5.v1.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final object non_public_markers.test/Another { // non_public_markers.test/Another|null[0]
open annotation class Bar : kotlin/Annotation { // non_public_markers.test/Another.Bar|null[0]
constructor () // non_public_markers.test/Another.Bar.|-5645683436151566731[0]
diff --git a/compiler/util-klib-abi/testData/content/with_non_public_markers_5.v2.txt b/compiler/util-klib-abi/testData/content/with_non_public_markers_5.v2.txt
index 86807edec47..eac1da9b2cb 100644
--- a/compiler/util-klib-abi/testData/content/with_non_public_markers_5.v2.txt
+++ b/compiler/util-klib-abi/testData/content/with_non_public_markers_5.v2.txt
@@ -3,7 +3,7 @@
// - Show manifest properties: false
// - Show declarations: true
-// Library unique name:
+// Library unique name:
final object non_public_markers.test/Another { // non_public_markers.test/Another|null[0]
open annotation class Bar : kotlin/Annotation { // non_public_markers.test/Another.Bar|null[0]
constructor