Minor, remove unused code in 'compilerPluginConfiguration.kt'

This commit is contained in:
Yan Zhulanow
2023-01-13 23:59:25 +09:00
committed by Space Team
parent 10d6583d87
commit 7fb6fab517
@@ -1,80 +0,0 @@
/*
* Copyright 2010-2022 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.analysis.api.fir.utils
import com.intellij.openapi.project.Project
import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar
import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi
import org.jetbrains.kotlin.config.AnalysisFlag
import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.LanguageVersion
import org.jetbrains.kotlin.fir.plugin.services.ExtensionRegistrarConfigurator
import org.jetbrains.kotlin.fir.plugin.services.PluginAnnotationsProvider
import org.jetbrains.kotlin.test.Constructor
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
import org.jetbrains.kotlin.test.directives.model.Directive
import org.jetbrains.kotlin.test.directives.model.DirectiveApplicability
import org.jetbrains.kotlin.test.directives.model.RegisteredDirectives
import org.jetbrains.kotlin.test.directives.model.SimpleDirectivesContainer
import org.jetbrains.kotlin.test.model.TestModule
import org.jetbrains.kotlin.test.services.AbstractEnvironmentConfigurator
private object CompilerPluginsDirectives : SimpleDirectivesContainer() {
val WITH_FIR_TEST_COMPILER_PLUGIN by directive(
description = "Configure test compiler plugin from :plugins:fir-plugin-prototype module",
applicability = DirectiveApplicability.Global
)
}
internal fun TestConfigurationBuilder.configureOptionalTestCompilerPlugin() {
useDirectives(CompilerPluginsDirectives)
useConfigurators(
::PluginAnnotationsProvider.enabledByDirective(CompilerPluginsDirectives.WITH_FIR_TEST_COMPILER_PLUGIN),
::ExtensionRegistrarConfigurator.enabledByDirective(CompilerPluginsDirectives.WITH_FIR_TEST_COMPILER_PLUGIN),
)
}
private fun Constructor<AbstractEnvironmentConfigurator>.enabledByDirective(
directive: Directive
): Constructor<AbstractEnvironmentConfigurator> {
val originalConstructor = this
return { testServices -> EnabledByDirectiveConfiguratorDecorator(originalConstructor(testServices), directive) }
}
private class EnabledByDirectiveConfiguratorDecorator(
private val original: AbstractEnvironmentConfigurator,
private val directive: Directive
) : AbstractEnvironmentConfigurator() {
override fun configureCompileConfigurationWithAdditionalConfigurationKeys(configuration: CompilerConfiguration, module: TestModule) {
if (directive !in module.directives) return
original.configureCompileConfigurationWithAdditionalConfigurationKeys(configuration, module)
}
override fun provideAdditionalAnalysisFlags(
directives: RegisteredDirectives,
languageVersion: LanguageVersion
): Map<AnalysisFlag<*>, Any?> = original.provideAdditionalAnalysisFlags(directives, languageVersion)
override fun legacyRegisterCompilerExtensions(project: Project, module: TestModule, configuration: CompilerConfiguration) {
if (directive !in module.directives) return
original.legacyRegisterCompilerExtensions(project, module, configuration)
}
@OptIn(ExperimentalCompilerApi::class)
override fun CompilerPluginRegistrar.ExtensionStorage.registerCompilerExtensions(
module: TestModule,
configuration: CompilerConfiguration
) {
if (directive !in module.directives) return
with(original) {
this@registerCompilerExtensions.registerCompilerExtensions(module, configuration)
}
}
}