From 2b322ecf9ca31bc39bd19b965034b47a698fa4fa Mon Sep 17 00:00:00 2001 From: Natalia Selezneva Date: Wed, 23 May 2018 09:14:30 +0300 Subject: [PATCH] Do not store external dependencies in ScriptModuleInfo There is a cache from ScriptModuleInfo to ScriptDependenciesInfo. In case when only script dependencies are changed we won't recreate the facade for them and will obtain external dependencies for ScriptModuleInfo stored in ScriptDependenciesInfo. So we cannot store external dependencies inside ScriptModuleInfo. The same problem is with relatedModuleSourceInfo. --- .../kotlin/generators/tests/GenerateTests.kt | 1 + .../generators/tests/GenerateTests.kt.172 | 1 + .../generators/tests/GenerateTests.kt.as31 | 1 + .../generators/tests/GenerateTests.kt.as32 | 1 + .../idea/caches/project/ScriptModuleInfos.kt | 8 +- .../complex/errorResolver/lib/test/custom.kt | 7 + .../complex/errorResolver/script.kts | 7 + .../errorResolver/template/template.kt | 27 +++ .../script/AbstractScriptConfigurationTest.kt | 16 ++ ...onfigurationHighlightingTestGenerated.java | 199 ++++++++++-------- 10 files changed, 175 insertions(+), 93 deletions(-) create mode 100644 idea/testData/script/definition/complex/errorResolver/lib/test/custom.kt create mode 100644 idea/testData/script/definition/complex/errorResolver/script.kts create mode 100644 idea/testData/script/definition/complex/errorResolver/template/template.kt diff --git a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt index 45e340c72e0..70c0e215b10 100755 --- a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt +++ b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt @@ -739,6 +739,7 @@ fun main(args: Array) { testClass { model("script/definition/highlighting", extension = null, recursive = false) + model("script/definition/complex", extension = null, recursive = false, testMethod = "doComplexTest") } testClass { diff --git a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.172 b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.172 index 270c7c70461..a56dabf74eb 100644 --- a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.172 +++ b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.172 @@ -737,6 +737,7 @@ fun main(args: Array) { testClass { model("script/definition/highlighting", extension = null, recursive = false) + model("script/definition/complex", extension = null, recursive = false, testMethod = "doComplexTest") } testClass { diff --git a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as31 b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as31 index 280af5a5140..5917b56691e 100644 --- a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as31 +++ b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as31 @@ -736,6 +736,7 @@ fun main(args: Array) { testClass { model("script/definition/highlighting", extension = null, recursive = false) + model("script/definition/complex", extension = null, recursive = false, testMethod = "doComplexTest") } testClass { diff --git a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as32 b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as32 index 280af5a5140..5917b56691e 100644 --- a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as32 +++ b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as32 @@ -736,6 +736,7 @@ fun main(args: Array) { testClass { model("script/definition/highlighting", extension = null, recursive = false) + model("script/definition/complex", extension = null, recursive = false, testMethod = "doComplexTest") } testClass { diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/project/ScriptModuleInfos.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/project/ScriptModuleInfos.kt index 5e6487b9756..3e420b9e5d7 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/project/ScriptModuleInfos.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/project/ScriptModuleInfos.kt @@ -35,11 +35,11 @@ data class ScriptModuleInfo( override val moduleOrigin: ModuleOrigin get() = ModuleOrigin.OTHER - val externalDependencies: ScriptDependencies by lazy { - ScriptDependenciesManager.getInstance(project).getScriptDependencies(scriptFile) - } + val externalDependencies: ScriptDependencies + get() = ScriptDependenciesManager.getInstance(project).getScriptDependencies(scriptFile) - val relatedModuleSourceInfo: ModuleSourceInfo? = getScriptRelatedModuleInfo(project, scriptFile) + val relatedModuleSourceInfo: ModuleSourceInfo? + get() = getScriptRelatedModuleInfo(project, scriptFile) override val name: Name = Name.special("