diff --git a/idea/idea-completion/testData/handlers/basic/KT23627.kt b/idea/idea-completion/testData/handlers/basic/KT23627.kt new file mode 100644 index 00000000000..590b339aced --- /dev/null +++ b/idea/idea-completion/testData/handlers/basic/KT23627.kt @@ -0,0 +1,7 @@ +fun foo() = "".run { + this.apply { + printl + } +} +//ELEMENT: println +//TAIL_TEXT: "() (kotlin.io)" diff --git a/idea/idea-completion/testData/handlers/basic/KT23627.kt.after b/idea/idea-completion/testData/handlers/basic/KT23627.kt.after new file mode 100644 index 00000000000..adfc5fa6cc9 --- /dev/null +++ b/idea/idea-completion/testData/handlers/basic/KT23627.kt.after @@ -0,0 +1,7 @@ +fun foo() = "".run { + this.apply { + println() + } +} +//ELEMENT: println +//TAIL_TEXT: "() (kotlin.io)" diff --git a/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/handlers/BasicCompletionHandlerTestGenerated.java b/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/handlers/BasicCompletionHandlerTestGenerated.java index 0edb68b6ce6..bd4f1f942f9 100644 --- a/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/handlers/BasicCompletionHandlerTestGenerated.java +++ b/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/handlers/BasicCompletionHandlerTestGenerated.java @@ -114,6 +114,12 @@ public class BasicCompletionHandlerTestGenerated extends AbstractBasicCompletion runTest("idea/idea-completion/testData/handlers/basic/KT14130.kt"); } + @TestMetadata("KT23627.kt") + public void testKT23627() throws Exception { + runTest("idea/idea-completion/testData/handlers/basic/KT23627.kt"); + } + + @TestMetadata("NestedTypeArg.kt") public void testNestedTypeArg() throws Exception { runTest("idea/idea-completion/testData/handlers/basic/NestedTypeArg.kt"); diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/ShortenReferences.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/ShortenReferences.kt index 95b5ecf1fd1..4d4ab0cd8e4 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/ShortenReferences.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/ShortenReferences.kt @@ -430,7 +430,12 @@ class ShortenReferences(val options: (KtElement) -> Options = { Options.DEFAULT override val collectElementsVisitor = object : MyVisitor(elementFilter) { override fun visitDotQualifiedExpression(expression: KtDotQualifiedExpression) { - if (expression.receiverExpression is KtThisExpression && !options.removeThis) return + if (expression.receiverExpression is KtThisExpression && !options.removeThis) { + val filterResult = elementFilter(expression) + if (filterResult == FilterResult.SKIP) return + expression.selectorExpression?.acceptChildren(this) + return + } super.visitDotQualifiedExpression(expression) } } diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/KotlinScriptDependenciesClassFinder.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/KotlinScriptDependenciesClassFinder.kt index 0077a23d8b1..86618fa5f42 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/KotlinScriptDependenciesClassFinder.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/KotlinScriptDependenciesClassFinder.kt @@ -31,6 +31,8 @@ import org.jetbrains.kotlin.idea.caches.project.ScriptModuleSearchScope import org.jetbrains.kotlin.load.java.AbstractJavaClassFinder import org.jetbrains.kotlin.resolve.jvm.KotlinSafeClassFinder + + class KotlinScriptDependenciesClassFinder(project: Project, private val scriptDependenciesManager: ScriptDependenciesManager ) : NonClasspathClassFinder(project), KotlinSafeClassFinder {