From 5159795c48946365de330c96cdd3da8884d5bf33 Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Tue, 3 Apr 2018 00:01:00 +0300 Subject: [PATCH] Replace reflection with direct call Original commit: 58e4b704c663ee4659b64a2f73744d2a85d13abc --- .../KotlinBuilderModuleScriptGenerator.kt | 33 ++----------------- 1 file changed, 2 insertions(+), 31 deletions(-) diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilderModuleScriptGenerator.kt b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilderModuleScriptGenerator.kt index d614e4495c7..5a339d9bda7 100644 --- a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilderModuleScriptGenerator.kt +++ b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilderModuleScriptGenerator.kt @@ -39,42 +39,13 @@ import org.jetbrains.kotlin.jps.testOutputFilePath import org.jetbrains.kotlin.modules.KotlinModuleXmlBuilder import org.jetbrains.kotlin.modules.TargetId import org.jetbrains.kotlin.utils.addIfNotNull -import org.jetbrains.kotlin.utils.alwaysNull import java.io.File import java.io.IOException -import java.lang.reflect.Method import java.util.* object KotlinBuilderModuleScriptGenerator { - - // TODO used reflection to be compatible with IDEA from both 143 and 144 branches, - // TODO switch to directly using when "since-build" will be >= 144.3357.4 - internal val getRelatedProductionModule: (JpsModule) -> JpsModule? = run { - val klass = - try { - Class.forName("org.jetbrains.jps.model.module.JpsTestModuleProperties") - } catch (e: ClassNotFoundException) { - return@run alwaysNull() - } - - - val getTestModulePropertiesMethod: Method - val getProductionModuleMethod: Method - - try { - getTestModulePropertiesMethod = - JpsJavaExtensionService::class.java.getDeclaredMethod("getTestModuleProperties", JpsModule::class.java) - getProductionModuleMethod = klass.getDeclaredMethod("getProductionModule") - } catch (e: NoSuchMethodException) { - return@run alwaysNull() - } - - return@run { module -> - getTestModulePropertiesMethod(JpsJavaExtensionService.getInstance(), module)?.let { - getProductionModuleMethod(it) as JpsModule? - } - } - } + fun getRelatedProductionModule(module: JpsModule): JpsModule? = + JpsJavaExtensionService.getInstance().getTestModuleProperties(module)?.productionModule fun generateModuleDescription( context: CompileContext,