From d8abf60b3dfd9655d69f3fe73a962ffc869f64ce Mon Sep 17 00:00:00 2001 From: Sergey Rostov Date: Fri, 1 May 2020 16:14:47 +0300 Subject: [PATCH] gradle.kts, imported gradle build root: fix equality --- .../idea/scripting/gradle/GradleBuildRoot.kt | 20 ++++--------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/GradleBuildRoot.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/GradleBuildRoot.kt index f30ea196352..3a6c8a8d7cc 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/GradleBuildRoot.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/GradleBuildRoot.kt @@ -13,8 +13,6 @@ import org.jetbrains.kotlin.idea.core.script.ScriptDefinitionContributor import org.jetbrains.kotlin.idea.core.script.configuration.utils.ScriptClassRootsCache import org.jetbrains.kotlin.idea.scripting.gradle.importing.KotlinDslScriptModel import org.jetbrains.kotlin.scripting.definitions.ScriptDefinition -import org.jetbrains.kotlin.scripting.definitions.findScriptDefinition -import org.jetbrains.kotlin.scripting.resolve.KtFileScriptSource import org.jetbrains.kotlin.scripting.resolve.ScriptCompilationConfigurationWrapper import org.jetbrains.kotlin.scripting.resolve.VirtualFileScriptSource import org.jetbrains.kotlin.scripting.resolve.adjustByDefinition @@ -80,8 +78,6 @@ sealed class GradleBuildRoot { .filterIsInstance() .single().definitions.toList() - val root = ScriptInfoRoot(this) - builder.classes.addAll(data.templateClasspath) data.models.forEach { script -> val vFile = LocalFileSystem.getInstance().findFileByPath(script.file) @@ -90,26 +86,18 @@ sealed class GradleBuildRoot { definitions.firstOrNull { it.isScript(src) } } else null - builder.scripts[script.file] = ScriptInfo(root, def, script) + builder.scripts[script.file] = ScriptInfo(this, def, script) builder.classes.addAll(script.classPath) builder.sources.addAll(script.sourcePath) } } - /** - * Common info between scripts (to save bits inside ScriptInfo) - */ - data class ScriptInfoRoot( - val buildRoot: Imported - ) - class ScriptInfo( - val root: ScriptInfoRoot, + val buildRoot: Imported, scriptDefinition: ScriptDefinition?, val model: KotlinDslScriptModel ) : ScriptClassRootsCache.LightScriptInfo(scriptDefinition) { - val buildRoot get() = root.buildRoot override fun buildConfiguration(): ScriptCompilationConfigurationWrapper? { val javaHome = buildRoot.context.javaHome @@ -138,7 +126,7 @@ sealed class GradleBuildRoot { other as ScriptInfo - if (root != other.root) return false + if (buildRoot.pathPrefix != other.buildRoot.pathPrefix) return false if (model != other.model) return false if (definition != other.definition) return false @@ -146,7 +134,7 @@ sealed class GradleBuildRoot { } override fun hashCode(): Int { - var result = root.hashCode() + var result = buildRoot.pathPrefix.hashCode() result = 31 * result + model.hashCode() result = 31 * result + definition.hashCode() return result