[AA] Refactoring: Provide default implementations for functions of AnalysisApiTestServiceRegistrar

- Most inheritors of `AnalysisApiTestServiceRegistrar` only need to
  override one or two functions.
This commit is contained in:
Marco Pennekamp
2023-11-10 19:14:57 +01:00
committed by Space Team
parent df43226a08
commit 6189d68c3c
9 changed files with 10 additions and 78 deletions
@@ -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 {
@@ -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) {
}
}
object AnalysisApiDecompiledCodeTestServiceRegistrar : AnalysisApiTestServiceRegistrar()
@@ -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())
}
}
}
}
@@ -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) {
}
}