From f6574a475be4d4d4d1dc7a35ab01b9a59c224cba Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 16 May 2017 18:26:38 +0200 Subject: [PATCH] Show location for local classes in Goto Class #KT-7954 Fixed --- .../kotlin/idea/presentation/DeclarationPresenters.kt | 7 ++++--- idea/testData/navigation/gotoClass/localDeclarations.kt | 8 ++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/presentation/DeclarationPresenters.kt b/idea/src/org/jetbrains/kotlin/idea/presentation/DeclarationPresenters.kt index 391e3e6887c..820bc077e84 100644 --- a/idea/src/org/jetbrains/kotlin/idea/presentation/DeclarationPresenters.kt +++ b/idea/src/org/jetbrains/kotlin/idea/presentation/DeclarationPresenters.kt @@ -39,9 +39,10 @@ open class KotlinDefaultNamedDeclarationPresentation(private val declaration: Kt override fun getPresentableText() = declaration.name override fun getLocationString(): String? { - if (declaration is KtFunction && declaration.isLocal) { - val containingDeclaration = declaration.getStrictParentOfType() ?: return null - return "(in ${containingDeclaration.name})" + if ((declaration is KtFunction && declaration.isLocal) || (declaration is KtClassOrObject && declaration.isLocal)) { + val containingDeclaration = declaration.getStrictParentOfType() ?: return null + val containerName = containingDeclaration.fqName ?: containingDeclaration.name + return "(in $containerName)" } val name = declaration.fqName ?: return null val qualifiedContainer = name.parent().toString() diff --git a/idea/testData/navigation/gotoClass/localDeclarations.kt b/idea/testData/navigation/gotoClass/localDeclarations.kt index e066c91866d..dc7ab5927c6 100644 --- a/idea/testData/navigation/gotoClass/localDeclarations.kt +++ b/idea/testData/navigation/gotoClass/localDeclarations.kt @@ -11,7 +11,7 @@ fun foo() { } // SEARCH_TEXT: Local -// REF: LocalClass -// REF: LocalObject -// REF: LocalTrait -// REF: LocalTraitWithImpl +// REF: (in foo).LocalClass +// REF: (in foo).LocalObject +// REF: (in foo).LocalTrait +// REF: (in foo).LocalTraitWithImpl