From 08a1134fff88532d2363305b41f19c51340ff02d Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Wed, 28 Jul 2021 12:24:44 +0300 Subject: [PATCH] [Test] Remove abstract MultiModuleInfoDumper --- .../backend/handlers/BytecodeListingHandler.kt | 4 ++-- .../backend/handlers/IrPrettyKotlinDumpHandler.kt | 4 ++-- .../test/backend/handlers/IrTextDumpHandler.kt | 4 ++-- .../test/backend/handlers/SMAPDumpHandler.kt | 4 ++-- .../classic/handlers/DeclarationsDumpHandler.kt | 3 +-- .../classic/handlers/DynamicCallsDumpHandler.kt | 3 +-- .../test/frontend/fir/handlers/FirDumpHandler.kt | 3 +-- .../frontend/fir/handlers/FirScopeDumpHandler.kt | 4 ++-- .../kotlin/test/utils/MultiModuleInfoDumper.kt | 14 ++++---------- 9 files changed, 17 insertions(+), 26 deletions(-) diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/BytecodeListingHandler.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/BytecodeListingHandler.kt index 91cde703998..fe7774d4044 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/BytecodeListingHandler.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/BytecodeListingHandler.kt @@ -16,7 +16,7 @@ import org.jetbrains.kotlin.test.model.TestModule import org.jetbrains.kotlin.test.services.TestServices import org.jetbrains.kotlin.test.services.defaultsProvider import org.jetbrains.kotlin.test.services.moduleStructure -import org.jetbrains.kotlin.test.utils.MultiModuleInfoDumperImpl +import org.jetbrains.kotlin.test.utils.MultiModuleInfoDumper import org.jetbrains.kotlin.test.utils.withExtension import org.jetbrains.kotlin.test.utils.withSuffixAndExtension import java.io.File @@ -25,7 +25,7 @@ class BytecodeListingHandler(testServices: TestServices) : JvmBinaryArtifactHand override val directiveContainers: List get() = listOf(CodegenTestDirectives) - private val multiModuleInfoDumper = MultiModuleInfoDumperImpl() + private val multiModuleInfoDumper = MultiModuleInfoDumper() override fun processModule(module: TestModule, info: BinaryArtifacts.Jvm) { if (CHECK_BYTECODE_LISTING !in module.directives) return diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrPrettyKotlinDumpHandler.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrPrettyKotlinDumpHandler.kt index 3809a7284a3..392d13f8b72 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrPrettyKotlinDumpHandler.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrPrettyKotlinDumpHandler.kt @@ -20,7 +20,7 @@ import org.jetbrains.kotlin.test.directives.model.DirectivesContainer 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.MultiModuleInfoDumperImpl +import org.jetbrains.kotlin.test.utils.MultiModuleInfoDumper import org.jetbrains.kotlin.test.utils.withExtension class IrPrettyKotlinDumpHandler(testServices: TestServices) : AbstractIrHandler(testServices) { @@ -28,7 +28,7 @@ class IrPrettyKotlinDumpHandler(testServices: TestServices) : AbstractIrHandler( const val DUMP_EXTENSION = "kt.txt" } - private val dumper = MultiModuleInfoDumperImpl("// MODULE: %s") + private val dumper = MultiModuleInfoDumper("// MODULE: %s") override val directiveContainers: List get() = listOf(CodegenTestDirectives, FirDiagnosticsDirectives) diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrTextDumpHandler.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrTextDumpHandler.kt index 5a3930aaabd..1cb9529fce4 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrTextDumpHandler.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrTextDumpHandler.kt @@ -32,7 +32,7 @@ import org.jetbrains.kotlin.test.model.TestFile 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.MultiModuleInfoDumperImpl +import org.jetbrains.kotlin.test.utils.MultiModuleInfoDumper import org.jetbrains.kotlin.test.utils.withExtension import org.jetbrains.kotlin.test.utils.withSuffixAndExtension import java.io.File @@ -56,7 +56,7 @@ class IrTextDumpHandler(testServices: TestServices) : AbstractIrHandler(testServ override val directiveContainers: List get() = listOf(CodegenTestDirectives, FirDiagnosticsDirectives) - private val baseDumper = MultiModuleInfoDumperImpl() + private val baseDumper = MultiModuleInfoDumper() private val buildersForSeparateFileDumps: MutableMap = mutableMapOf() @OptIn(ExperimentalStdlibApi::class) diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/SMAPDumpHandler.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/SMAPDumpHandler.kt index 8a00b933054..b330f91de84 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/SMAPDumpHandler.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/SMAPDumpHandler.kt @@ -17,7 +17,7 @@ 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.MultiModuleInfoDumperImpl +import org.jetbrains.kotlin.test.utils.MultiModuleInfoDumper import org.jetbrains.kotlin.test.utils.withExtension class SMAPDumpHandler(testServices: TestServices) : JvmBinaryArtifactHandler(testServices) { @@ -30,7 +30,7 @@ class SMAPDumpHandler(testServices: TestServices) : JvmBinaryArtifactHandler(tes override val directiveContainers: List get() = listOf(CodegenTestDirectives) - private val dumper = MultiModuleInfoDumperImpl(moduleHeaderTemplate = null) + private val dumper = MultiModuleInfoDumper(moduleHeaderTemplate = null) override fun processModule(module: TestModule, info: BinaryArtifacts.Jvm) { if (!GENERATE_SMAP) return diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/classic/handlers/DeclarationsDumpHandler.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/classic/handlers/DeclarationsDumpHandler.kt index 1a273fa3600..483518b46e8 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/classic/handlers/DeclarationsDumpHandler.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/classic/handlers/DeclarationsDumpHandler.kt @@ -28,7 +28,6 @@ import org.jetbrains.kotlin.test.util.DescriptorValidator import org.jetbrains.kotlin.test.util.RecursiveDescriptorComparator import org.jetbrains.kotlin.test.util.RecursiveDescriptorComparator.RECURSIVE import org.jetbrains.kotlin.test.utils.MultiModuleInfoDumper -import org.jetbrains.kotlin.test.utils.MultiModuleInfoDumperImpl import org.jetbrains.kotlin.utils.keysToMap import java.util.function.Predicate import java.util.regex.Pattern @@ -45,7 +44,7 @@ class DeclarationsDumpHandler( override val directiveContainers: List get() = listOf(DiagnosticsDirectives) - private val dumper: MultiModuleInfoDumper = MultiModuleInfoDumperImpl(moduleHeaderTemplate = "// -- Module: <%s> --") + private val dumper: MultiModuleInfoDumper = MultiModuleInfoDumper(moduleHeaderTemplate = "// -- Module: <%s> --") override fun processAfterAllModules(someAssertionWasFailed: Boolean) { if (dumper.isEmpty()) return diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/classic/handlers/DynamicCallsDumpHandler.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/classic/handlers/DynamicCallsDumpHandler.kt index aaaabd0247b..bd995b96533 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/classic/handlers/DynamicCallsDumpHandler.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/classic/handlers/DynamicCallsDumpHandler.kt @@ -18,7 +18,6 @@ import org.jetbrains.kotlin.test.services.moduleStructure import org.jetbrains.kotlin.test.util.RecursiveDescriptorComparator import org.jetbrains.kotlin.test.util.RecursiveDescriptorComparator.RECURSIVE_ALL import org.jetbrains.kotlin.test.utils.MultiModuleInfoDumper -import org.jetbrains.kotlin.test.utils.MultiModuleInfoDumperImpl import org.jetbrains.kotlin.test.utils.withExtension class DynamicCallsDumpHandler(testServices: TestServices) : ClassicFrontendAnalysisHandler(testServices) { @@ -29,7 +28,7 @@ class DynamicCallsDumpHandler(testServices: TestServices) : ClassicFrontendAnaly override val directiveContainers: List get() = listOf(DiagnosticsDirectives) - private val dumper: MultiModuleInfoDumper = MultiModuleInfoDumperImpl(moduleHeaderTemplate = "// -- Module: <%s> --") + private val dumper: MultiModuleInfoDumper = MultiModuleInfoDumper(moduleHeaderTemplate = "// -- Module: <%s> --") override fun processModule(module: TestModule, info: ClassicFrontendOutputArtifact) { val dynamicCallDescriptors = mutableListOf() diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/handlers/FirDumpHandler.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/handlers/FirDumpHandler.kt index cec5ed0de58..d81cfb833bc 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/handlers/FirDumpHandler.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/handlers/FirDumpHandler.kt @@ -13,12 +13,11 @@ 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.MultiModuleInfoDumperImpl class FirDumpHandler( testServices: TestServices ) : FirAnalysisHandler(testServices) { - private val dumper: MultiModuleInfoDumper = MultiModuleInfoDumperImpl() + private val dumper: MultiModuleInfoDumper = MultiModuleInfoDumper() override val directiveContainers: List get() = listOf(FirDiagnosticsDirectives) diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/handlers/FirScopeDumpHandler.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/handlers/FirScopeDumpHandler.kt index 4ae5bff865e..3e616844313 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/handlers/FirScopeDumpHandler.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/handlers/FirScopeDumpHandler.kt @@ -27,14 +27,14 @@ import org.jetbrains.kotlin.test.frontend.fir.FirOutputArtifact 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.MultiModuleInfoDumperImpl +import org.jetbrains.kotlin.test.utils.MultiModuleInfoDumper import org.jetbrains.kotlin.test.utils.withExtension import org.jetbrains.kotlin.util.SmartPrinter import org.jetbrains.kotlin.util.withIndent @OptIn(SymbolInternals::class) class FirScopeDumpHandler(testServices: TestServices) : FirAnalysisHandler(testServices) { - private val dumper = MultiModuleInfoDumperImpl() + private val dumper = MultiModuleInfoDumper() override val directiveContainers: List get() = listOf(FirDiagnosticsDirectives) diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/utils/MultiModuleInfoDumper.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/utils/MultiModuleInfoDumper.kt index 885404fabef..340f316ac54 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/utils/MultiModuleInfoDumper.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/utils/MultiModuleInfoDumper.kt @@ -7,21 +7,15 @@ package org.jetbrains.kotlin.test.utils import org.jetbrains.kotlin.test.model.TestModule -abstract class MultiModuleInfoDumper { - abstract fun builderForModule(module: TestModule): StringBuilder - abstract fun generateResultingDump(): String - abstract fun isEmpty(): Boolean -} - // TODO: consider about tests with multiple testdata files -class MultiModuleInfoDumperImpl(private val moduleHeaderTemplate: String? = "Module: %s") : MultiModuleInfoDumper() { +class MultiModuleInfoDumper(private val moduleHeaderTemplate: String? = "Module: %s") { private val builderByModule = LinkedHashMap() - override fun builderForModule(module: TestModule): StringBuilder { + fun builderForModule(module: TestModule): StringBuilder { return builderByModule.getOrPut(module, ::StringBuilder) } - override fun generateResultingDump(): String { + fun generateResultingDump(): String { builderByModule.values.singleOrNull()?.let { return it.toString() } return buildString { for ((module, builder) in builderByModule) { @@ -31,7 +25,7 @@ class MultiModuleInfoDumperImpl(private val moduleHeaderTemplate: String? = "Mod } } - override fun isEmpty(): Boolean { + fun isEmpty(): Boolean { return builderByModule.isEmpty() } }