[FIR IDE] Return KtUnsupportedConstantValue for non-const initializers in AAPI/FE10

This commit fixes the following tests:
 - KtFe10SymbolByPsiTestGenerated.testClassInitializer();
 - KtFe10SymbolByPsiTestGenerated.testClassMembes().
This commit is contained in:
Yan Zhulanow
2021-11-01 20:18:56 +09:00
parent b4da714510
commit 308e7c9e67
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtPropertySetterSymbol
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtConstantValue
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolKind
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtTypeAndAnnotations
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtUnsupportedConstantValue
import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtPsiBasedSymbolPointer
import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer
import org.jetbrains.kotlin.analysis.api.types.KtType
@@ -97,7 +98,18 @@ internal class KtFe10PsiKotlinPropertySymbol(
get() = withValidityAssertion { false }
override val initializer: KtConstantValue?
get() = withValidityAssertion { descriptor?.compileTimeInitializer?.toKtConstantValue() }
get() = withValidityAssertion {
if (psi.initializer == null) {
return null
}
val compileTimeInitializer = descriptor?.compileTimeInitializer
if (compileTimeInitializer != null) {
return compileTimeInitializer.toKtConstantValue()
}
return KtUnsupportedConstantValue
}
override val isVal: Boolean
get() = withValidityAssertion { !psi.isVar }