[kotlin] exclude enum entries from goto class

^KTIJ-33514 fixed

GitOrigin-RevId: 1dc1a59e3a5df524bec0ea69873bced6cbbc7d8a
This commit is contained in:
Anna Kozlova
2025-07-08 22:17:26 +00:00
committed by intellij-monorepo-bot
parent 7d58438d8c
commit 0eca9e6594
3 changed files with 16 additions and 12 deletions
@@ -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) {
@@ -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
@@ -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"/>