From 2bc22fc2a6158a82e7dc544467d0a2a1e1f56b1b Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Fri, 15 Feb 2019 20:19:35 +0300 Subject: [PATCH] FIR: fix Gradle configurator exception in total IDE test --- .../configuration/KotlinWithGradleConfigurator.kt | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinWithGradleConfigurator.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinWithGradleConfigurator.kt index 84976c9d460..ec88840d3e8 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinWithGradleConfigurator.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinWithGradleConfigurator.kt @@ -87,8 +87,11 @@ abstract class KotlinWithGradleConfigurator : KotlinProjectConfigurator { protected fun PsiFile.isKtDsl() = this is KtFile - private fun isFileConfigured(buildScript: PsiFile): Boolean = with(getManipulator(buildScript)) { - isConfiguredWithOldSyntax(kotlinPluginName) || isConfigured(getKotlinPluginExpression(buildScript.isKtDsl())) + private fun isFileConfigured(buildScript: PsiFile): Boolean { + val manipulator = getManipulatorIfAny(buildScript) ?: return false + return with(manipulator) { + isConfiguredWithOldSyntax(kotlinPluginName) || isConfigured(getKotlinPluginExpression(buildScript.isKtDsl())) + } } @JvmSuppressWildcards @@ -289,12 +292,15 @@ abstract class KotlinWithGradleConfigurator : KotlinProjectConfigurator { } companion object { - fun getManipulator(file: PsiFile, preferNewSyntax: Boolean = true): GradleBuildScriptManipulator<*> = when (file) { + fun getManipulatorIfAny(file: PsiFile, preferNewSyntax: Boolean = true): GradleBuildScriptManipulator<*>? = when (file) { is KtFile -> KotlinBuildScriptManipulator(file, preferNewSyntax) is GroovyFile -> GroovyBuildScriptManipulator(file, preferNewSyntax) - else -> error("Unknown build script file type (${file::class.qualifiedName})!") + else -> null } + fun getManipulator(file: PsiFile, preferNewSyntax: Boolean = true): GradleBuildScriptManipulator<*> = + getManipulatorIfAny(file, preferNewSyntax) ?: error("Unknown build script file type (${file::class.qualifiedName})!") + val GROUP_ID = "org.jetbrains.kotlin" val GRADLE_PLUGIN_ID = "kotlin-gradle-plugin"