From 6189d68c3c6d83331e37c7e1af7f747c79cc2c81 Mon Sep 17 00:00:00 2001 From: Marco Pennekamp Date: Fri, 10 Nov 2023 19:14:57 +0100 Subject: [PATCH] [AA] Refactoring: Provide default implementations for functions of `AnalysisApiTestServiceRegistrar` - Most inheritors of `AnalysisApiTestServiceRegistrar` only need to override one or two functions. --- .../AnalysisApiFe10TestServiceRegistrar.kt | 5 ----- .../AnalysisApiBaseTestServiceRegistrar.kt | 4 +--- ...sisApiDecompiledCodeTestServiceRegistrar.kt | 18 +----------------- ...alysisApiLibraryBaseTestServiceRegistrar.kt | 15 +-------------- .../AnalysisApiScriptTestServiceRegistrar.kt | 10 ---------- .../test/StandaloneModeTestServiceRegistrar.kt | 9 +-------- .../AnalysisApiTestServiceRegistrar.kt | 10 +++++----- .../fir/resolve/AbstractErrorResistanceTest.kt | 5 ----- ...ghtClassesDecompiledTestServiceRegistrar.kt | 12 +----------- 9 files changed, 10 insertions(+), 78 deletions(-) diff --git a/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/fe10/test/configurator/AnalysisApiFe10TestServiceRegistrar.kt b/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/fe10/test/configurator/AnalysisApiFe10TestServiceRegistrar.kt index 455206dcae4..3570bcc57a3 100644 --- a/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/fe10/test/configurator/AnalysisApiFe10TestServiceRegistrar.kt +++ b/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/fe10/test/configurator/AnalysisApiFe10TestServiceRegistrar.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analysis.api.fe10.test.configurator -import com.intellij.mock.MockApplication import com.intellij.mock.MockProject import org.jetbrains.kotlin.analysis.api.KtAnalysisApiInternals import org.jetbrains.kotlin.analysis.api.descriptors.CliFe10AnalysisFacade @@ -31,8 +30,6 @@ object AnalysisApiFe10TestServiceRegistrar : AnalysisApiTestServiceRegistrar() { AnalysisHandlerExtension.registerExtensionPoint(project) } - override fun registerProjectServices(project: MockProject, testServices: TestServices) {} - @OptIn(KtAnalysisApiInternals::class) override fun registerProjectModelServices(project: MockProject, testServices: TestServices) { project.apply { @@ -49,6 +46,4 @@ object AnalysisApiFe10TestServiceRegistrar : AnalysisApiTestServiceRegistrar() { } KotlinCoreEnvironment.registerKotlinLightClassSupport(project) } - - override fun registerApplicationServices(application: MockApplication, testServices: TestServices) {} } diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/configurators/AnalysisApiBaseTestServiceRegistrar.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/configurators/AnalysisApiBaseTestServiceRegistrar.kt index afbe41f9ab4..b82631a989d 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/configurators/AnalysisApiBaseTestServiceRegistrar.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/configurators/AnalysisApiBaseTestServiceRegistrar.kt @@ -31,9 +31,7 @@ import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirective import org.jetbrains.kotlin.test.services.TestServices import org.jetbrains.kotlin.test.services.moduleStructure -object AnalysisApiBaseTestServiceRegistrar: AnalysisApiTestServiceRegistrar() { - override fun registerProjectExtensionPoints(project: MockProject, testServices: TestServices) {} - +object AnalysisApiBaseTestServiceRegistrar : AnalysisApiTestServiceRegistrar() { @OptIn(KtAnalysisApiInternals::class) override fun registerProjectServices(project: MockProject, testServices: TestServices) { project.apply { diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/configurators/AnalysisApiDecompiledCodeTestServiceRegistrar.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/configurators/AnalysisApiDecompiledCodeTestServiceRegistrar.kt index 4289fdd3b65..963c6242018 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/configurators/AnalysisApiDecompiledCodeTestServiceRegistrar.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/configurators/AnalysisApiDecompiledCodeTestServiceRegistrar.kt @@ -5,22 +5,6 @@ package org.jetbrains.kotlin.analysis.api.impl.base.test.configurators -import com.intellij.mock.MockApplication -import com.intellij.mock.MockProject import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestServiceRegistrar -import org.jetbrains.kotlin.test.services.TestServices - -object AnalysisApiDecompiledCodeTestServiceRegistrar : AnalysisApiTestServiceRegistrar() { - override fun registerProjectExtensionPoints(project: MockProject, testServices: TestServices) { - } - - override fun registerProjectServices(project: MockProject, testServices: TestServices) { - } - - override fun registerProjectModelServices(project: MockProject, testServices: TestServices) { - } - - override fun registerApplicationServices(application: MockApplication, testServices: TestServices) { - } -} \ No newline at end of file +object AnalysisApiDecompiledCodeTestServiceRegistrar : AnalysisApiTestServiceRegistrar() diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/configurators/AnalysisApiLibraryBaseTestServiceRegistrar.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/configurators/AnalysisApiLibraryBaseTestServiceRegistrar.kt index ec63f001b8e..a7e122732c6 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/configurators/AnalysisApiLibraryBaseTestServiceRegistrar.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/configurators/AnalysisApiLibraryBaseTestServiceRegistrar.kt @@ -7,7 +7,6 @@ package org.jetbrains.kotlin.analysis.api.impl.base.test.configurators import com.intellij.ide.highlighter.JavaClassFileType import com.intellij.mock.MockApplication -import com.intellij.mock.MockProject import com.intellij.openapi.extensions.LoadingOrder import com.intellij.psi.ClassFileViewProviderFactory import com.intellij.psi.FileTypeFileViewProviders @@ -15,21 +14,10 @@ import com.intellij.psi.compiled.ClassFileDecompilers import org.jetbrains.kotlin.analysis.decompiler.psi.KotlinBuiltInDecompiler import org.jetbrains.kotlin.analysis.decompiler.psi.KotlinClassFileDecompiler import org.jetbrains.kotlin.analysis.test.framework.services.disposableProvider -import org.jetbrains.kotlin.analysis.decompiler.stub.file.ClsKotlinBinaryClassCache -import org.jetbrains.kotlin.analysis.decompiler.stub.file.FileAttributeService import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestServiceRegistrar import org.jetbrains.kotlin.test.services.TestServices object AnalysisApiLibraryBaseTestServiceRegistrar : AnalysisApiTestServiceRegistrar() { - override fun registerProjectExtensionPoints(project: MockProject, testServices: TestServices) { - } - - override fun registerProjectServices(project: MockProject, testServices: TestServices) { - } - - override fun registerProjectModelServices(project: MockProject, testServices: TestServices) { - } - override fun registerApplicationServices(application: MockApplication, testServices: TestServices) { FileTypeFileViewProviders.INSTANCE.addExplicitExtension(JavaClassFileType.INSTANCE, ClassFileViewProviderFactory()) @@ -37,6 +25,5 @@ object AnalysisApiLibraryBaseTestServiceRegistrar : AnalysisApiTestServiceRegist registerExtension(KotlinClassFileDecompiler(), LoadingOrder.FIRST, testServices.disposableProvider.getApplicationDisposable()) registerExtension(KotlinBuiltInDecompiler(), LoadingOrder.FIRST, testServices.disposableProvider.getApplicationDisposable()) } - } -} \ No newline at end of file +} diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/configurators/AnalysisApiScriptTestServiceRegistrar.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/configurators/AnalysisApiScriptTestServiceRegistrar.kt index 6302149ab8f..90dc7bb372f 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/configurators/AnalysisApiScriptTestServiceRegistrar.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/configurators/AnalysisApiScriptTestServiceRegistrar.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analysis.api.impl.base.test.configurators -import com.intellij.mock.MockApplication import com.intellij.mock.MockProject import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestServiceRegistrar import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.CliScriptDefinitionProvider @@ -13,16 +12,7 @@ import org.jetbrains.kotlin.scripting.definitions.ScriptDefinitionProvider import org.jetbrains.kotlin.test.services.TestServices object AnalysisApiScriptTestServiceRegistrar : AnalysisApiTestServiceRegistrar() { - override fun registerProjectExtensionPoints(project: MockProject, testServices: TestServices) { - } - - override fun registerProjectServices(project: MockProject, testServices: TestServices) { - } - override fun registerProjectModelServices(project: MockProject, testServices: TestServices) { project.registerService(ScriptDefinitionProvider::class.java, CliScriptDefinitionProvider()) } - - override fun registerApplicationServices(application: MockApplication, testServices: TestServices) { - } } diff --git a/analysis/analysis-api-standalone/tests/org/jetbrains/kotlin/analysis/api/standalone/fir/test/StandaloneModeTestServiceRegistrar.kt b/analysis/analysis-api-standalone/tests/org/jetbrains/kotlin/analysis/api/standalone/fir/test/StandaloneModeTestServiceRegistrar.kt index 7cb0f787e82..16e082313d7 100644 --- a/analysis/analysis-api-standalone/tests/org/jetbrains/kotlin/analysis/api/standalone/fir/test/StandaloneModeTestServiceRegistrar.kt +++ b/analysis/analysis-api-standalone/tests/org/jetbrains/kotlin/analysis/api/standalone/fir/test/StandaloneModeTestServiceRegistrar.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analysis.api.standalone.fir.test -import com.intellij.mock.MockApplication import com.intellij.mock.MockProject import com.intellij.openapi.vfs.impl.jar.CoreJarFileSystem import org.jetbrains.kotlin.analysis.api.KtAnalysisApiInternals @@ -24,9 +23,6 @@ import org.jetbrains.kotlin.test.services.TestServices @OptIn(KtAnalysisApiInternals::class) public object StandaloneModeTestServiceRegistrar : AnalysisApiTestServiceRegistrar() { - override fun registerProjectExtensionPoints(project: MockProject, testServices: TestServices) { - } - override fun registerProjectServices(project: MockProject, testServices: TestServices) { project.apply { registerService(KtLifetimeTokenProvider::class.java, KtAlwaysAccessibleLifetimeTokenProvider::class.java) @@ -51,7 +47,4 @@ public object StandaloneModeTestServiceRegistrar : AnalysisApiTestServiceRegistr ) } } - - override fun registerApplicationServices(application: MockApplication, testServices: TestServices) { - } -} \ No newline at end of file +} diff --git a/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/test/configurators/AnalysisApiTestServiceRegistrar.kt b/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/test/configurators/AnalysisApiTestServiceRegistrar.kt index 32e108ac951..7b3ee0d9846 100644 --- a/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/test/configurators/AnalysisApiTestServiceRegistrar.kt +++ b/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/test/configurators/AnalysisApiTestServiceRegistrar.kt @@ -10,11 +10,11 @@ import com.intellij.mock.MockProject import org.jetbrains.kotlin.test.services.TestServices abstract class AnalysisApiTestServiceRegistrar { - abstract fun registerApplicationServices(application: MockApplication, testServices: TestServices) + open fun registerApplicationServices(application: MockApplication, testServices: TestServices) {} - abstract fun registerProjectExtensionPoints(project: MockProject, testServices: TestServices) + open fun registerProjectExtensionPoints(project: MockProject, testServices: TestServices) {} - abstract fun registerProjectServices(project: MockProject, testServices: TestServices) + open fun registerProjectServices(project: MockProject, testServices: TestServices) {} - abstract fun registerProjectModelServices(project: MockProject, testServices: TestServices) -} \ No newline at end of file + open fun registerProjectModelServices(project: MockProject, testServices: TestServices) {} +} diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/resolve/AbstractErrorResistanceTest.kt b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/resolve/AbstractErrorResistanceTest.kt index 63ee5d3efe2..f234056605d 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/resolve/AbstractErrorResistanceTest.kt +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/resolve/AbstractErrorResistanceTest.kt @@ -6,7 +6,6 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.resolve import com.intellij.lang.java.JavaLanguage -import com.intellij.mock.MockApplication import com.intellij.mock.MockProject import com.intellij.openapi.project.Project import com.intellij.psi.* @@ -66,10 +65,6 @@ private object ErrorResistanceConfigurator : AnalysisApiFirSourceTestConfigurato } private object ErrorResistanceServiceRegistrar : AnalysisApiTestServiceRegistrar() { - override fun registerApplicationServices(application: MockApplication, testServices: TestServices) {} - override fun registerProjectExtensionPoints(project: MockProject, testServices: TestServices) {} - override fun registerProjectServices(project: MockProject, testServices: TestServices) {} - @OptIn(TestInfrastructureInternals::class) override fun registerProjectModelServices(project: MockProject, testServices: TestServices) { with(PsiElementFinder.EP.getPoint(project)) { diff --git a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/test/configurators/AnalysisApiSymbolLightClassesDecompiledTestServiceRegistrar.kt b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/test/configurators/AnalysisApiSymbolLightClassesDecompiledTestServiceRegistrar.kt index 6e914ca77fa..7f5082bab0d 100644 --- a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/test/configurators/AnalysisApiSymbolLightClassesDecompiledTestServiceRegistrar.kt +++ b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/test/configurators/AnalysisApiSymbolLightClassesDecompiledTestServiceRegistrar.kt @@ -5,25 +5,15 @@ package org.jetbrains.kotlin.light.classes.symbol.decompiled.test.configurators -import com.intellij.mock.MockApplication import com.intellij.mock.MockProject import org.jetbrains.kotlin.analysis.decompiled.light.classes.ClsJavaStubByVirtualFileCache import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestServiceRegistrar import org.jetbrains.kotlin.test.services.TestServices object AnalysisApiSymbolLightClassesDecompiledTestServiceRegistrar : AnalysisApiTestServiceRegistrar() { - override fun registerProjectExtensionPoints(project: MockProject, testServices: TestServices) { - } - - override fun registerProjectServices(project: MockProject, testServices: TestServices) {} - override fun registerProjectModelServices(project: MockProject, testServices: TestServices) { project.apply { registerService(ClsJavaStubByVirtualFileCache::class.java) } } - - override fun registerApplicationServices(application: MockApplication, testServices: TestServices) { - - } -} \ No newline at end of file +}