From f29012a78ff554977d65065a7d187747479b5eda Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Fri, 1 Mar 2019 20:20:47 +0100 Subject: [PATCH] Remove unreachable code in psi2ir tests, delete unused tests --- .../kotlin/ir/AbstractIrGeneratorTestCase.kt | 63 +++---------------- .../kotlin/ir/AbstractIrJsTextTestCase.kt | 10 +-- .../kotlin/ir/AbstractPsi2IrBoxTestCase.kt | 33 ---------- .../ir/AbstractPsi2IrDiagnosticsTest.kt | 51 --------------- 4 files changed, 13 insertions(+), 144 deletions(-) delete mode 100644 compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractPsi2IrBoxTestCase.kt delete mode 100644 compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractPsi2IrDiagnosticsTest.kt diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractIrGeneratorTestCase.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractIrGeneratorTestCase.kt index 358e54402b8..db58aa7a49f 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractIrGeneratorTestCase.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractIrGeneratorTestCase.kt @@ -21,9 +21,7 @@ import org.jetbrains.kotlin.analyzer.AnalysisResult import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment import org.jetbrains.kotlin.codegen.CodegenTestCase -import org.jetbrains.kotlin.config.LanguageVersionSettings import org.jetbrains.kotlin.config.languageVersionSettings -import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.ir.declarations.IrFile import org.jetbrains.kotlin.ir.declarations.IrModuleFragment import org.jetbrains.kotlin.js.analyze.TopDownAnalyzerFacadeForJS @@ -31,7 +29,6 @@ import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi2ir.Psi2IrConfiguration import org.jetbrains.kotlin.psi2ir.Psi2IrTranslator import org.jetbrains.kotlin.resolve.AnalyzingUtils -import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil import org.jetbrains.kotlin.test.ConfigurationKind import org.jetbrains.kotlin.test.InTextDirectivesUtils @@ -84,20 +81,14 @@ abstract class AbstractIrGeneratorTestCase : CodegenTestCase() { protected abstract fun doTest(wholeFile: File, testFiles: List) - protected fun generateIrModule(ignoreErrors: Boolean = false, shouldGenerate: (KtFile) -> Boolean = { true }): IrModuleFragment { + protected fun generateIrModule(ignoreErrors: Boolean = false): IrModuleFragment { assert(myFiles != null) { "myFiles not initialized" } assert(myEnvironment != null) { "myEnvironment not initialized" } - return doGenerateIrModule( - Psi2IrTranslator(myEnvironment.configuration.languageVersionSettings, Psi2IrConfiguration(ignoreErrors)), - shouldGenerate - ) + return doGenerateIrModule(Psi2IrTranslator(myEnvironment.configuration.languageVersionSettings, Psi2IrConfiguration(ignoreErrors))) } - protected open fun doGenerateIrModule( - psi2IrTranslator: Psi2IrTranslator, - shouldGenerate: (KtFile) -> Boolean - ): IrModuleFragment = - generateIrModuleWithJvmResolve(myFiles.psiFiles, myEnvironment, psi2IrTranslator, shouldGenerate) + protected open fun doGenerateIrModule(psi2IrTranslator: Psi2IrTranslator): IrModuleFragment = + generateIrModuleWithJvmResolve(myFiles.psiFiles, myEnvironment, psi2IrTranslator) protected fun generateIrFilesAsSingleModule(testFiles: List, ignoreErrors: Boolean = false): Map { val irModule = generateIrModule(ignoreErrors) @@ -123,10 +114,7 @@ abstract class AbstractIrGeneratorTestCase : CodegenTestCase() { } fun generateIrModuleWithJsResolve( - ktFilesToAnalyze: List, - environment: KotlinCoreEnvironment, - psi2ir: Psi2IrTranslator, - shouldGenerate: (KtFile) -> Boolean + ktFilesToAnalyze: List, environment: KotlinCoreEnvironment, psi2ir: Psi2IrTranslator ): IrModuleFragment = generateIrModule( TopDownAnalyzerFacadeForJS.analyzeFiles( @@ -134,53 +122,22 @@ abstract class AbstractIrGeneratorTestCase : CodegenTestCase() { moduleDescriptors = emptyList(), friendModuleDescriptors = emptyList() ), - psi2ir, ktFilesToAnalyze, shouldGenerate + psi2ir, ktFilesToAnalyze ) fun generateIrModuleWithJvmResolve( - ktFilesToAnalyze: List, - environment: KotlinCoreEnvironment, - psi2ir: Psi2IrTranslator, - shouldGenerate: (KtFile) -> Boolean + ktFilesToAnalyze: List, environment: KotlinCoreEnvironment, psi2ir: Psi2IrTranslator ): IrModuleFragment = - generateIrModule( - JvmResolveUtil.analyze(ktFilesToAnalyze, environment), - psi2ir, ktFilesToAnalyze, shouldGenerate - ) + generateIrModule(JvmResolveUtil.analyze(ktFilesToAnalyze, environment), psi2ir, ktFilesToAnalyze) private fun generateIrModule( - analysisResult: AnalysisResult, - psi2ir: Psi2IrTranslator, - ktFilesToAnalyze: List, - shouldGenerate: (KtFile) -> Boolean + analysisResult: AnalysisResult, psi2ir: Psi2IrTranslator, ktFilesToAnalyze: List ): IrModuleFragment { if (!psi2ir.configuration.ignoreErrors) { analysisResult.throwIfError() AnalyzingUtils.throwExceptionOnErrors(analysisResult.bindingContext) } - val fileToGenerate = ktFilesToAnalyze.filter { shouldGenerate(it) } - return generateIrModule(fileToGenerate, analysisResult.moduleDescriptor, analysisResult.bindingContext, psi2ir) + return psi2ir.generateModule(analysisResult.moduleDescriptor, ktFilesToAnalyze, analysisResult.bindingContext) } - - fun generateIrModule( - ktFiles: List, - moduleDescriptor: ModuleDescriptor, - bindingContext: BindingContext, - languageVersionSettings: LanguageVersionSettings, - ignoreErrors: Boolean = false - ) = - generateIrModule( - ktFiles, moduleDescriptor, bindingContext, Psi2IrTranslator(languageVersionSettings, Psi2IrConfiguration(ignoreErrors)) - ) - - fun generateIrModule( - ktFiles: List, - moduleDescriptor: ModuleDescriptor, - bindingContext: BindingContext, - psi2ir: Psi2IrTranslator - ) = - psi2ir.generateModule(moduleDescriptor, ktFiles, bindingContext) } } - - diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractIrJsTextTestCase.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractIrJsTextTestCase.kt index 67675ae09b4..dee8ff48d82 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractIrJsTextTestCase.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractIrJsTextTestCase.kt @@ -5,14 +5,10 @@ package org.jetbrains.kotlin.ir -import org.jetbrains.kotlin.ir.declarations.* -import org.jetbrains.kotlin.psi.KtFile +import org.jetbrains.kotlin.ir.declarations.IrModuleFragment import org.jetbrains.kotlin.psi2ir.Psi2IrTranslator abstract class AbstractIrJsTextTestCase : AbstractIrTextTestCase() { - override fun doGenerateIrModule( - psi2IrTranslator: Psi2IrTranslator, - shouldGenerate: (KtFile) -> Boolean - ): IrModuleFragment = - generateIrModuleWithJsResolve(myFiles.psiFiles, myEnvironment, psi2IrTranslator, shouldGenerate) + override fun doGenerateIrModule(psi2IrTranslator: Psi2IrTranslator): IrModuleFragment = + generateIrModuleWithJsResolve(myFiles.psiFiles, myEnvironment, psi2IrTranslator) } diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractPsi2IrBoxTestCase.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractPsi2IrBoxTestCase.kt deleted file mode 100644 index 27524d1fba0..00000000000 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractPsi2IrBoxTestCase.kt +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2010-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.ir - -import org.jetbrains.kotlin.ir.util.dump -import org.jetbrains.kotlin.test.KotlinTestUtils -import java.io.File - -abstract class AbstractPsi2IrBoxTestCase : AbstractIrGeneratorTestCase() { - override fun doTest(wholeFile: File, testFiles: List) { - val irModule = generateIrModule(false) - val irModuleDump = irModule.dump() - val expectedPath = wholeFile.canonicalPath - // .replace("/codegen/box/", "/ir/irTextBox/") - .replace(".kt", ".txt") - val expectedFile = File(expectedPath) - KotlinTestUtils.assertEqualsToFile(expectedFile, irModuleDump) - } -} diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractPsi2IrDiagnosticsTest.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractPsi2IrDiagnosticsTest.kt deleted file mode 100644 index 71c68658be6..00000000000 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/ir/AbstractPsi2IrDiagnosticsTest.kt +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2010-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.ir - -import org.jetbrains.kotlin.checkers.AbstractDiagnosticsTest -import org.jetbrains.kotlin.config.LanguageVersionSettings -import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl -import org.jetbrains.kotlin.ir.util.dump -import org.jetbrains.kotlin.resolve.BindingContext -import org.jetbrains.kotlin.test.KotlinTestUtils -import java.io.File - -abstract class AbstractPsi2IrDiagnosticsTest : AbstractDiagnosticsTest() { - override fun performAdditionalChecksAfterDiagnostics( - testDataFile: File, - testFiles: List, - moduleFiles: Map>, - moduleDescriptors: Map, - moduleBindings: Map, - languageVersionSettingsByModule: Map - ) { - val actualIrDump = StringBuilder() - for (module in moduleFiles.keys) { - val ktFiles = moduleFiles[module]?.mapNotNull { it.ktFile } ?: continue - val moduleDescriptor = moduleDescriptors[module] ?: continue - val moduleBindingContext = moduleBindings[module] ?: continue - val languageVersionSettings = languageVersionSettingsByModule[module] ?: continue - val irModule = AbstractIrGeneratorTestCase.generateIrModule( - ktFiles, moduleDescriptor, moduleBindingContext, languageVersionSettings, true - ) - actualIrDump.append(irModule.dump()) - } - - val expectedIrFile = File(testDataFile.canonicalPath.replace(".kt", ".ir.txt")) - KotlinTestUtils.assertEqualsToFile(expectedIrFile, actualIrDump.toString()) - } -}