Do not stop recursive visitor with return

#KT-23627 Fixed
This commit is contained in:
Alexander Podkhalyuzin
2018-07-06 16:31:52 +03:00
parent 2d4cbc712d
commit 04fd4ef9de
5 changed files with 28 additions and 1 deletions
@@ -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)
}
}
@@ -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 {