Show location for local classes in Goto Class

#KT-7954 Fixed
This commit is contained in:
Dmitry Jemerov
2017-05-16 18:26:38 +02:00
parent 232af8a4fc
commit f6574a475b
2 changed files with 8 additions and 7 deletions
@@ -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<KtDeclaration>() ?: return null
return "(in ${containingDeclaration.name})"
if ((declaration is KtFunction && declaration.isLocal) || (declaration is KtClassOrObject && declaration.isLocal)) {
val containingDeclaration = declaration.getStrictParentOfType<KtNamedDeclaration>() ?: return null
val containerName = containingDeclaration.fqName ?: containingDeclaration.name
return "(in $containerName)"
}
val name = declaration.fqName ?: return null
val qualifiedContainer = name.parent().toString()
+4 -4
View File
@@ -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