[FIR IDE] Fix Fe10PsiKtEnumEntrySymbol.annotatedType in AAPI/FE10

'annotatedType' should return type of the enum itself, not of its entry.
This commit fixes KtFe10SymbolByPsiTestGenerated.testEnum().
This commit is contained in:
Yan Zhulanow
2021-10-28 18:34:54 +09:00
parent 47b5474955
commit f7b4fa64ea
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtPsiBasedSymbolPointe
import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer
import org.jetbrains.kotlin.analysis.api.withValidityAssertion
import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.name.CallableId
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.Name
@@ -47,7 +48,12 @@ internal class KtFe10PsiEnumEntrySymbol(
override val annotatedType: KtTypeAndAnnotations
get() = withValidityAssertion {
descriptor?.defaultType?.toKtTypeAndAnnotations(analysisContext) ?: createErrorTypeAndAnnotations()
val containingDescriptor = descriptor?.containingDeclaration
if (containingDescriptor is ClassDescriptor && containingDescriptor.kind == ClassKind.ENUM_CLASS) {
return containingDescriptor.defaultType.toKtTypeAndAnnotations(analysisContext)
} else {
createErrorTypeAndAnnotations()
}
}
override val name: Name