[kotlin] exclude enum entries from goto class

^KTIJ-33514 fixed


(cherry picked from commit 1dc1a59e3a5df524bec0ea69873bced6cbbc7d8a)

IJ-CR-168534

GitOrigin-RevId: 8282a4e647018ef7fa0f6a8e73faa13004ddd43c
This commit is contained in:
Anna Kozlova
2025-07-08 20:00:53 +02:00
committed by intellij-monorepo-bot
parent f8fcdd4fca
commit 3d4d10d1dd
3 changed files with 16 additions and 12 deletions

View File

@@ -73,9 +73,22 @@ abstract class AbstractKotlinGotoSymbolContributor<T : NavigatablePsiElement>(
@ApiStatus.Internal
class KotlinGotoClassContributor : AbstractKotlinGotoSymbolContributor<KtClassOrObject>(KotlinClassShortNameIndex) {
abstract class KotlinAbstractGotoClassContributor(private val acceptEnums: Boolean) : AbstractKotlinGotoSymbolContributor<KtClassOrObject>(KotlinClassShortNameIndex) {
override fun getQualifiedName(item: NavigationItem): String? = (item as? KtClassOrObject)?.fqName?.asString()
override fun processOriginalElement(
processor: Processor<in NavigationItem>,
element: KtClassOrObject
): Boolean {
if (!acceptEnums && element is KtEnumEntry) return true
return super.processOriginalElement(processor, element)
}
}
@ApiStatus.Internal
class KotlinGotoClassContributor: KotlinAbstractGotoClassContributor(acceptEnums = false)
@ApiStatus.Internal
class KotlinGotoClassSymbolContributor: KotlinAbstractGotoClassContributor(acceptEnums = true)
@ApiStatus.Internal
class KotlinGotoTypeAliasContributor : AbstractKotlinGotoSymbolContributor<KtTypeAlias>(KotlinTypeAliasShortNameIndex) {

View File

@@ -5,13 +5,4 @@ ItemPresentation:
locationString: (some.small)
icon: RowIcon(icons=[org/jetbrains/kotlin/idea/icons/enumKotlin.svg, Public])
TargetElement: public enum class EnumClass {
QualifiedName: some.small.EnumClass
NavigationItem:
name: EnumClassTrue
ItemPresentation:
presentableText: EnumClassTrue
locationString: (in some.small.EnumClass)
icon: RowIcon(icons=[org/jetbrains/kotlin/idea/icons/enumKotlin.svg, Public])
TargetElement: EnumClassTrue
QualifiedName: some.small.EnumClass.EnumClassTrue
QualifiedName: some.small.EnumClass

View File

@@ -26,7 +26,7 @@
<gotoSymbolContributor implementation="org.jetbrains.kotlin.idea.goto.KotlinGotoFunctionSymbolContributor"/>
<gotoSymbolContributor implementation="org.jetbrains.kotlin.idea.goto.KotlinGotoPropertySymbolContributor"/>
<gotoSymbolContributor implementation="org.jetbrains.kotlin.idea.goto.KotlinGotoClassContributor"/>
<gotoSymbolContributor implementation="org.jetbrains.kotlin.idea.goto.KotlinGotoClassSymbolContributor"/>
<gotoSymbolContributor implementation="org.jetbrains.kotlin.idea.goto.KotlinGotoFacadeClassContributor"/>
<gotoSymbolContributor implementation="org.jetbrains.kotlin.idea.goto.KotlinGotoTypeAliasContributor"/>