diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/base/Kt1DescUtils.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/base/Kt1DescUtils.kt index 572c9eb6c43..e920f34db48 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/base/Kt1DescUtils.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/base/Kt1DescUtils.kt @@ -303,7 +303,17 @@ internal fun CallableMemberDescriptor.calculateCallableId(allowLocal: Boolean): pathToLocal = if (localName.isNotEmpty()) FqName.fromSegments(localName.asReversed()) else null ) } - is ClassDescriptor -> className += current.name.asString() + is ClassDescriptor -> { + if (current.kind == ClassKind.ENUM_ENTRY) { + if (!allowLocal) { + return null + } + + localName += current.name.asString() + } else { + className += current.name.asString() + } + } is PropertyAccessorDescriptor -> {} // Filter out property accessors is CallableDescriptor -> { if (!allowLocal) { diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/base/KtFe10PsiSymbolUtils.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/base/KtFe10PsiSymbolUtils.kt index 21517d57e48..5ef1fed7b72 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/base/KtFe10PsiSymbolUtils.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/base/KtFe10PsiSymbolUtils.kt @@ -92,18 +92,18 @@ internal fun KtDeclaration.calculateCallableId(allowLocal: Boolean): CallableId? while (current != null) { when (current) { - is KtClassOrObject -> { - className += current.name ?: return null - } is KtPropertyAccessor -> { // Filter out property accessors } - is KtCallableDeclaration -> { + is KtCallableDeclaration, is KtEnumEntry -> { if (!allowLocal) { return null } localName += current.name ?: return null } + is KtClassOrObject -> { + className += current.name ?: return null + } } current = current.getElementParentDeclaration()