From 2487f9369cf07b1412de995047af4617a92a40f2 Mon Sep 17 00:00:00 2001 From: Ilya Muradyan Date: Thu, 9 Jul 2020 05:41:50 +0300 Subject: [PATCH] Fix REPL completion for import directives --- .../ReplCompletionAndErrorsAnalysisTest.kt | 14 ++++++++++++++ .../compiler/impl/KotlinResolutionFacadeForRepl.kt | 6 ++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/plugins/scripting/scripting-ide-services-test/test/org/jetbrains/kotlin/scripting/ide_services/ReplCompletionAndErrorsAnalysisTest.kt b/plugins/scripting/scripting-ide-services-test/test/org/jetbrains/kotlin/scripting/ide_services/ReplCompletionAndErrorsAnalysisTest.kt index 181ee208b94..6fd33962c34 100644 --- a/plugins/scripting/scripting-ide-services-test/test/org/jetbrains/kotlin/scripting/ide_services/ReplCompletionAndErrorsAnalysisTest.kt +++ b/plugins/scripting/scripting-ide-services-test/test/org/jetbrains/kotlin/scripting/ide_services/ReplCompletionAndErrorsAnalysisTest.kt @@ -322,6 +322,20 @@ class ReplCompletionAndErrorsAnalysisTest : TestCase() { run(setupDefaultImportsCompletionRun) } + @Test + fun testImportCompletion() = test { + run { + code = """ + import kotl + """.trimIndent() + cursor = 11 + expect { + completions.mode = ComparisonType.INCLUDES + addCompletion("kotlin", "kotlin", "package kotlin", "package") + } + } + } + @Ignore("Should be fixed by KT-39314") @Test fun ignore_testDefaultImportsNotFirst() = test { diff --git a/plugins/scripting/scripting-ide-services/src/org/jetbrains/kotlin/scripting/ide_services/compiler/impl/KotlinResolutionFacadeForRepl.kt b/plugins/scripting/scripting-ide-services/src/org/jetbrains/kotlin/scripting/ide_services/compiler/impl/KotlinResolutionFacadeForRepl.kt index 8b6116efea6..308eacc7c39 100644 --- a/plugins/scripting/scripting-ide-services/src/org/jetbrains/kotlin/scripting/ide_services/compiler/impl/KotlinResolutionFacadeForRepl.kt +++ b/plugins/scripting/scripting-ide-services/src/org/jetbrains/kotlin/scripting/ide_services/compiler/impl/KotlinResolutionFacadeForRepl.kt @@ -12,6 +12,7 @@ import org.jetbrains.kotlin.analyzer.ModuleInfo import org.jetbrains.kotlin.analyzer.ResolverForProject import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment import org.jetbrains.kotlin.container.ComponentProvider +import org.jetbrains.kotlin.container.getService import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.idea.resolve.ResolutionFacade @@ -35,10 +36,7 @@ class KotlinResolutionFacadeForRepl( throw UnsupportedOperationException() } - override val moduleDescriptor: ModuleDescriptor - get() { - throw UnsupportedOperationException() - } + override val moduleDescriptor: ModuleDescriptor = provider.getService(ModuleDescriptor::class.java) override fun getFrontendService(serviceClass: Class): T { return provider.resolve(serviceClass)!!.getValue() as T