From 1b0919a0193246d62a59c8f9f985eccc04379238 Mon Sep 17 00:00:00 2001 From: Natalia Selezneva Date: Fri, 23 Nov 2018 11:42:47 +0300 Subject: [PATCH] Fix navigation on stdlib in non-gradle projects (KT-28398) In non-gradle project kotlin-stdlib-sources.jar contains sources for common and jvm part, so both (expect and actual) declarations are present in the same library sources scope. We are moving expect declarations in the bottom of this list to avoid navigation on expect declaration when actual declaration is present in the same scope ^KT-28398 Fixed --- .../idea/decompiler/navigation/SourceNavigationHelper.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/navigation/SourceNavigationHelper.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/navigation/SourceNavigationHelper.kt index ca49f77404e..e54c5328be9 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/navigation/SourceNavigationHelper.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/navigation/SourceNavigationHelper.kt @@ -29,6 +29,7 @@ import org.jetbrains.kotlin.idea.stubindex.KotlinTopLevelFunctionFqnNameIndex import org.jetbrains.kotlin.idea.stubindex.KotlinTopLevelPropertyFqnNameIndex import org.jetbrains.kotlin.idea.stubindex.KotlinTopLevelTypeAliasFqNameIndex import org.jetbrains.kotlin.idea.util.ProjectRootsUtil +import org.jetbrains.kotlin.idea.util.isExpectDeclaration import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.* @@ -211,7 +212,7 @@ object SourceNavigationHelper { } return scopes.flatMap { scope -> - index.get(declaration.fqName!!.asString(), declaration.project, scope) + index.get(declaration.fqName!!.asString(), declaration.project, scope).sortedBy { it.isExpectDeclaration() } } }